DIY Donkey Car: 使用Arduino L298N进行无人驾驶改造

2 下载量 129 浏览量 更新于2024-08-31 1 收藏 246KB PDF 举报
"Donkey Car 是一个开源项目,适合初学者入门无人驾驶技术。它通常用于改造遥控小车,但此文章特别关注的是基于Arduino L298N的DIY小车搭建。在该项目中,作者遇到了Donkey Car 源码不适应L298N驱动的问题,因为原代码是为PC9685驱动无刷电调设计的。通过自我研究和修改代码,作者成功地使Donkey Car 能够控制由树莓派4、Arduino、L298N、舵机和直流碳刷电机组成的DIY小车。文章详细介绍了如何烧录Arduino程序、测试舵机校准程序以及如何修改Donkey Car 的相关Python代码(如actuator.py、manage.py和config.py)以适应新的硬件配置。" Donkey Car 是一个开源的无人驾驶平台,主要用于教育和实验目的。在这个项目中,用户可以改造普通的RC小车,将其转变为一个能通过机器学习进行自动驾驶的装置。对于本文所提到的基于Arduino L298N的DIY小车,Arduino作为一个微控制器,负责处理和执行来自Donkey Car软件的指令。L298N是一款双H桥驱动器,能够控制直流电机的正反转和速度。 烧录Arduino程序是整个流程的第一步,需要使用StandardFirmata协议,这是一个通用的Python与Arduino之间通信的协议。通过Donkey Car 提供的测试页面和指示,用户可以将特定的固件烧录到Arduino板上,以便后续的通信和控制。 舵机校准程序是确保小车转向精确的关键步骤。在连接好舵机电源和信号线后,通过终端运行`donkeycalibrate`命令,指定Arduino的通道号(如通道6),系统会自动调整舵机的范围,使其能够在0-180度之间平稳转动。 接下来,为了使Donkey Car 的软件适配L298N驱动的直流电机,作者需要修改几个关键的Python脚本。`actuator.py`是控制执行器的代码,可能需要更新电机控制逻辑以适应L298N的PWM信号控制。`manage.py`通常是管理训练过程和数据收集的主要脚本,可能需要调整以配合新的硬件设置。`config.py`则包含项目的配置信息,如传感器设置、电机参数等,必须根据实际硬件进行准确配置。 在完成这些修改后,Donkey Car 就可以正常运行了,通过图像、油门和转向三个参数的训练,实现小车的自主驾驶。这篇文章不仅提供了一种DIY无人驾驶小车的方法,还展示了如何克服源代码与实际硬件不匹配的问题,对于那些希望自定义硬件的Donkey Car 用户来说,是一份宝贵的参考资料。