机器人奇异点分析工具

机器人奇异点分析工具

  • [1️⃣ MATLAB Robotics System Toolbox(最稳最省事版本)](#1️⃣ MATLAB Robotics System Toolbox(最稳最省事版本))
    • [1. 获取方式(安装)](#1. 获取方式(安装))
    • [2. 验证是否安装成功](#2. 验证是否安装成功)
    • [3. 是否能正常使用(最小测试)](#3. 是否能正常使用(最小测试))
    • [4. 导入自己的 URDF(核心步骤)](#4. 导入自己的 URDF(核心步骤))
    • [5. Jacobian 自动计算](#5. Jacobian 自动计算)
    • [6. 奇异性分析(最常用)](#6. 奇异性分析(最常用))
    • [7. manipulability(推荐一起用)](#7. manipulability(推荐一起用))
    • [8. 一步到位:完整流程(建议直接用)](#8. 一步到位:完整流程(建议直接用))
    • [9. MATLAB 这一套的优点(为什么推荐)](#9. MATLAB 这一套的优点(为什么推荐))
    • [10. 适合什么阶段](#10. 适合什么阶段)
    • [11. 一句话总结](#11. 一句话总结)
  • [2️⃣ Robotics Toolbox for Python](#2️⃣ Robotics Toolbox for Python)
    • [1. 获取方式(安装)](#1. 获取方式(安装))
    • [2. 验证是否安装成功](#2. 验证是否安装成功)
    • [3. 是否能正常使用(最小测试)](#3. 是否能正常使用(最小测试))
    • [4. 奇异性分析](#4. 奇异性分析)
    • [5. 特点总结](#5. 特点总结)
  • [3️⃣ Pinocchio(强烈推荐,下一篇重点讲)](#3️⃣ Pinocchio(强烈推荐,下一篇重点讲))
    • [1. 获取方式(安装)](#1. 获取方式(安装))
    • [2. 验证是否安装成功](#2. 验证是否安装成功)
    • [3. 是否能正常使用(最小测试)](#3. 是否能正常使用(最小测试))
    • [4. URDF 导入](#4. URDF 导入)
    • [5. Jacobian 计算](#5. Jacobian 计算)
    • [6. 奇异性分析](#6. 奇异性分析)
    • [7. 特点总结](#7. 特点总结)
  • [4️⃣ Drake(MIT)](#4️⃣ Drake(MIT))
    • [1. 获取方式](#1. 获取方式)
    • [2. 验证是否安装成功](#2. 验证是否安装成功)
    • [3. 是否能正常使用](#3. 是否能正常使用)
    • [4. URDF 导入](#4. URDF 导入)
    • [5. Jacobian](#5. Jacobian)
    • [6. 奇异性分析](#6. 奇异性分析)
    • [7. 特点总结](#7. 特点总结)
  • [5️⃣ CasADi / SymPy(符号级工具)](#5️⃣ CasADi / SymPy(符号级工具))
    • [1. 获取方式](#1. 获取方式)
    • [2. 验证是否安装成功](#2. 验证是否安装成功)
    • [3. 最小测试](#3. 最小测试)
    • [4. 奇异性解析](#4. 奇异性解析)
    • [5. 特点总结](#5. 特点总结)
  • 总结

以下内容GPT生成

我希望实现

输入:关节拓扑 + 连杆长度(URDF/DH)→ 自动生成:Jacobian + 奇异性分析。


1️⃣ MATLAB Robotics System Toolbox(最稳最省事版本)

如果你只是想实现:

👉 输入 URDF / DH

👉 自动得到 Jacobian

👉 顺便做奇异性分析

那么 MATLAB 是目前最省心、最少踩坑的方案。


1. 获取方式(安装)

MATLAB 自带工具箱(非开源,需要授权)

打开 MATLAB:

复制代码
roboticsAddons

搜索:

复制代码
Robotics System Toolbox

点击安装即可


2. 验证是否安装成功

方法一:

复制代码
ver('robotics')

如果返回类似:

复制代码
Robotics System Toolbox

👉 说明安装成功


方法二(更直接):

复制代码
which geometricJacobian

👉 能找到函数路径 = OK


3. 是否能正常使用(最小测试)

直接跑一个最简单模型:

复制代码
robot = loadrobot('kinovaGen3');

q = homeConfiguration(robot);

J = geometricJacobian(robot, q, 'EndEffector');

disp(J)

👉 能输出矩阵 = Jacobian 正常


4. 导入自己的 URDF(核心步骤)

复制代码
robot = importrobot('humanoid.urdf');

show(robot)

👉 如果能正常显示模型 ⇒ URDF 没问题


5. Jacobian 自动计算

复制代码
q = homeConfiguration(robot);

J = geometricJacobian(robot, q, 'foot');

disp(J)

6. 奇异性分析(最常用)

复制代码
[U,S,V] = svd(J);

sigma_min = min(diag(S));

disp(sigma_min)

👉 越接近 0 ⇒ 越接近奇异


7. manipulability(推荐一起用)

复制代码
w = sqrt(det(J * J'));

disp(w)

👉 w → 0 ⇒ 奇异


8. 一步到位:完整流程(建议直接用)

复制代码
robot = importrobot('humanoid.urdf');

q = homeConfiguration(robot);

J = geometricJacobian(robot, q, 'foot');

[U,S,V] = svd(J);

sigma_min = min(diag(S));

w = sqrt(det(J * J'));

disp(sigma_min)
disp(w)

9. MATLAB 这一套的优点(为什么推荐)

✔ 不用自己推公式

✔ URDF 直接导入

✔ 自带可视化

✔ 几乎不会踩坑


10. 适合什么阶段

复制代码
✔ 初期结构验证
✔ Jacobian正确性检查
✔ 奇异性快速判断

11. 一句话总结

👉 MATLAB = "最省脑子的 Jacobian + 奇异性分析工具"


2️⃣ Robotics Toolbox for Python

如果你不想被 MATLAB 环境绑定,或者希望后续和 RL / 仿真(PyTorch / Mujoco / Isaac)打通,推荐使用:

👉 Robotics Toolbox for Python(Peter Corke)


1. 获取方式(安装)

官方 GitHub:

https://github.com/petercorke/robotics-toolbox-python

安装:

复制代码
pip install roboticstoolbox-python

2. 验证是否安装成功

复制代码
import roboticstoolbox as rtb
print(rtb.__version__)

输出版本号 ⇒ 安装成功


3. 是否能正常使用(最小测试)

复制代码
import roboticstoolbox as rtb

robot = rtb.models.DH.Puma560()
q = robot.qz
J = robot.jacob0(q)

print(J)

输出矩阵 ⇒ Jacobian 正常


4. 奇异性分析

复制代码
import numpy as np

U, S, V = np.linalg.svd(J)
print("sigma_min:", np.min(S))

5. 特点总结

✔ Python生态(可接RL)

✔ 上手简单

✔ 适合快速验证


3️⃣ Pinocchio(强烈推荐,下一篇重点讲)

👉 humanoid / legged robot 主流工具


1. 获取方式(安装)

官方 GitHub:

https://github.com/stack-of-tasks/pinocchio

官方文档:

https://stack-of-tasks.github.io/pinocchio/

推荐安装:

复制代码
conda install -c conda-forge pinocchio

2. 验证是否安装成功

复制代码
import pinocchio as pin
print(pin.__version__)

输出版本号 ⇒ 成功


3. 是否能正常使用(最小测试)

复制代码
import pinocchio as pin

model = pin.buildSampleModelManipulator()
data = model.createData()

q = pin.neutral(model)

pin.computeJointJacobians(model, data, q)

print("OK")

4. URDF 导入

复制代码
import pinocchio as pin

model = pin.buildModelFromUrdf("humanoid.urdf")
data = model.createData()

print(model.nq)

5. Jacobian 计算

复制代码
frame_id = model.getFrameId("foot")

J = pin.computeFrameJacobian(
    model,
    data,
    q,
    frame_id,
    pin.ReferenceFrame.LOCAL
)

print(J)

6. 奇异性分析

复制代码
import numpy as np

U, S, V = np.linalg.svd(J)
print("sigma_min:", np.min(S))

7. 特点总结

✔ 解析 Jacobian

✔ 支持 URDF

✔ humanoid 主流工具


4️⃣ Drake(MIT)

👉 系统级动力学工具


1. 获取方式

官网:

https://drake.mit.edu/

安装:

复制代码
pip install drake

2. 验证是否安装成功

复制代码
import pydrake
print("Drake loaded")

3. 是否能正常使用

复制代码
from pydrake.all import MultibodyPlant, Parser

plant = MultibodyPlant(time_step=0.0)
parser = Parser(plant)

print("OK")

4. URDF 导入

复制代码
from pydrake.all import MultibodyPlant, Parser

plant = MultibodyPlant(time_step=0.0)
parser = Parser(plant)

parser.AddModelFromFile("humanoid.urdf")

plant.Finalize()

5. Jacobian

复制代码
plant.CalcJacobianSpatialVelocity(...)

6. 奇异性分析

复制代码
import numpy as np

U, S, V = np.linalg.svd(J)

7. 特点总结

✔ 强动力学

✔ 支持接触

✔ 适合 humanoid


5️⃣ CasADi / SymPy(符号级工具)

👉 用于解析 Jacobian


1. 获取方式

官网:

https://web.casadi.org/

安装:

复制代码
pip install casadi

2. 验证是否安装成功

复制代码
import casadi as ca
print(ca.__version__)

3. 最小测试

复制代码
import casadi as ca

q = ca.SX.sym('q', 2)

x = ca.vertcat(
    ca.cos(q[0]) + ca.cos(q[0]+q[1]),
    ca.sin(q[0]) + ca.sin(q[0]+q[1])
)

J = ca.jacobian(x, q)

print(J)

4. 奇异性解析

复制代码
detJ = ca.det(J)
print(detJ)

5. 特点总结

✔ 符号推导

✔ 自动微分

✔ 适合论文


总结

复制代码
MATLAB → 快速验证
RTB-Python → 轻量分析
Pinocchio → 主力工具
Drake → 系统级
CasADi → 理论推导

相关推荐
机器觉醒时代2 小时前
RL Token:破解 VLA “最后一厘米”精度难题,在线强化学习实现机器人精准操控
人工智能·机器人·强化学习·具身智能·vla模型
机器人零零壹2 小时前
越擎科技发布机器人离线编程软件应用白皮书,阐述机器人装配工艺规划、离线编程与虚拟调试方案的原理及优势
机器人·机器人仿真·工业软件·虚拟调试·irobotcam·装配仿真·产线仿真
小O的算法实验室3 小时前
2026年IEEE TEVC,面向农业多机器人任务分配的自适应多目标任务划分算法,深度解析+性能实测
算法·机器人·论文复现·智能算法·智能算法改进
码农三叔5 小时前
(1-2)控制系统基础与人形机器人特点:人形机器人控制的特殊挑战
人工智能·机器学习·机器人·人形机器人
maxmaxma5 小时前
ROS2 机器人 少年创客营:Day 7
人工智能·python·机器人·ros2
大学有意思6 小时前
2026深度解析广西英华国际职业学院新能源汽车技术专业
人工智能·机器人
DC...6 小时前
【力控】混合位置 / 力控制
算法·机器人·力控
福客AI智能客服6 小时前
智能客服平台:AI人工智能客服机器人正在重构企业服务体系
人工智能·机器人
大学有意思7 小时前
广西英华国际职业学院新能源汽车技术专业2026年权威解析
人工智能·机器人