天天看点

树莓派4B安装ubuntu 18.04运行ros系统

  • 硬件:树莓派4B(4G内存版),电源(usb type-C, 5V 3A),micro SD卡(至少16G),鼠标,键盘(usb接口),显示器(HDMI接口),网线
  • 软件:ubuntu18系统,ROS Melodic。

一、安装ubuntu系统

  1. 从清华的开源镜像网站下载ubuntu18的系统文件,server版,需要后面手动安装桌面。 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/bionic/release/ubuntu-18.04.5-preinstalled-server-arm64%2Braspi4.img.xz
  2. 将系统文件烧入SD卡 windows平台:使用7zip之类的软件将ubuntu系统文件解压为img镜像文件,然后使用win32 disk imager烧入SD卡
  3. 启动树莓派 将SD卡插入树莓派,并为树莓派连接好电源,显示器,鼠标,键盘,网线。启动树莓派,默认用户名密码都是ubuntu,之后需要马上修改密码,按提示操作即可。
  4. 连接网络 进入系统后,用ifconfig命令查看是否联网,eth0是有线网卡,inet后面如显示ip。本文中连接的是已登陆校园网的一个路由器。如果没有联网,使用sudo reboot命令重新启动系统即可。
  5. 修改软件源 ubuntu使用apt进行软件管理,默认的官网从国内连较慢,建议更换为国内的镜像网站,本文选用清华开源镜像网站。
  6. 首先备份原sources.list,然后使用nano编辑,将里面http://ports.ubuntu.com/ubuntu-ports 改为 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list
           

       7. 刷新软件包列表

sudo apt-get update
           

      8. 安装桌面 后期使用ROS的rviz, gazebo等仿真工具,需要桌面图形环境。本文选择ubuntu系统默认的desktop。

sudo apt-get install ubuntu-desktop
           

二、安装ROS

基本步骤参考ROS官方教程 这里主要的改动是将软件源设为清华镜像。

1 设置软件源 http://wiki.ros.org/ROS/Installation/UbuntuMirrors#Tsinghua_University

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
           

2 设置key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
           

3 安装ROS 这里选择功能最全的desktop-full,包含ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators and 2D/3D perception。它有约1000个软件包,需要约2.5G空间,安装时间20分钟左右。

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

4 环境设置 将ROS环境变量在每次启动新shell时自动添加到bash会话中,后面使用会很方便

echo "source /opt/ros/melodic/setup.bash">> ~/.bashrc
source ~/.bashrc
           

5 安装其他工具 这里可以安装一些实用工具,比如rosinstall和rosdep,后期手动安装ros软件包时会用到。

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
           

6 rosdep需要初始化一下

sudo rosdep init
rosdep update
           

7 如果报以下错误,

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
           

8 可以先尝试更改hosts文件解决,参考:rosdep update time out及失败解决方案 - 古月居 (guyuehome.com),如果有代理,则更加方便:

9 首先找到lan-tern的setting.yaml文件。

树莓派4B安装ubuntu 18.04运行ros系统

10 用编辑器打开。默认设置可能如下。

树莓派4B安装ubuntu 18.04运行ros系统

11 我们要修改其中的addr和socksAddr。其中,192.168.6.233是运行代理的电脑在局域网中的IP,8789和8790是端口

树莓派4B安装ubuntu 18.04运行ros系统

12  接着,重启代理软件,即可看见IP修改生效。

树莓派4B安装ubuntu 18.04运行ros系统

13 Ubuntu应该要配置至少两个地方,一个是图形界面的proxy,一个是命令行terminal的proxy,只修改一处另外一处是无法生效的。

树莓派4B安装ubuntu 18.04运行ros系统

14 需要在命令行执行两条指令

export http_proxy=http://192.168.6.233:8789
export https_proxy=http://192.168.6.233:8789
           

16 在rviz里显示机器人模型,弹出可控制关节的小窗,需要再安装下面这个包。15 如果把这两条指令添加到~/.profile中可以保证当前用户每次打开terminal的时候都能访问到代理。想要撤消修改可以用这两条指令。

sudo apt install ros-melodic-joint-state-publisher-gui
           

三、测试

用经典的小乌龟例子,测试ROS是否安装成功。 1)启动ROS系统

roscore
           

2)新开一个terminal,运行turtlesim例子

rosrun turtlesim turtlesim_node
           

3) 再开一个terminal,使用键盘上下左右键控制。如果小乌龟可以移动,说明ROS安装成功。

rosrun turtlesim turtle_teleop_key
           

四、其它

  1. 远程桌面

开启ubuntu的远程桌面,就可以使用别的电脑调试树莓派,省去外接显示器的麻烦。 ubuntu18自带远程桌面功能,只需在Settings->Sharing里打开即可,具体可参考这篇文章

ubuntu系统设置是登录后才能远程连接,所以还需要打开自动登录,可以参考这里。

客机使用任意一个VNC客户端,比如RealVNC,就能登陆树莓派了。