Donkeycar 项目介绍
Donkeycar 是一个用 Python 编写的自动驾驶库,以其简约和模块化的特点而闻名。这个项目主要面向爱好者和学生,旨在让他们能够快速进行实验和轻松地做出社区贡献。Donkeycar 在中学和大学的学习和研究中被广泛使用。此外,它还提供了丰富的图形界面和模拟器,即使在搭建实体机器人之前,也可以进行自动驾驶的实验。
Donkeycar 的主要功能
使用 Donkeycar,用户可以:
- 搭建机器人并教会它自我驾驶。
- 实验自动驾驶、GPS、计算机视觉和神经网络等技术。
- 参与诸如 DIY Robocars 的自动驾驶比赛,甚至可以通过在线模拟器与全球其他竞争者进行比赛。
- 加入一个充满活力的在线社区,在学习尖端技术的同时享受乐趣。
入门要求
Donkeycar 的设计理念是成为自动驾驶的 "Hello World",其简单易用但功能强大。使用 Donkeycar 不需要特定的前置知识,不过有以下几个方面的背景知识会更有帮助:
Python 编程
虽然使用 Donkeycar 不需要编程技能,但其配置文件 myconfig.py
是一个 Python 文件。用户在配置过程中可能需要了解 Python 的注释和缩进,这样可以避免常见错误。
树莓派
树莓派是 Donkeycar 的首选板载计算机,虽不必一定使用过,但是了解其设置和操作会很有帮助。Donkeycar 的文档详细介绍了在树莓派上安装软件的方法。
Linux 命令行
命令行是进行软件安装和启动的工具。了解文件系统的导航以及如何列出、复制和删除文件和文件夹会有所帮助。用户可能还需要了解如何通过 WiFi 做远程访问以及如何开启和使用 SSH 终端或 VNC 会话。
如何驱动
构建一个 Donkeycar 并安装相应的软件后,用户可以选择自动驾驶模板并校准他们的车,以开展驾驶体验。不过,若想为车辆添加特定功能,则需要修改车辆模板或创建新的。
修改车辆行为
Donkeycar 提供了一系列预构建的模板,非常方便开始使用。模板实际上是按顺序执行的一系列软件模块,每个模块读取输入并将输出写入车辆的软件内存。具体来说,一个典型的 Donkeycar 包括以下模块:
- 来自相机的图像获取,该系统支持多种类型的相机,包括 3D 相机和激光雷达。
- 从 GPS 接收器获取位置读取。
- 从游戏控制器或遥控器获取转向和油门输入,支持多种类型的控制器。
- 控制汽车驱动链的电机,用于加速和转向。
- 保存遥测数据,如相机图像、转向和油门输入、激光雷达数据等。
- 使用深度学习、自主驾驶路径跟随或计算机视觉进行自动驾驶。
如果现有模块无法满足需求,用户还可以编写自己的模块并将其添加到现有模板中。
Donkeycar 项目为用户提供了开展自动驾驶实验的机会,无论是初学者还是经验丰富的开发人员,都能从中获益匪浅。通过 Donkeycar,任何人都可以轻松体验自动驾驶技术的魅力。