1. MatLab 机械臂建模
1.1. Robotics Toolbox For Matlab 相关 API
Link 对象:
用于描述每一个关节及其连接的连杆的几何与物理特征
L = Link('alpha',α, 'a',a, 'offset',θ, 'd',d, 'modified');:'modified'表示使用改进 DH 参数法定义连杆L,注意参数要用键值对定义否则 θ 无效L.revolute() / L.prismatic(): 强制指定为 旋转关节 或 移动关节L.qlim = [min max]: 设置运动限位(旋转关节为弧度、移动关节为米)L.offset = value: 设置关节的初始零位偏移L.A(q): 当前连杆相对于前一个连杆的 4x4 变换矩阵赋值给qL.mL.rL.I分别定义连杆的 质量 质心坐标 惯性矩阵
SerialLink 对象:
用于将多个
Link对象串联起来,并执行整体的运动学和动力学算法。robot = SerialLink([L1, L2, ...], 'name', 'test');: 将连杆组合并命名,生成 机械臂对象,其中'name', 'test'是名称键值对robot.display(): 在命令行展示该机器人的 DH 参数表 与结构信息T = robot.fkine(q);: 正运动学 (Forward Kinematics):输入关节角数组q,返回末端位姿的 4x4 齐次变换矩阵q = robot.ikine(T);: 逆运动学 (Inverse Kinematics):根据给定的末端位姿矩阵T,利用数值迭代法求出对应的 关节角数组q = robot.ikine6s(T);: 逆运动学解析解:专用于 6 轴且满足手腕汇聚条件的机器人,计算速度极快且精确J = robot.jacob0(q);: 雅可比矩阵 (Jacobian):计算在q位姿下,相对于 基座坐标系 的雅可比矩阵
仿真、可视化与轨迹规划:
用于在 MATLAB 中直观观察机器人运动并生成平滑路径
robot.plot(q);: 在图形窗口中 绘制 机械臂在q位姿下的三维模型robot.teach();: 启动 GUI 交互界面,通过滑块手动实时控制各个关节转动[q, qd, qdd] = jtraj(q_start, q_end, steps);: 关节空间轨迹规划:生成从起点到终点的平滑关节位置、速度、加速度序列Tc = ctraj(T_start, T_end, steps);: 笛卡尔空间轨迹规划:在两个位姿矩阵之间生成直线插值的位姿序列
常用辅助工具函数:
T = transl(x, y, z);: 创建一个仅包含 平移 的 4 \times 4 齐次变换矩阵T = trotx(angle);: 创建一个绕 X 轴旋转 的 4 \times 4 齐次变换矩阵(同样有troty和trotz)r = tr2eul(T);: 将齐次变换矩阵转换为 欧拉角p = transl(T);: 从齐次变换矩阵中提取出 位置向量 (x, y, z)
这是关于赞助的一些描述
- 本文链接:https://kaede-rei.github.io/learning-path/arm-motion-control/phase-1/1-4
- 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 许可协议。