文章目录

  • 树莓派4B Ubuntu18.04安装与ROS-Melodic安装
  • 一、安装ubuntu系统
  • 二、安装ROS-Melodic
  • 三、运行小乌龟实例


树莓派4B Ubuntu18.04安装与ROS-Melodic安装

一、安装ubuntu系统

  1. ubuntu镜像文件
    树莓派ubuntu18.04.05server镜像
  2. 烧录系统至SD卡
    使用win32diskimager将镜像文件烧录至SD卡,SD卡在烧录前需进行格式化,通过SDFormater工具进行即可。
  3. 建立空的文件ssh,并移动至SD卡的boot盘下,才可使用putty等工具进行访问
  4. 将SD卡插进树莓派,准备好键盘、鼠标、屏幕、网线等工具进行开机。
  5. 连接网络,通过输入命令:
ifconfig

查看当前网络的ip地址,在ethe0—inet下查看ip地址,并使用putty工具进行登录,便于在主机上进行操作。

  1. 修改镜像源。
    树莓派4B采用arm架构,需采用支持arm64的国内镜像源才能支持。通过输入以下命令进行源备份和修改:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

打开list文件后将原来的源进行注释,并将下列的源保存至该文件中:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
  1. 输入以下命令
sudo apt-get update
sudo apt upgrade -y

进行软件包更新,在这边可能出现以下报错:

Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),参考以下博文进行修正:

在这边简述我的解决方法:

  1. 使用lsof命令获取持有lock file的进程的进程ID,依次运行如下命令:
lsof /var/lib/dpkg/lock
lsof /var/lib/apt/lists/lock
lsof /var/cache/apt/archives/lock
  1. 删除所有的lock file:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
  1. 最后重新配置一下dpkg:
sudo dpkg --configure -a

可能会出现如下错误:

dpkg: error: dpkg frontend is locked by another process

解决方法如下:

  • 找出正在锁定lock file的进程:
lsof /var/lib/dpkg/lock-frontend
  • kill掉输出的进程(如果输出为空则忽略)
sudo kill -9 PID
  • 删除lock file并重新配置dpkg:
sudo rm /var/lib/dpkg/lock-frontend
sudo dpkg --configure -a
  1. 安装桌面
sudo apt-get install ubuntu-desktop

安装完成后输入:

sudo reboot

进行重启,即可进入系统桌面。

二、安装ROS-Melodic

  1. 添加国内镜像源,这里使用中科大的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'
  1. 设置key密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

在更新一下

sudo apt-get update
  1. 安装ros-melodic完整版
sudo apt-get install ros-melodic-desktop-full
  1. 解决ros依赖
sudo rosdep init
rosdep update

如果在sudo rosdep init这一步出错的话,在终端输入:

sudo nano /etc/hosts

在文本中添加

199.232.68.133 raw.githubusercontent.com

如果sudo rosdep init 显示错误 rosdep不是内部命令,则安装:

sudo apt install rospack-tools

rosdep update要多次执行,且可能需连接外网才可能成功。

  1. 添加环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 安装ros一些便利工具
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential -y

三、运行小乌龟实例

  1. 打开第一个终端,输入:roscore
  2. 打开第二个终端,输入:rosrun turtlesim turtlesim_node
  3. 打开第三个终端,输入:rosrun turtlesim turtle_teleop_key