Arduino高级应用 | 高精度自动导航的越野平衡小车

2017-03-206.3万
精华项目
AI 快速预览详细 收起
高精度自动导航的越野平衡小车是一款基于Arduino和APM自动驾驶仪的自平衡机器人。它通过3D打印、电机和车轮等组件,结合惯性测量单元(IMU)和车轮编码器,实现自平衡和自主导航。项目难度较难,适合有一定基础的用户。整个制作过程包括材料搜集、3D打印车体部件、组装电机、电路连接、车体组装和编程。完成后,可以使用无线遥控器控制,或者通过GPS给定一个自主任务。
翻译、编辑:Sophie
资料来源:http://makezine.com

作为Arduino机器人爱好者,你是不是一直梦想造一台酷炫的小车?有位爸爸为了满足儿子的户外愿望,就制作了一辆平衡小车的越野升级版,能够自动导航,适应各种不平坦地形,还能爬坡!




作品基本介绍
======================================

Arduino高级应用 | 高精度自动导航的越野平衡小车图12

项目名称:高精度自动导航平衡小车
制作时长:3-8小时
制作成本:$400-$500
难度等级:较难

ArduRoller 是一款自平衡、防摔倒、能够快速识别障碍并进行自主导航的机器人,它超越了以往的传统小车,在多方向识别、不平坦地形以及斜坡场景下均可使用。

自平衡小车的核心是惯性测量单元(IMU,inertial measurement unit),一个IMU包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。这9个传感器以每秒高于1000次的取样频率,再结合一种叫DCM的数学滤波器,水平相对较高的编码将能够通过DCM获取角度和旋转速率等数据以实现平衡。

为了让小车实现导航,必须精确地知道小车的位置以及它将要去的地方。但是GPS只能精确到几米,而小车需要更高的精确性,车轮编码器允许到厘米级的精度,是GPS很好的补充。

作者选用了3D Robotics的APM 2.5自动驾驶仪,因为它集成了所有需要的传感器,所有的软件都是免费和开源的,制作起来也很方便。基于DIY 无人机社区开发的ArduPilot系统,能够快速完成自动导航的小车机器人。

图文教程专区
======================================

       1. 材料搜集:电机和车轮
选用带有编码器单元的有刷直流电机( brushed DC motors),34-1齿轮减速机能够有效增加扭矩。另外,越野车轮能够帮助小车适应各种不平坦的地形。
Arduino高级应用 | 高精度自动导航的越野平衡小车图1
Arduino高级应用 | 高精度自动导航的越野平衡小车图6

2.  3D打印车体部件

车体部件的3D模型文件可在Thingiverse网站上下载。

Arduino高级应用 | 高精度自动导航的越野平衡小车图2

3.组装电机

在3D打印基座中安装电机,为了防止电机松动可以使用热熔胶。
Arduino高级应用 | 高精度自动导航的越野平衡小车图3

4.电路连接

如图所示,电子部件包括APM开源自动驾驶仪、电机、逻辑电平转换器、Arduino迷你板等;将GPS模块和遥控无线电模块连接以实现自动运行;为了实现对小车的手动控制,需要增加R/C接收器,再将APM模块的跳线与PPM模块相连。
(注:电路图中的部分元器件来源SparkFun,用户可根据情况自行选择类似的硬件替换。)
Arduino高级应用 | 高精度自动导航的越野平衡小车图7
Arduino高级应用 | 高精度自动导航的越野平衡小车图8
将电子部件固定在泡沫板上;将主板与电机相连;整块泡沫板放入车体中部;要确保自动驾驶仪的“正面”箭头直立放置。
Arduino高级应用 | 高精度自动导航的越野平衡小车图9

5.车体组装

整个车体分为三个部分,将其各自组合起来;电池隐藏在最上面的圆拱形装饰底部;可以在小车的侧面增加一个开关;安装越野车轮;车体内部的LED亮的时候可以透过有机玻璃看到里面的电路;安装遥控无线电模块,可用于接收远程任务或者直接控制小车。
Arduino高级应用 | 高精度自动导航的越野平衡小车图13
Arduino高级应用 | 高精度自动导航的越野平衡小车图4

