step0: 安装硬件
首先硬件安装,参考 昊男 Henry的视频;
链接:https://mc.dfrobot.com.cn/thread-311336-1-1.html
视频中有个错误,按微雪丝印接入油门和转向是对的,只需在配置文件一一对应上即可;
安装完成图:
来个侧身:
下面进行软件环境安装;
注意:这里是安装树莓派上的 donkeyCar 运行环境;
软件安装过程参考官网的步骤:
https://docs.donkeycar.com/guide/robot_sbc/setup_raspberry_pi/
step1~step6 已经在树莓派篇完成了:
参考链接:
树莓派 4B 卡片电脑之初见 - 从零开始安装树莓派系统
step7:Raspi-configs 开启相关配置
sudo raspi-config
(1)使能 I2C,Camera;
Interface Options-->I2C
用 i2cdetect 查询板子上 i2c 器件地址:
sudo i2cdetect -y 1
(2)使能 flash;
Advanced Options-->Expand Filesystem, 这样可以使用整个 sd 卡空间;
保存配置,退出,重启;
Step 8: Install Dependencies
安装驴车工程用到的依赖库
sudo apt-get install build-essential python3 python3-dev python3-pip python3-virtualenv python3-numpy python3-picamera python3-pandas python3-rpi.gpio i2c-tools avahi-utils joystick libopenjp2-7-dev libtiff5-dev gfortran libatlas-base-dev libopenblas-dev libhdf5-serial-dev libgeos-dev git ntp
Step 9: Optional - Install OpenCV Dependencies
安装 OpenCV 依赖库
sudo apt-get install libilmbase-dev libopenexr-dev libgstreamer1.0-dev libjasper-dev libwebp-dev libatlas-base-dev libavcodec-dev libavformat-dev libswscale-dev libqtgui4 libqt4-test
Step 10: Setup Virtual Env
创建一个驴车的虚拟 python 环境,便于后续开发的包管理;
python3 -m virtualenv -p python3 env --system-site-packages
echo "source env/bin/activate" >> ~/.bashrc
source ~/.bashrc
修改.bashrc 后,每次启动,自动进入虚拟环境;
若要退出虚拟环境,输入
deactivate
Step 11: Install Donkeycar Python Code
(1)创建一个工程目录
mkdir projects
cd projects
(2)获取最新版驴车 SDK;
git clone https://github.com.cnpmjs.org/autorope/donkeycar
cd donkeycar
git checkout master
pip install -e .[pi]
pip install numpy --upgrade
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=1DCfoSwlsdX9X4E3pLClE1z0fvw8tFESP" > /dev/null
CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"
curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=1DCfoSwlsdX9X4E3pLClE1z0fvw8tFESP" -o tensorflow-2.2.0-cp37-cp37m-linux_armv7l.whl
这里是官方给出的 google 链接,实际访问会很慢或失败,建议放弃;
我实测用默认源就可以,当然 gitHub 的访问,这里有个小技巧”“github.com”后添加“.cnpmjs.org”,速度会快很多;
(3)安装 tensorflow
官方也很慢,我放在网盘里了;
pip install tensorflow-2.2.0-cp37-cp37m-linux_armv7l.whl
验证 tensorflow 安装,若没报错则成功:
python -c "import tensorflow"
Step 12: Optional - Install OpenCV
sudo apt install python3-opencv
如果失败,可以尝试:
pip install opencv-python
测试 opencv 版本,无报错信息则成功;
python -c "import cv2"
Step 13: Optional - Install Donkey Car Console
注意:这模块为可选项;我实际调试遇到问题,手机 app 连不上驴车;因为实际是用遥控器来操控驴车,这一块的功能暂时也没用,就先阁下,待有时间再来调;
Donkey Car Console 是驴车的管理软件,API,支持驴车手机 APP。
目前仅支持 RPI-4B。
(1)下载工程:
git clone https://github.com.cnpmjs.org/robocarstore/donkeycar-console
sudo mv donkeycar-console /opt
cd /opt/donkeycar-console
(2)安装依赖软件:
pip install -r requirements/production.txt
(3)创建数据库:
python manage.py migrate
(4)测试服务器是否运行:
python manage.py runserver 0.0.0.0:8000
浏览器查看 http://your_pi_ip:8000/vehicle/status , 如果么有出错,说明工作正常;
将控制台添加到系统服务
sudo ln -s gunicorn.service /etc/systemd/system/gunicorn.service
下载安装 app,名字 donkeyCar
iOS/Android 均支持
确保手机和驴车在同一个局域网,用 donkeyCar app 可以搜索到驴车;
app 更详细的用法,参考 https://docs.donkeycar.com/guide/mobile_app/