十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

[具身智能-811]:为什么运动控制系统大量用相对位置,而不是绝对位置

[具身智能-811]:为什么运动控制系统大量用相对位置,而不是绝对位置 为什么运动控制系统大量用相对位置而不是绝对位置通俗理解绝对位置从原点零点算起离起点多远。相对位置在上一步当前位置基础上再走多少。举小车例子绝对走到 X1000 的地方以开机原点为 0相对从现在的位置再往前走 200 个脉冲1、核心原因 1硬件天然适合做增量运动绝大多数电机反馈是增量编码器JGB37‑520 这类带 AB 相编码器。 增量编码器不记忆绝对坐标只能检测「转了多少、变化了多少」断电之后坐标直接丢失。上电那一刻MCU 只知道电机转了多少不知道自己在世界坐标系哪个绝对坐标。这种硬件天生擅长算变化量相对不是天生知道全局绝对位置。对比绝对编码器才可以直接读出绝对位置成本高机器人小车很少用。2、核心原因 2控制算法PID本质处理的是「误差」误差就是相对量PID 闭环输入是目标值 − 当前实际值 误差差值相对量。举例子 当前轮子脉冲5000 希望再转 300 脉冲目标 5000300 5300 PID 只管我和目标还差多少去消除这个差值。不管你现在身处世界哪个绝对坐标PID 只关心本次要移动多少偏移量。运动控制器底层绝大多数都是接收相对位移再内部叠加得到绝对坐标。3、核心原因 3工程安全性抗扰动、容错更好场景 A相对位置模式“从当前点向前移动 500 脉冲”不管你现在在哪只执行增量动作。如果中途被人手推一把扰动闭环会修正补够这 500 脉冲。场景 B直接下发绝对位置“直接去到绝对坐标 8000”如果开机原点找错、零点漂移、编码器丢脉冲整个坐标体系全部错乱直接跑到错误位置撞机。现实工程很多控制器内部底层跑相对运动上层导航 / 规划输出绝对位姿控制器内部自动换算成相对增量去执行。4、核心原因 4指令简单分段运动容易实现机器人连续动作前进→右转→前进。 每一步只需要下发本次要走多少相对不需要每次都计算全局世界坐标。比如麦克纳姆轮小车当前位姿 (x,y,θ)接下来向前移动 0.2m。 上层算出增量 Δx0.2Δy0Δθ0下发增量给运动板。 运动板不需要理解全局地图只负责把这一段增量运动走完。5、什么时候才用绝对位置需要明确固定空间点位充电桩对接、机械臂抓取点、回零。使用绝对位置前一般要先回零找原点建立全局坐标系。如果没有正确原点绝对位置指令毫无意义。6、一句话总结增量编码器硬件只能感知变化量天然适配相对位置PID 闭环算法计算的就是差值误差本身就是相对量相对运动对零点错误、扰动更鲁棒不容易直接撞机上层规划输出绝对目标运动控制器内部会转为相对增量执行。补充一个常见坑 很多人以为给 STM32 运动板发X1.0m绝对坐标板子直接跑。 实际底层板子拿到绝对目标减去当前实际位置算出相对位移 Δ再跑增量闭环。
返回列表