Robocar控制器

Robocar控制器是一个移动应用程序,旨在为Donkey Car提供“无需命令”的用户体验。

封面

功能

  • 无需命令 - 无需SSH或文本编辑器
  • 内置热点
  • 在网络上搜索车辆
  • 实时校准
  • 虚拟摇杆
  • 数据可视化
  • 驾驶摘要
  • 免费GPU训练
  • 自动驾驶
  • 高级配置
  • 电池电量

要求

  • 带有Pi 4B的Donkey Car(Jetson Nano尚不支持)
  • 使用iOS或Android的手机

快速入门指南

IOS用户:点我 Android用户:点我

请参考这里的快速入门指南

如果您不想使用预构建的映像,则可以手动将服务器组件安装到Donkey Car上。请参阅下面的可选手动安装

功能详细信息

内置热点

当没有已知的Wifi网络可连接时,车辆将变成一个热点。连接手机到此热点后,您可以使用该应用程序将车辆配置为加入您想要的Wifi网络。

在网络上搜索车辆

一旦您的车辆连接到与手机相同的网络,应用程序将扫描整个网络以发现它。该应用程序还会显示车辆的IP地址,以防您想通过SSH连接到它。

搜索车辆

实时校准

有时,如果车辆行驶过快或不直线行驶,这可能会非常烦人。校准界面可以帮助您找到正确的设置,以使您的车辆能够正确校准。通过增强的校准功能,更改将实时生效,您可以立即观察到变化。

实时校准

虚拟摇杆

虚拟摇杆提供了一种快速测试驾驶车辆的方式,如果您没有物理游戏手柄控制器。它还实时传输从摄像头捕获的视频。您只需看屏幕就可以开始驾驶。

驾驶摘要

该应用程序呈现了一个驾驶摘要,包括直方图、收集的图像的大小和数量。直方图是通过在Donkey Car软件中调用tubhist函数自动生成的。

驾驶摘要

数据可视化

该应用程序显示您在Pi上收集的所有数据(tubs)和元数据。元数据包括图像数量、tub的大小、分辨率、直方图和位置。该应用程序将使用Donkey makemovie命令生成视频,以便您可以查看数据的外观。

数据

免费GPU训练

使用该应用程序的用户可以进行免费的GPU训练。您可以通过选择要训练的数据(tubs)来训练模型。数据将上传到我们的服务器以开始训练过程。训练完成后,应用程序将显示训练损失和准确性图表。同时,应用程序将下载模型到您的车辆,您可以立即测试该模型。

注意:我们会在一段时间内保留数据和模型。之后,我们将从存储中删除它们。

训练

关于免费GPU训练的更多信息

我们使用AWS g4dn.xlarge 实例来训练模型。它配备了NVIDIA T4 GPU,最高可达16GB的GPU内存。将批处理大小增加到256或更大,以充分利用强大的GPU。

限制

注意:为了保护我们的设备免受滥用,我们对使用训练服务有以下规定:

  • 每次训练最长限制为15分钟。如果训练超过15分钟,训练作业将超时。
  • 每个设备每24小时最多可训练5次。
  • 每次训练的最大数据大小为100MB。

自动驾驶

该应用程序将列出Pi内部的所有模型,无论是从训练函数生成的还是只是复制到Pi上的模型。您可以使用与驾驶界面类似的界面启动自动驾驶模式。

高级配置

Donkey Car软件提供了丰富的配置选项供您进行实验。我们已经包含了一些您可能想要更改的流行选项。

  • 摄像头尺寸
  • 训练配置
  • 驱动训练设置

高级配置

电池电量

如果您使用的是MM1,该应用程序将以百分比显示当前电池电量。我们还添加了一个操作系统调整,如果电池电量低于7V,系统将自动关闭。

即将推出的功能

  • 显著可视化
  • 根据电池电量自动补偿油门
  • 迁移学习

报告问题

如果您遇到问题,请在此GitHub项目上提交问题。

可选手动安装

如果您无法或不想使用预构建的SD映像来安装Donkey Car,则可以手动将服务器组件安装到Donkey Car上。Donkey Car控制台是Donkey Car的管理软件,提供基于REST的API来支持Donkey Car移动应用程序。

注意:此软件目前仅支持RaspberryPi 4B

1. 完成RaspberryPi的设置

2. 克隆Donkey Car控制台项目

git clone https://github.com/robocarstore/donkeycar-console
sudo mv donkeycar-console /opt
cd /opt/donkeycar-console

3. 安装依赖项

pip install -r requirements/production.txt

4. 运行初始化脚本以设置数据库

python manage.py migrate

5. 测试服务器是否正常运行

python manage.py runserver 0.0.0.0:8000

访问 http://your_pi_ip:8000/vehicle/status。如果返回没有错误的内容,则表示正常运行。

6. 将服务器安装为服务

sudo ln -s gunicorn.service /etc/systemd/system/gunicorn.service

7. 在手机上安装移动应用程序

确保您的手机与Pi连接到同一网络(如果无法连接,请尝试关闭手机数据)。启动移动应用程序,您可以使用移动应用程序搜索您的车辆。

常见问题解答

  • 为什么该应用程序被称为Robocar Controller而不是Donkeycar Controller?

我们很想将该应用程序称为Donkeycar Controller,但是苹果不允许我们这样做。我们正在与Adam合作,向苹果提交证明,证明我们可以在应用程序中使用Donkeycar商标。与此同时,我们将使用Robocar Controller这个名称。

商业用途

该应用程序由Robocar Store开发。如果您计划使用该应用程序赚钱,请遵循Donkey Car的指南,并发送电子邮件至Robocar Store