树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)

一、硬件准备

二、软件准备
三、安装前的准备工作
四、开始ROS的安装
五、运行小乌龟

由于坑比较多希望大家安装的时候尽量不要跳步进行,一定要等每一步运行成功了再往下进行。

一、硬件准备

1、树莓派4B一个
2、SD卡一张(最好是16G以上的我的是用的64G的)
3、显示器、键盘、鼠标

二、软件准备

1、Raspberryimage (写系统使用的)
链接:https://pan.baidu.com/s/1YfBeUyG7YsP8lLW47Aoddg
提取码:2t7z

三、安装前的准备工作

1、系统的准备和镜像(详细查看结尾B站视频)

2、安装远程桌面服务
配置树莓派WiFi
直接在boot文件夹下面新建一个名为wpa_supplicant.conf的文件,其内容如下:

network={
    ssid="wifi_name1"
    psk="wifi_password1"
    priority=1
}

保存后就可以了(如果有显示器可以直接进入桌面连接,忽略这一步)

安装远程桌面软件xrdp

sudo apt-get install xrdp

安装ssh服务

sudo apt-get install openssh-client

查看树莓派的IP地址,运行如下代码

ifconfig

树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)_第1张图片
知道树莓派IP后就可以在PC电脑上,打开>运行>mstsc>打开win10的远程桌面
输入IP后会弹出登录界面
树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)_第2张图片
一般默认的登录名为pi ,密码为你在镜像系统初始化时设置的密码
自此准备工作完毕,接下来我们就可以在PC机上提过远程进行操作了!(丢掉繁杂的显示屏)

四、开始Ros的安装

安装前先确认你的系统版本

lsb_release  -a

如果你的结果和下面一样就可以继续操作了
树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)_第3张图片
第一步
首先向sources中添加必要的源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

添加密钥

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

进行一下系统更新

sudo apt-get update

下载一些必要的package

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential  cmake

初始化和更新rosdep(这一步大部分人都会出差,如果没有恭喜你)

sudo rosdep init

如果运行后出现

sudo rosdep init ERROR: cannot download default sources list from:

/******************************************解决问题 *********************************************/
不用担心,这个是由于网络的问题引起的,最好的解决办法如下(没有问题的可以忽略这一步)
第一步
进入github.com/ros/rosdistro下载这个包。(下载下来是一个名为rosdistro-master的压缩包)
可以用命令unzip rosdistro-master.zip进行解压
第二步
修改这个包中rosdep/source.list.d/下的文件20-default.list修改后的代码如下:

# os-specific listings first
yaml file:///home/xxx/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/xxx/rosdistro/rosdep/base.yaml
yaml file:///home/xxx/rosdistro/rosdep/python.yaml
yaml file:///home/xxx/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/xxx/rosdistro/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

根据自己下载文件的路径替换这个路径file:///home/xxx/rosdistro/.....,都要替换!!!!
第三步
修改/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py文件

# default file to download with 'init' command in order to bootstrap
# rosdep
DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'

# seconds to wait before aborting download of rosdep data

和第一步一样替换路径
第四步
修改`/usr/lib/python2.7/dist-packages/rosdep2/rep3.py文件:(同样是替换路劲)

# location of targets file for processing gbpdistro files
REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'

# seconds to wait before aborting download of gbpdistro data

修改`/usr/lib/python2.7/dist-packages/rosdistro/init.py的文件:(同样是替换路劲)

# index information

DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'

def get_index_url():

然后再运行

sudo rosdep init

如果结果如下:(恭喜问题解决)
`树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)_第4张图片
/******************************************问题解决 **********************************************/
再运行

rosdep update

完成上述过程之后,创建一个专门的用于安装ROScatkin工作空间并且cd进入这个路径。

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

然后执行下面这段代码安装Desktop Install

rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall

这一步如果持续时间过于长(几个小时以上不断的滚动同一个日志,那么你可以直接Ctrl+c退出)
然后执行以下代码(这个代码还可以用于上述过程突然中断或者停止)

wstool update -j 4 -t src

第二步、解决配置问题

mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
wget    http://sourceforge.net/projects/assimp/files/assimp-3.1/assimp-3.1.1_no_test_models.zip/download -O assimp-3.1.1_no_test_models.zip
unzip assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake .
make
sudo make install
sudo apt-get install libogre-1.9-dev

那么接下来我们就用rosdep工具去安装剩余的依赖(理论上这一步是需要一些时间的,如果你的很快就结束了那么可能后面会出现一些问题)

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

这的解决办法就是根据后面一步报错的提示在/ros_catkin_ws$目录下安装缺少的package,具体可以运行这个模板(packege_name为缺少包的名字)

sudo apt-get install package_name

第三步、开始安装ros

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2

这一步时间比较就可能会持续数小时,根据网络情况来。如果报错回到上面说的安装缺少的package后重新运行一下用rosdep工具安装依赖的代码,再运行此代码

如果这一步完美的跑完了,那么安装就结束了
接下来配置一下环境变量

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

新开一个终端运行

roscore

五、运行小乌龟

打开一个新终端运行(如果刚刚运行这个代码的终端没有关闭则可以忽略这一步)

roscore

再开一个终端运行

rossun turtlesim turtlesim_node

出现下面窗口证明ROS安装成功
树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)_第5张图片
我们可以运行如下代码,这样就可以用键盘控制小乌龟运动了

rosrun turtlesim turtle_teleop_key

总结
自此在树莓派上安装ros的任务就算完成了,详细的系统安装和说明可以参考一下B站视频,有问题私信留言。
UP主的B站频道,欢迎大家来交了详细

你可能感兴趣的:(ROS,树莓派4b,远程桌面,linux,ubuntu)