F
Member
做机械臂控制,最先要弄清楚关节空间与笛卡尔空间之间的映射。
一、正运动学。 给定各关节角,求末端执行器的位置和姿态。它是确定的:沿着连杆依次相乘齐次变换矩阵即可。常用 DH 参数描述相邻连杆的几何关系,注意存在标准 DH 与改进 DH 两种约定,公式不同,混用会得到错误结果。
二、逆运动学。 给定末端位姿,求关节角。它可能有多组解(如“肘上/肘下”)、无解(超出工作空间)或无穷多解(冗余自由度)。对 6 轴机械臂,若后三轴轴线交于一点(球形手腕),通常可以得到解析解;否则多采用数值迭代方法。
三、雅可比矩阵。 它描述关节速度与末端速度的线性映射 v = J(q)·q̇,也可用于力与关节力矩的转换(τ = Jᵀ·F)。
四、奇异点。 当雅可比矩阵降秩时,机械臂在某些方向上失去运动能力,求逆时对应的关节速度会趋向很大。常见的有肩部、肘部伸直和腕部奇异。工程上会在路径规划时避开奇异区,或使用阻尼最小二乘法(DLS)等方法在奇异点附近限制关节速度,同时要处理关节限位与速度、加速度约束。
五、工程提示。 实际项目里,建议先在仿真环境中验证逆解与轨迹,再下发到真机;同时要把关节限位、速度限制和碰撞检查放进同一套规划流程,并在末端姿态表示上统一使用四元数或旋转矩阵,减少欧拉角带来的万向节问题。
讨论问题:
1. 你们做逆解时用解析解还是数值解?数值解怎么保证实时性与解的连续性?
2. 在 ROS 生态里,MoveIt 等工具的逆解插件在实际项目中表现如何?
3. 路径经过奇异点附近时,你们有哪些规避或处理手段?
一、正运动学。 给定各关节角,求末端执行器的位置和姿态。它是确定的:沿着连杆依次相乘齐次变换矩阵即可。常用 DH 参数描述相邻连杆的几何关系,注意存在标准 DH 与改进 DH 两种约定,公式不同,混用会得到错误结果。
二、逆运动学。 给定末端位姿,求关节角。它可能有多组解(如“肘上/肘下”)、无解(超出工作空间)或无穷多解(冗余自由度)。对 6 轴机械臂,若后三轴轴线交于一点(球形手腕),通常可以得到解析解;否则多采用数值迭代方法。
三、雅可比矩阵。 它描述关节速度与末端速度的线性映射 v = J(q)·q̇,也可用于力与关节力矩的转换(τ = Jᵀ·F)。
四、奇异点。 当雅可比矩阵降秩时,机械臂在某些方向上失去运动能力,求逆时对应的关节速度会趋向很大。常见的有肩部、肘部伸直和腕部奇异。工程上会在路径规划时避开奇异区,或使用阻尼最小二乘法(DLS)等方法在奇异点附近限制关节速度,同时要处理关节限位与速度、加速度约束。
五、工程提示。 实际项目里,建议先在仿真环境中验证逆解与轨迹,再下发到真机;同时要把关节限位、速度限制和碰撞检查放进同一套规划流程,并在末端姿态表示上统一使用四元数或旋转矩阵,减少欧拉角带来的万向节问题。
讨论问题:
1. 你们做逆解时用解析解还是数值解?数值解怎么保证实时性与解的连续性?
2. 在 ROS 生态里,MoveIt 等工具的逆解插件在实际项目中表现如何?
3. 路径经过奇异点附近时,你们有哪些规避或处理手段?