创建您的车辆应用程序
如果您还没有这样做,请通过SSH连接到您的车辆。
从模板创建Donkeycar
使用以下命令创建一组文件来控制您的Donkey车辆 createcar :
donkey createcar --path ~/mycar
这将使用默认的深度学习模板创建一个车辆。您还可以创建一个使用GPS路径跟踪模板的车辆:
donkey createcar --template=path_follow --path ~/mycar
您还可以创建一个使用计算机视觉模板的车辆:
donkey createcar --template=cv_control --path ~/mycar
mycar
不是一个特殊的名称,您可以将您的车辆文件夹命名为任何您想要的名称。
请参阅更多关于创建车辆的信息。
配置选项
查看您新创建的目录~/mycar
中的myconfig.py
文件:
cd ~/mycar
nano myconfig.py
每行都有一个注释标记。注释的文本显示了默认值。当您想要进行编辑以覆盖默认值时,通过删除#
和选项的第一个字符之前的任何空格来取消注释该行。
例如:
# STEERING_LEFT_PWM = 460
变成:
STEERING_LEFT_PWM = 500
在编辑后。您将在校准部分中进行调整。
配置I2C PCA9685
如果您使用的是PCA9685舵机驱动板,请确保您可以在I2C上看到它。
Jetson Nano:
sudo usermod -aG i2c $USER
sudo reboot
重启后,尝试:
sudo i2cdetect -r -y 1
树莓派:
sudo apt-get install -y i2c-tools
sudo i2cdetect -y 1
这应该显示一个地址网格,类似于:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
在这种情况下,40显示为我们的PCA9685板的地址。如果没有显示出来,请检查与板子的连线。在树莓派上,请确保在sudo raspi-config
的菜单中启用了I2C(注意,它建议重新启动)。
如果您为您的板子分配了非标准地址,请在myconfig.py
文件中的PCA9685_I2C_ADDR
变量下调整地址。如果您的板子在另一个总线上,您可以使用PCA9685_I2C_BUSNUM
指定该总线。
Jetson Nano:在您的__myconfig.py__中设置PCA9685_I2C_BUSNUM = 1
。对于树莓派,这将由Adafruit库自动检测。但Jetson Nano上不会自动检测。
Sombrero设置
如果您有一个sombrero板,请在__myconfig.py__中设置HAVE_SOMBRERO = True
。
Robo HAT MM1设置
如果您有一个Robo HAT MM1板,请在__myconfig.py__中设置HAVE_ROBOHAT = True
。还根据您的设置设置以下变量。大多数人将使用以下值,但如果您使用的是Jetson Nano,请设置MM1_SERIAL_PORT = '/dev/ttyTHS1'
。
# ROBOHAT MM1
HAVE_ROBOHAT = True # 设置为True,当使用Robotics Masters的Robo HAT MM1时,这将改变为RC控制。
MM1_STEERING_MID = 1500 # 如果您的车不能直线行驶,请调整此值
MM1_MAX_FORWARD = 2000 # 最大正向油门。值越大,速度越快
MM1_STOPPED_PWM = 1500
MM1_MAX_REVERSE = 1000 # 最大反向油门。值越小,速度越快
MM1_SHOW_STEERING_VALUE = False
# 串口
# -- 树莓派默认: '/dev/ttyS0'
# -- Jetson Nano: '/dev/ttyTHS1'
# -- Google coral: '/dev/ttymxc0'
# -- Windows: 'COM3',Arduino: '/dev/ttyACM0'
# -- MacOS/Linux: 请使用'ls /dev/tty.*'查找正确的串口,例如'/dev/tty.usbmodemXXXXXX',然后相应地替换端口
MM1_SERIAL_PORT = '/dev/ttyS0' # 用于读取和发送MM1数据的串口(树莓派默认)
# 将控制器类型设置为Robohat MM1
CONTROLLER_TYPE = 'MM1'
# 调整Web界面的驱动类型
DRIVE_TRAIN_TYPE = 'MM1'
Robo HAT MM1使用RC控制器和CircuitPython脚本在训练期间驱动车辆。在继续之前,您必须使用计算机将CircuitPython脚本放入Robo HAT MM1中。
- 从这里将CircuitPython Donkey Car Driver for Robo HAT MM1下载到您的计算机。
- 将Robo HAT MM1上的MicroUSB连接器连接到计算机的USB端口。
- 计算机上应该会出现一个名为__CIRCUITPY__的设备,作为USB存储设备。
- 将在步骤1中下载的文件复制到__CIRCUITPY__ USB存储设备中。文件应命名为__code.py__,位于驱动器的顶层,而不是任何文件夹中。
- 从这里下载Adafruit logging库的Python文件adafruit_logging.py。
- 将adafruit_logging.py文件复制到CIRCUITPY的"lib"文件夹中。
- 将USB电缆从Robo HAT MM1上拔下,并将其放在树莓派的顶部,就像放置任何HAT一样。
您可能需要在树莓派上启用硬件串口。在树莓派上执行以下操作:
- 运行命令
sudo raspi-config
- 导航到__5 - Interfaceing options__部分。
- 导航到__P6 - Serial__部分。
- 当被问到:__Would you like a login shell to be accessible over serial?__时,选择NO。
- 当被问到:__Would you like the serial port hardware to be enabled?__时,选择YES。
- 关闭raspi-config。
- 重新启动。
如果您需要Robo HAT MM1的其他硬件或软件支持,可以在Hackster.io上找到一些指南。下面列出了这些指南。
手柄设置
如果您计划使用手柄,可以前往这里。
摄像头设置
如果您使用默认的深度学习模板或计算机视觉模板,则需要摄像头。默认情况下,__myconfig.py__文件假定使用的是树莓派摄像头。您可以通过编辑~/mycar
文件夹中的__myconfig.py__文件中的CAMERA_TYPE
值来更改此设置。
如果您使用的是GPS路径跟踪模板,则不需要也可能不希望使用摄像头。在这种情况下,您可以将摄像头类型更改为模拟器;CAMERA_TYPE = "MOCK"
。
有关各种摄像头和配置的详细信息,请参阅Cameras。
升级Donkey Car软件
在__myconfig.py__中进行的所有配置更改都将通过更新进行保留。当有需要获取的更新时,您可以拉取最新的代码,然后执行以下操作:
cd projects/donkeycar
git pull
donkey createcar --path ~/mycar --overwrite
如果您使用GPS路径跟踪模板创建了一个车辆,请记住包含--template参数;
donkey createcar --template=path_follow --path ~/mycar --overwrite
这个操作会更改您的~/mycar/manage.py、~/mycar/config.py和其他文件,但不会触及__myconfig.py__。您的__data__和__models__文件夹不会被更改。