树莓派4B安装Ubuntu18.04运行DonkeyCar和TensorFlow

  • 一、安装Python3.7
    • 1.1 准备工作
      • 1.1.1安装工具
    • 1.2 正式开始
      • 1.2.1 下载python文件
      • 1.2.2 解压源码包
      • 1.2.3 创建python安装路径
      • 1.2.4 安装python
  • 二、安装VirtualEnv
    • 2.1 安装VirtualEnv
    • 2.2 创建虚拟环境
  • 三、安装Tensorflow
    • 3.1 下载Tensorflow2.2.0安装文件
    • 3.2 依赖库安装
    • 3.3 在虚拟环境下安装Cython
    • 3.3 安装Tensorflow
  • 四、树莓派摄像头
    • 4.1 依赖库安装
    • 4.2 在ubuntuserver上安装raspi-config
    • 4.3 安装raspi-config
    • 4.4 加载 /boot 分区
    • 4.5 设置raspi-config
  • 五、系统重启后,就可以安装donkeycar了
    • 5.1 切换至虚拟环境
    • 5.2 下载DonkeyCar源码
    • 5.3 安装opencv和依赖库
    • 5.4 创建donkeycar文件
    • 5.5 修改摄像头模式

本文是原创作品,欢迎大家进行转载

最近,我们在树莓派安装了Ubuntu18.04系统,想实现之前无人驾驶DonkeyCar的功能,经历一番痛苦的挣扎,最终终于实现了,于是做一个分享,希望能帮助到有需要的同学,整个安装过程时间非常长,所以需要做好时间上的安排和准备。

树莓派Ubuntu18.04版本里面分两种,本博客只针对架构是aarch64架构的ubuntu系统,如果不知道系统架构什么,可在终端输入以下指令来查询

uname -a

结果输出如图:

一、安装Python3.7

树莓派Ubuntu18.04系统自带Python3.69,这个版本很奇怪,比大多数Python3.7版本小一个版本,又比Python3.5版高,而在donkeycar中用到了tensorflow,一般是在python3.5或者在python3.7版本下运行,所以为了安装tensorflow,只能先安装python3.7,流程如下:

1.1 准备工作

1.1.1安装工具

sudo apt update
sudo apt upgrade
sudo apt install gcc
sudo apt install g++
sudo apt-get install libffi-dev
sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

1.2 正式开始

1.2.1 下载python文件

cd ~/Download
sudo curl -O https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz

1.2.2 解压源码包

sudo tar Jxvf Python-3.7.1.tar.xz
cd Python-3.7.1

1.2.3 创建python安装路径

sudo mkdir /usr/python37

1.2.4 安装python

sudo ./configure --enable-optimizations --prefix=/usr/python37
sudo make && sudo make install

这个过程非常漫长,大概需要3-4个小时才能执行完毕,所以大家可以去喝杯茶,泡个咖啡啥的休息一下^ _ ^。

安装完成以后,大家可以去设置一些什么环境变量啊啥的,但是和后续的使用没有太大关联,在这里我就不做说明了,有需要的同学请查阅其他资料。

二、安装VirtualEnv

为了使得系统可以兼容之前的环境,我们安装了VirtualEnv来配置环境。

2.1 安装VirtualEnv

sudo apt-get install virtualenv

2.2 创建虚拟环境

在目录下创建

virtualenv -p /usr/python37/bin/python3.7 ~/py37env

三、安装Tensorflow

3.1 下载Tensorflow2.2.0安装文件

首先,到 https://github.com/lhelontra/tensorflow-on-arm/releases/tag/v2.2.0 下载Python3.7版本的aarch64版本的whl文件。

3.2 依赖库安装

sudo apt-get install libhdf5-dev
sudo apt-get install gfortran

3.3 在虚拟环境下安装Cython

此时一定要确定是在之前创建的虚拟环境下安装,因为只有虚拟环境才是Python3.7,如果不是,需要执行如下语句确定。

