树莓派3B+ +Ubuntu mate 18.04+ROS+Opencv

安装ubuntu mate18

  • 安装ubuntu mate18

安装好后配置网络和安装一些要用到的工具

  • 1.远程登录树莓派

    • 1.1、获取树莓派IP地址
      打开树莓派系统下的命令行终端,输入ifconfig查看我们的ip地址
    • 1.2、开启SSH服务(系统镜像默认是关闭ssh服务的,所以在进行远程登录之前需要开启SSH服务)
      在命令行输入:sudo raspi-config,然后回车
      选择第七项:“5 Interfacing Options”,回车
      选择第二项:“SSH”,回车
      选择是,回车
      最后点选“Finish”完成,等待重启即可。
      打开ubuntu终端控制,运行以下命令
      $ sudo apt install openssh-server
      $ sudo systemctl enable ssh.service
      $ sudo systemctl start ssh.service
      $ sudo dpkg-reconfigure openssh-server
      
      我们打开 putty ,这个软件可以自行下载,我们新建一个会话,协议用 SSH,端口用 22,主机输入树莓派记录的 IP 地址,连接进去后输入账号密码即可
  • 2.换源
    树莓派系统安装后默认使用国外的镜像源来更新软件,由于不可描述原因,国内访问速度非常慢,而且会遇到各种各样连接错误的蛋疼问题,因此需要换成国内源。树莓派官方提供了一个更新源列表,在这里我们使用中科大的软件源和系统源

    打开 /etc/apt/sources.list

    sudo nano /etc/apt/sources.list
    

    将 http://ports.ubuntu.com/ 全部替换为中科大的源 http://mirrors.ustc.edu.cn/ubuntu-ports/

    执行以下命令更新,如果有报错就多运行几次

    sudo apt update
    sudo apt upgrade
    
  • 3.FTP文件传输.

    • 利用SSH在树莓派安装vsftpd服务器 (约400KB)

      1.安装vsftpd服务器 (约400KB)

      sudo apt-get install vsftpd
      

      2.启动ftp服务

       sudo service vsftpd start
      

      3.编辑vsftdp的配置文件

       sudo vim /etc/vsftpd.conf
      

      找到以下行,定义一下
      anonymous_enable=NO
      表示:不允许匿名访问
      local_enable=YES
      设定本地用户可以访问。
      write_enable=YES(有的树莓派中将该局注释掉了 去掉前面的#即可)
      设定可以进行写操作

      4.重启树莓派

        sudo reboot
      
    1. 在电脑端安装FileZilla
      下载FileZilla并打开FileZilla,输入ip和密码端口选22
      通过ftp连接树莓派
      上传或下载文件
      这样我们就完成了利用FTP服务给树莓派上传下载文件的功能。

安装ros

更新软件列表

sudo apt-get update

更新软件包:

sudo apt-get upgrade

我在更新软件列表时提示arm64_packages错误,然后我从对应网址手动下载包,解压至/var/lib/apt/lists/解决,
参考:https://blog.csdn.net/u011118482/article/details/78977817?utm_source=blogxgwz5

添加ROS源库

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

添加密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

若显示NO_PUBKEY F42ED6FBAB17C654

则需要更改密钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

桌面完整安装:ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知

sudo apt-get install ros-melodic-desktop-full

漫长的等待。。。

初始化rosdep,运行下述命令

sudo apt install python-rosdep
sudo rosdep init

在运行以下指令

sudo nano /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了
一次不行就多试几次 一直ctrl+c就好了

然后

rosdep update

测试ROS环境。
运行roscore。

roscore

再打开终端,运行下述命令。

rosrun turtlesim turtlesim_node

接着打开第三个终端,运行下述命令。

rosrun turtlesim turtle_teleop_key

在这个终端中移动键盘上下左右方向键,乌龟就可以移动了。

安装opencv

1.安装cmake及其依赖项

sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

有一个依赖包,libjasper-dev在使用命令

    sudo apt-get install libjaster-dev

提示:errorE: unable to locate libjasper-dev

后来google到解决办法,复制到这里

sudo add-apt-repository "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe"
sudo apt update
sudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

2.将opencv3.4.3通过FTP传输至树莓派,并解压
. 传输完成后解压文件:

unzip opencv-3.4.3.zip

cd进入解压后的文件夹,创建编译文件夹并进入:

cd opencv-3.4.3
mkdir build
cd build
cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

需要等待一段时间,然后进行编译:
3.编译前要增加交换空间,保证编译时有足够内存

cd /opt
sudo mkdir image
cd image
sudo touch swap    #创建文件
sudo dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000  #添加交换文件并设置为1G

#过段时间会返回(这个略慢)
#1024000+0 records in
#1024000+0 records out
#大小 copied, 所用时间 s, 速度 MB/s

sudo mkswap /opt/image/swap  #设置交换空间
sudo swapon /opt/image/swap  #启用新增的交换空间
free -m    #确认是否已经生效

#之后修改/etc/fstab文件使重启后这块swap也能生效,在文件最后添加

/opt/image/swap    /swap    swap    defaults 0 0 

4.漫长的编译:

sudo make

编译完之后执行安装命令:

sudo make install

安装完成!

5.配置环境

sudo nano /etc/ld.so.conf.d/opencv.conf 

在打开的文件末尾添加 :

/usr/local/lib

执行命令使对上面的修改生效:

sudo ldconfig 

配置bash

sudo nano /etc/bash.bashrc

在打开的文件末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存和更新使得配置生效:

source /etc/bash.bashrc 
sudo updatedb

参考:
https://blog.csdn.net/qq_32408773/article/details/83346816?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://blog.csdn.net/qq_37968132/article/details/79887137
https://blog.csdn.net/md521/article/details/90697161

你可能感兴趣的:(树莓派3B+ +Ubuntu mate 18.04+ROS+Opencv)