制作ROS移动机器人地盘
摘要
本教程讲述如何利用扫地机*制作ROS移动机器人地盘。
概述
原本不打算自己造*的,但是网上的移动机器人地盘要么巨贵–对于学生党,要么巨简陋–编码器线数低于40线,根本不能满足ROS移动机器人的需要。为了锻炼自己的动手能力(这个借口看起来比较积极,能掩盖没钱的尴尬…),准备从零打造一款ROS移动机器人地盘。
扫地机轮组减速比大致是50左右,电机编码器15-20线,*转一周大概是1000个脉冲,测量精度够用。
通过L298N控制电机正反转,PWM调速,这里需要用到PID控制。
电池电源12V,直接输入到L298N,5V电源由L298N提供。
硬件需求
陀螺仪 | MPU6050/MPU9250 |
---|---|
驱动轮 | 扫地机驱动轮(12V) |
电机驱动模块 | L298N |
光电编码器驱动模块 | 自制 |
底盘主体 | 亚克力 |
控制器 | STM32 |
万向轮 | 牛眼轮 |
注意:
- 对于某些SLAM算法来说,陀螺仪不是必须的。
- 扫地机驱动轮大都是12V的,某宝上各式各样的都有。选择时请注意选择光电编码器的,线数比较高,精度比霍尔编码器好点;安装孔尽量要在同一平面上,因为最终是要安装到亚克力板上。
- 底盘的设计图需要用CAD绘制,你需要提前测量好轮组的尺寸。
- 控制器不一定必须是STM32,arduino控制器也是可以的,但是请注意单片机资源:控制器控制电机需要两路PWM输出,编码器需要两路外部脉冲计数,当然外部脉冲计数你可以用外部中断实现。
- 根据安装轮组后底盘的高度选择合适尺寸的万向轮,我这里选用的是牛眼轮,转向时的切向阻力比普通万向轮小点。
车体设计
如果你测量好了轮组尺寸,直接用CAD绘制亚克力底盘就可以,注意选择亚克力厚度,太薄装上电池会变形,5-6mm是不错的选择。
我设计了两层,底层装轮组、电池、控制器等,顶层装激光雷达、相机、超声波等传感器。
上下层之间连接你可以选用铜柱,但是个人感觉铜柱强度不太够,跑起来上层可能摇晃,因此选用玻璃的夹层柱。
底板设计图纸
这是顶层板设计图
制作完成后长这样,亚克力不透明是因为保护膜没撕掉。
电路设计
未完待续
程序设计
未完待续