基于Ardupilot开源代码的无人车开发计划
基于Ardupilot开源代码的无人车开发计划
本文作者分享了基于Ardupilot开源代码开发Rover(无人车)的计划和思路。从项目背景、技术选型到硬件清单和系统架构,内容详尽且专业,适合对开源硬件和无人机感兴趣的读者。
1. 项目背景
最近在研究无人机相关的内容,但重点不是穿越机。个人感觉穿越机和无人机最大的不同在于定位的目标人群差异。有点像买车的时候,有人选择Toyota GR86追求操控,而有的人选择沃尔沃S60追求安全和舒适。穿越机更注重操控,而无人机则更注重安全和舒适。
从穿越机转向无人机,安全性是一个至关重要的问题。车子出现问题可以踩刹车,但飞机在空中没有刹车,刹停就会掉下来。因此,本着安全的原则,决定先入手一台Rover来尝试无人车。
本着DIY的精神,选择不购买成品,而是自己组装,以追求性价比。因此选择了ArduRover这个高性价比的开源项目。
2. 技术思路
ArduRover虽然看起来很高大上,但其实资料并不复杂,因为有官方指南《ArduPilot Rover》。然而,光有指南并不够,还需要解决实际硬件兼容性和配置问题。
通过研究开源代码,包括BetaFlight、PX4、ArduPilot和iNav等,发现了一个问题:虽然有丰富的资料,但实际操作中还是需要解决硬件兼容性问题。因此,决定向社区的大佬们请教:
- 这些电机是否兼容ArduRover 4.5?
- 如何选择和配置ESC(电子速度控制器)和电机?
虽然大佬们可能不熟悉中文,但只要问题明确,还是可以获得帮助的。
3. 硬件清单
既然整体逻辑已经清晰,接下来就是整理具体的硬件清单:
3.1 底盘
3.1.1 底盘架子
3.1.2 电机参数
3.1.3 编码器参数
3.1.4 舵机参数
3.2 电子部件
- 飞控:支持Ardupilot
- 有刷电调:支持2S~3S;双路双向;可独立控制;
- FPV摄像头:Foxeer Micro Toothless 2 FOV Switchable FPV StarLight Camera 1/2" Sensor Super HDR
- 模拟图传:PandaRC VT5804M L1 (Buzzer/Mic/IRC Protocol) 5.8G
- 遥控接收机:ELRS915MHz接收机
- 遥控发射机:ELRS915MHz发射机
- 遥控器:TX12 Mark II Radio Controller
- 图像接收机:Foxeer Wildfire 5.8GHz 72CH Dual Receiver
- 眼镜:Fatshark FPV Goggles
- GPS:BN880
- 高清摄像头:Raspberry Pi OV5647
- 伴机电脑:Raspberry Pi 3B+
- 地面站:Redmi Note 5A
- 动力电池:3S Lipo Battery 11.1 V 2200MAH 30C
- 机载UPS:Li-ion Battery HAT for Raspberry Pi
相对于四轴无人机,无人车有一些不同的特点,特别是有刷电调和APM飞控的选择:
3.2.1 有刷电调
3.2.2 APM飞控
- Aocoda-RC H743Dual
- KAKUTE F7 AIO
3.3 系统框图
注:期望能够把最近这套OpenIPC给整合进去,如果能拿到4GLTE的模块,就一起整活!!!
4. 总结
通过这段时间对遥控车的了解,发现遥控模型车大致可以分为几类:
- 纯玩具车:遥控器+接收机通过PWM控制电机或伺服器
- FPV玩具车:遥控器+手机+接收机通过PWM控制电机或伺服器
- ROS机器人:各种机器人软件,主要围绕ROS机器人系统
而作者希望打造的是基于Ardupilot开源的ArduRover,拥抱APM这个生态圈,主打生态+开源+简单系统。为了和四轴无人机采用类似的框架,选择了伴机电脑+APM+Rover的方式。希望尽快搭建完成,去外面测试!
感兴趣的朋友可以先参考ArduRover的相关资料:
- ArduPilot开源代码之CompanionComputer上天计划
- ArduPilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
- ArduPilot开源飞控之lida2003套机+伴机电脑首飞