在机器人开发中, 首先要设计的就是移动机器人底盘, 需要根据机器人的应用场景来设计符合不同要求的移动底盘。 最为震惊的还是波士顿动力实验室设计的各种移动机器人。
差速驱动是一个两轮驱动的系统, 每个轮子都带有独立的执行机构 (如直流电机), 机器人的运动矢量是每个独立车轮运动的总和。对于差速驱动的机器人来说直线运动可能是比较困难的, 因为每个驱动轮是独立的, 一旦它们的转速不是精确相同的话, 机器人就会向一边偏离。
由于电动机轻微的速度差异、马达驱动系统的摩擦力差异以及轮子与地面的摩擦力差异, 实现驱动轮电动机以相同速率旋转是很困难的。 为了保证机器人直线运动, 有必要通过每秒多次的频率调整 PWM 值来调整电动机的 RPM。
PID 控制器 (比例 - 积分 - 微分控制器) 是一个在工业控制应用中常见的反馈回路部件, 由比例单元 P、积分单元 I 和 微分单元 D 组成。 PID 控制器的基础是比例控制, 用来调整系统的开环增益, 提高系统的稳态精度, 降低系统的惰性, 加快响应速度; 积分控制可消除稳态误差, 但可能增加超调; 微分控制可加快惯性系统响应速度以及减弱超调趋势。
全向轮底盘, 肯定离不开全向轮的了。 直接淘宝一搜 全向轮, 就知道是什么样的了。
需要三个轮子, 每两个轮子之间相差 120°, 车轮的安装方式决定了我们的运动学模型。 机器人控制的基础是运行学分析, 利用运动学分析, 可以得出机器人运动过程中各类参数的变化规律和相互之间的关系, 对这些参数进行控制, 才能使机器人在我们的控制下进行移动。
锂电池的选择是个比较麻烦的事情, 需要根据电机的额定电压和额定功率来定, 但是电机的额定功率又根据底盘的负载来考虑, 还有设计需求底盘的工作时间是多久, 工作时间越长那么选择电池的标称容量也就越大, 但是也会引起电池体积过大, 体积过大又引起重量增加又反过来影响底盘的负载, 所以需要多方面因素综合考虑来选择锂电池。 举个栗子:
一般包括 :
性价比好的使用 Arduino Mega2560, 采用 USB 接口的核心电路板, 具有 54 路数字输入输出, 适合需要大量 IO 接口的设计。 处理器黑心是 ATmega2560, 同时具有 54 路数字输入 / 输出口 (其中 16 路可作为 PWM 输出), 16 路模拟输入, 4 路 UART 接口。6 路外部中断: 2(中断 0), 3(中断 1), 18(中断 5), 19(中断 4), 20(中断 3), 21(中断 2)。 触发中断引脚可设置成上升沿、下降沿或者上升下降沿同时触发, 使用这些中断可以测量编码器脉冲个数, 进行车轮测速。
这里选择树莓派, 已经能成功的在树莓派上运行 ROS 系统。 这样就能将 Arduino 的板子接在树莓派上, 使用 arduino 作为 ROS 的一个节点, 这样就能组成一个完整的基于 ROS 控制的移动底盘。