6.编程(点击阅读原文查看完整下载路径)

点此下载源文件(APM 2.5 or 2.6)并且上载到APM模块,使用修改过的Arduino IDE—点此下载ArduPilot-Arduino (Windows or Mac)

点此下载车轮编码源文件(Arduino Pro Mini),然后使用正常的Arduino IDE上载至Arduino Pro Mini板;
如果要实现自主任务,可以使用Mission Planner( PC版,只适用于Windows  )或者DroidPlanner 2(安卓版)。

7.使用

整个小车制作完成后可以使用无线遥控器进行控制,或者通过GPS给定一个自主任务。
Mission Planner 软件能够帮助你使用谷歌地图追踪小车的路径、速度和方向,运行你自己的Python文件,下载和分析任务日记等等。
可以给小车增加一个视频发射模块,或者用GoPro录制高清视频,甚至增加声呐这样小车就能完全实现避障功能!
Arduino高级应用 | 高精度自动导航的越野平衡小车图5
Arduino高级应用 | 高精度自动导航的越野平衡小车图10

关于作者

Jason Short 是3D机器人公司(3D Robotics)的设计总监,他有着超过20年的产品设计经验,曾为HTC、三星、索尼、LG等公司从事消费级产品设计和用户体验研究的相关工作。2009年他协助开发了ArduPilot,一款适用于R/C飞行器的开源自动驾驶仪。随后2010年他又发明了无人驾驶直升机 ArduCopter并在全球受到广泛使用。
Arduino高级应用 | 高精度自动导航的越野平衡小车图11

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(21)
EasyR
EasyR
楼上的大神们,我也想复制一个,但是帖子的代码链接都失效了,谁方便能发我一套代码吗或者下载链接吗,感谢!ckkcust@126.com
派大星ym
派大星ym
,,,,
派大星ym
派大星ym
学到了学到了
糖醋花生
糖醋花生
好帅,可以做个军团,更好玩
68E7qYNdSJfL
68E7qYNdSJfL
仿造一个失败了
AC
AC回复EasyR
您好,编程可以分享下吗?谢谢您
EasyR
EasyR回复68E7qYNdSJfL
您好,请问您还有复现的代码吗,我打开代码链接现在都是失效的了,谢谢您。如果还有能发我一套吗[email]ckkcust@126.com[/email]
DFS1w2cb8o8
DFS1w2cb8o8
请问图中的硬件在哪买
20060606
20060606
GPS自主任务怎么设定的?
20060606
20060606
电机是550电机还是380电机?
1528
1528
哇啊 我真的好喜欢呀 做的真不错呀 非常棒
小马1
小马1
哇啊 我真的好喜欢呀 做的真不错呀 非常棒
童13701465680
童13701465680
哪位大师能指点我做这个东西啊13701465680童
xiaoqingrong
xiaoqingrong
车轮的程序上传解决不了?大神帮帮忙。
xiaoqingrong
xiaoqingrong
遥控怎么弄呢
svw
svw
APM 2.5自动驾驶仪哪里哪里有卖?
sophie
sophie
作者
回复svw
你可以访问ArduPilot的官网试试
andbot
andbot
仿造了一个失败了:L
童13701465680
童13701465680回复andbot
你好你在哪里买的材料啊
童13701465680
童13701465680回复andbot
你好 能加我微信吗 跟你学学怎么做13701465680童
面包板
面包板
平衡还能越野呢
sophie
sophie
作者
回复面包板
哈哈,因为轮子不错!
gada888
gada888
这个减速电机带码表的吗?
20060606
20060606回复gada888
带红外编码器
sophie
sophie
作者
回复gada888
目测是木有呢
z586
z586
是啊,车真心不错!轮子在什么地方买的啊?
hnyzcj
hnyzcj
车也挺好
hnyzcj
hnyzcj
轮子挺好