source ~/py37env/bin/activate

然后安装Cython

pip install Cython

3.3 安装Tensorflow

准备工作差不多了,接下来就可以安装tensorflow了
找到tensorflow whl文件下载的目录

pip install tensorflow-2.2.0-cp37-none-linux_aarch64.whl

pip会自动解决tensorflow的依赖库,这个过程时间非常漫长。

四、树莓派摄像头

本步骤是针对树莓派CSI摄像头的驱动,如果使用usb摄像头则跳过此步骤。

4.1 依赖库安装

这一步很关键,如果没有安装这个库依然可以配置树莓派,但是可能导致开机直接死机,那么只能重装系统了,那就又要折腾很长时间。。。

sudo apt-get install lua5.1

4.2 在ubuntuserver上安装raspi-config

启动摄像头需要用到官方的raspi-config配置程序,进入官网地址,下载最新的deb程序。

wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20200817_all.deb

4.3 安装raspi-config

sudo dpkg -i raspi-config_20170926_all.deb

4.4 加载 /boot 分区

在配置的时候,如果没有加载 /boot 分区,会出现如下错误:
Your firmwave appears to be out of date (no start_x.elf). Please update

所以,配置之前需要先查看一下分区

df -h

将该设备号挂载在/boot上

sudo mount /dev/mmcblk0p1 /boot

4.5 设置raspi-config

启动raspi-config

sudo raspi-config

选择第5项,交互设置:

选择第1项:

随后会出现是否设置为enabled,选择yes。

等待树莓派重启。
重启后检查是否有摄像头设备:

ls -al /dev/ | grep video


安装完毕。

五、系统重启后,就可以安装donkeycar了

Donkey Car源码安装和官网一样,但是摄像头需要利用opencv方能打开。因此,首先安装donkeycar源码。

5.1 切换至虚拟环境

因为donkeycar用到tensorflow,是在python3.7的环境下,因此我们需要先切换至python3.7的系统环境。

source ~/py37env/bin/activate

5.2 下载DonkeyCar源码

git clone https://github.com/autorope/donkeycar
cd donkeycar
git checkout master
pip install -e .

这期间如果缺少某些库,按照提示pip install安装即可。

5.3 安装opencv和依赖库

pip install opencv-python
pip install pandas

5.4 创建donkeycar文件

donkey createcar --path ~/mycar

5.5 修改摄像头模式

cd ~/mycar
vim myconfig.py

将当中的 CAMERA_TYPE = “PICAM” 修改成 CAMERA_TYPE = “CVCAM” 即可。

