DonkeyCar for Jetson Nano 教程一、Jetson nano安装
来自丢石头百科
Admin(讨论 | 贡献)2019年11月14日 (四) 09:34的版本 (创建页面,内容为“==DonkeyCar for Jetson Nano 教程目录== *DonkeyCar for Jetson Nano 教程一、Jetson nano安装 *DonkeyCar for Jetson Nano 教程二、Linux PC安装 *…”)
目录
DonkeyCar for Jetson Nano 教程目录
- DonkeyCar for Jetson Nano 教程一、Jetson nano安装
- DonkeyCar for Jetson Nano 教程二、Linux PC安装
- DonkeyCar for Jetson Nano 教程三、WEB控制
- DonkeyCar for Jetson Nano 教程四、校准DonkeyCar
- DonkeyCar for Jetson Nano 教程五、游戏杆控制
- DonkeyCar for Jetson Nano 教程六、数据采集
- DonkeyCar for Jetson Nano 教程七、训练数据
- DonkeyCar for Jetson Nano 教程八、自主巡线驾驶
- JetRacer AI Kit WIKI 主页
步骤1、安装依赖
默认你的jetson nano已经安装镜像并启动。打开控制终端,输入如下命令安装依赖库
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential python3 python3-dev python3-pip libhdf5-serial-dev hdf5-tools nano
步骤2、设置虚拟环境
pip3 install virtualenv python3 -m virtualenv -p python3 env --system-site-packages echo "source env/bin/activate" >> ~/.bashrc source ~/.bashrc
步骤3、安装OpenCV
- 构建OpenCV的第一步是在Jetson Nano上定义交换空间。
- Jetson Nano具有4GB RAM。这不足以从源代码构建OpenCV。因此,我们需要在Nano上定义交换空间以防止内存崩溃。
# Turn off swap sudo swapoff /var/swapfile # Allocates 4G of additional swap space at /var/swapfile sudo fallocate -l 4G /var/swapfile # Permissions sudo chmod 600 /var/swapfile # Make swap space sudo mkswap /var/swapfile # Turn on swap sudo swapon /var/swapfile # Automount swap space on reboot sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab' # Reboot sudo reboot
- 安装OpenCV依赖库
# Update sudo apt-get update sudo apt-get upgrade # Pre-requisites sudo apt-get install build-essential cmake unzip pkg-config sudo apt-get install libjpeg-dev libpng-dev libtiff-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libgtk-3-dev sudo apt-get install libatlas-base-dev gfortran sudo apt-get install python3-dev
- 下载OpenCV的源代码
# Create a directory for opencv mkdir -p projects/cv2 cd projects/cv2 # Download sources wget -O opencv.zip https://github.com/opencv/opencv/archive/4.1.0.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.1.0.zip # Unzip unzip opencv.zip unzip opencv_contrib.zip # Rename mv opencv-4.1.0 opencv mv opencv_contrib-4.1.0 opencv_contrib
- 进入到虚拟环境env
source ~/env/bin/activate # Install Numpy pip install numpy
- 设置Cmake配置
# Create a build directory cd projects/cv2/opencv mkdir build cd build # Setup CMake cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ # Contrib path -D OPENCV_EXTRA_MODULES_PATH=~/projects/cv2/opencv_contrib/modules \ # Your virtual environment's Python executable # You need to specify the result of echo $(which python) -D PYTHON_EXECUTABLE=~/env/bin/python \ -D BUILD_EXAMPLES=ON ../opencv
- 使用以下命令编译源码,编译时间会比较长,请耐心等待。
- 注意:如果前面没有设置交换空间,此时编译可能会因为内存不足导致进程关闭。
make -j2
- 安装OpenCV
# Install OpenCV sudo make install sudo ldconfig
- 将构建的OpenCV库链接到虚拟环境virtualenv
# Go to the folder where OpenCV's native library is built cd /usr/local/lib/python3.6/site-packages/cv2/python-3.6 # Rename mv cv2.cpython-36m-xxx-linux-gnu.so cv2.so # Go to your virtual environments site-packages folder cd ~/env/lib/python3.6/site-packages/ # Symlink the native library ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so cv2.so
- 运行以下命令会看到类似如下信息
ls -la
total 48 drwxr-xr-x 10 user user 4096 Jun 16 13:03 . drwxr-xr-x 5 user user 4096 Jun 16 07:46 .. lrwxrwxrwx 1 user user 60 Jun 16 13:03 cv2.so -> /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so -rw-r--r-- 1 user user 126 Jun 16 07:46 easy_install.py drwxr-xr-x 5 user user 4096 Jun 16 07:47 pip drwxr-xr-x 2 user user 4096 Jun 16 07:47 pip-19.1.1.dist-info drwxr-xr-x 5 user user 4096 Jun 16 07:46 pkg_resources drwxr-xr-x 2 user user 4096 Jun 16 07:46 __pycache__ drwxr-xr-x 6 user user 4096 Jun 16 07:46 setuptools drwxr-xr-x 2 user user 4096 Jun 16 07:46 setuptools-41.0.1.dist-info drwxr-xr-x 4 user user 4096 Jun 16 07:47 wheel drwxr-xr-x 2 user user 4096 Jun 16 07:47 wheel-0.33.4.dist-info
- 运行Python 执行以下,测试OpenCV是否成功
import cv2 # Should print 4.1.0 print(cv2.__version__)
(env) jetson@jetson:~$ python Python 3.6.8 (default, Jan 14 2019, 11:02:34) [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> print(cv2.__version__) 4.1.0 >>> quit()
步骤4、安装Donkeycar Python代码
- 从Github获取最新的donkeycar程序
cd ~/projects git clone https://github.com/autorope/donkeycar cd donkeycar git checkout master pip install -e .[nano] pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.13.1+nv19.3
步骤5、从模板创建Donkeycar
- 使用以下命令创建donkeycar实例
donkey createcar --path ~/mycar
程序运行后~/mycar目录下回自动生成一系列控制donkeycar的文件。
- 打开如下文件,找到摄像头参数设置部分修改摄像头参数
nano myconfig.py
Jetson Nano使用基于Sony IMX219的相机,摄像头改为CSIC,分辨率设置为224*224.
#CAMERA CAMERA_TYPE = "CSIC" # (PICAM|WEBCAM|CVCAM|CSIC|V4L|MOCK) IMAGE_W = 224 IMAGE_H = 224