树莓派4B安装Ubuntu18.04运行DonkeyCar和TensorFlow相关推荐

  1. 树莓派4B安装Ubuntu18.04 + vnc远程桌面

    在实验室对写程序的欲望越来越低下的时候,学长给了一个树莓派4B,让我研究一下,因为机器人的上位机就靠它运行.一说新东西我就来劲了,可惜实验室里没有SD卡(旧的断掉了),只好等到回家之后再折腾这玩意.研 ...

  2. 树莓派4B安装ubuntu18.04 Wifi热点开启

    树莓派4B安装ubuntu18.04 Wifi热点开启 最近开发需要以树莓派为主机开启Wifi热点,经过网上搜寻,采用create_ap 来开启,遇到了些坑,在这里和大家一起分享一下: 首先,需要安装 ...

  3. 已 树莓派4b ros 系统 网盘_无限可能:树莓派4B 安装Ubuntu18.04+ROS1(melodic)

    一.安装Ubuntu18.04 从Ubuntu官网(Install Ubuntu Server on a Raspberry Pi 2, 3 or 4 | Ubuntu)下载64bit镜像,Ubunt ...

  4. 树莓派 4B安装ubuntu18.04与melodic版ROS

    使用的树莓派 Raspberry Pi 4 -- 8GB 在这个连接中http://old-releases.ubuntu.com/releases/bionic/或http://cdimage.ub ...

  5. 树莓派4B安装ubuntu18.04+ROS一条龙教程(手把手,新手推荐)

    首先 需要的材料:树莓派4b,sd卡16g以上,读卡器,外接显示屏(HDMI),有线键盘,有线鼠标 下面所需要的软件在百度网盘 所需软件:链接:软件资料                         ...

  6. 树莓派4B配置ubuntu18.04.5

    1 SD Card Formatter格式化sd卡 2 Win32DiskImager 烧录镜像 ubuntu-18.04.5-preinstalled-server-arm64+raspi3 3 在 ...

  7. 树莓派raspberry 安装ubuntu18.04 server + desktop + ros1

    文章目录 0. 前言 1.概述 2.准备SD卡 2.1 插sd卡 2.2 下载Raspberry Pi Imager 并安装 2.3 错误处理 2.3.1 报错了,猜应该是中文名字的问题,神`迅雷下载 ...

  8. 树莓派4B安装Ubuntu20.04

    一.树莓派的准备 进入Ubuntu官网下载支持树莓派的Ubuntu版本安装包. 使用DiskGenius格式化SD卡,将所有扇区删除,然后格式化. 下载官方烧录工具,镜像选择刚才下载的.xz文件,SD ...

  9. 移动固态硬盘中安装Ubuntu18.04,并且运行于其他电脑

    这两天一直在忙于在移动固态硬盘上安装Ubuntu18.04,为的是能够在多台电脑上去运行,但按照搜索的教程试了很多次,都会出现各种各样的问题,最典型的为:比如在A win10电脑上利用优盘启动盘为移动 ...

最新文章

  1. CentOS 6.3开机自动挂载磁盘和文件夹
  2. /etc/bashrc和/etc/profile傻傻分不清楚?
  3. 扫盲!Java可变长数组,看这篇就对了!
  4. 【机器学习基础】浅谈为什么L2正则化有效
  5. 再次聊聊游戏测试中的bug:bug层级划分与分析
  6. ptmalloc堆内存管理机制(主要讨论Linux x86下32位系统)
  7. 信息学奥赛一本通(1050:骑车与走路)
  8. 编程之美2014 热身赛 题目3 : 树上的三角形
  9. 【python教程入门学习】用Python制作迷宫GIF
  10. spark学习-38-Spark的MemoryManager
  11. 【报告分享】砥砺前行 智启新章:2019-2020中国银行业发展回顾与展望.pdf(附下载链接)...
  12. matlab滤波器函数6,matlab中滤波器函数filter的c语言实现
  13. 零基础学cad要多久_完整版的CAD技巧!3天轻松玩转CAD,零基础也能学会
  14. tensorflow之tf.slice()
  15. Storm处理流程, 基本参数配置
  16. Qt lambda 简化你的代码 connect 写法示例 省略槽函数定义
  17. Unity3D数字孪生笔记——Unity脚本篇
  18. SpringBoot项目实现敏感词汇过滤
  19. AUTOSAR Network Wakeup(Can) Configuration
  20. 职业规划之选择比努力更重要 职业生涯发展理论

热门文章

  1. 网易公开课 matlab,科学网—如何保存网页上看到的视频 - 杨建功的博文
  2. MIT 18.06 线性代数公开课笔记 Lecture07Ax=0: 主变量, 特解
  3. mysql 将数据库表字段全部转为小写
  4. php网页源码物业管理系统mysql数据库web结构html布局计算机软件工程
  5. 水平拉滑轮组计算机械效率的题,滑轮组机械效率计算题.docx
  6. 品牌形象设计的流程解析
  7. linux系统下串口设备和串口号绑定
  8. RS485 通信与 Modbus 协议
  9. 胶囊体 ,正方体,球体碰撞器差别,碰撞体以脚为基准与以腰为基准
  10. Linux安装和配置sanba服务器,在linux安装配置samba服务器.doc