这里写自定义目录标题
- 一、树莓派系统的配置
- 二、安装ROS系统
- 三、参考链接
- 3.1 参考教程
- 3.1.1 [《Raspbian安装ROS系统Kinectic》](https://blog.csdn.net/newbeixue/article/details/110795638)
- 3.1.2[《树莓派4B安装ROS并使用OpenCV(全流程)》](https://blog.csdn.net/qq_22945165/article/details/101725738)
- 3.1.3 [《在树莓派4b上安装 ROS Melodic 源码安装》](https://www.cnblogs.com/guochaoxxl/p/11617618.html)
- 3.1.4 [ROS Melodic on Raspberry Pi 4 (Debian Buster) + RPLIDAR A1M8](https://www.instructables.com/ROS-Melodic-on-Raspberry-Pi-4-RPLIDAR/)
- 3.2 在Raspberry Pi 4安装过程中的问题
一、树莓派系统的配置
0、查看Raspbian版本信息
查看当前安装的Raspbian版本信息,执行下面的命令。
cat /etc/os-release
或者
lsb_release -sc
该命令将打印出有关操作系统发布版本的各种信息。
在运行Raspbian Buster的Raspberry Pi上运行这个程序会得到以下结果。
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
1、添加 ROS 仓库
参考 ROS/Installation @ wiki
sudo sh -c . /etc/lsb-release
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 增加国内源
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加 KEY
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# 或者
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3、raspi 换源
原源文件做备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
编辑 sources.list,使用
sudo mousepad /etc/apt/sources.list
增加下面这几行。
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
4、更新源
最后执行下面命令,以更新源。
sudo apt update
sudo apt upgrade
5、附属操作
更新完之后,如有必要,安装远程桌面
sudo apt install xrdp
接着,安装中文字体
sudo apt install ttf-wqy-zenhei ttf-wqy-microhei
最后,
然后重启系统,完成树莓派系统的基本配置。
sudo reboot
二、安装ROS系统
2.1 编译器切换(可以忽略了)
首先安装gcc5和g++5防止编译报错。先查看默认的gcc和g++。
gcc -v
g++ -v
一般而言,树莓派系统的默认版本为 gcc 8。此时安装gcc 5和g++ 5。
sudo apt install gcc-5 g++-5
安装好之后进行版本切换,将系统的gcc与g++切换至5,对gcc的切换执行如下操作
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80
以及
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 80
接着选择默认版本为 gcc-5 和 g++5,输入
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
会出现三个选项,分别输入 gcc-5 和 g+±5 对应的编号,按回车即可。
然后再测试 gcc 和 g++ 的版本
gcc -v
g++ -v
如果版本改变则切换成功。
2.2 准备工作
2.2.1 添加ROS仓库
参加 1.1 和 1.2 或者
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-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
增加国内源。
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
或者
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ melodic main" > /etc/apt/sources.list.d/ros-latest.list'
执行以下命令,更新仓库
sudo apt update
sudo apt upgrade
如果出现 链接解析错误的话,将 文件 /etc/apt/sources.list.d/ros-latest.list’ 中有关 $(lsb_release -sc)
的地方,全部更换为对应的raspbian 版本,版本查看方法见第 0 节,这里的系统为 buster。
2.2.2 源码安装 ROS 的相关依赖项
分布或集中执行以下命令
sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
sudo apt install sip-dev pyqt5-dev python-sip-dev pyqt5-dev-tools
### 源码安装 ROS 的相关依赖项
sudo apt install libboost-all-dev
sudo apt install python-assimp
sudo apt install python-pyassimp
sudo apt install gem-plugin-assimp
然后,初始化 rosdep:
sudo rosdep init # 国内一般无法使用
rosdep update
如有报错,请按照该链接进行操作。
国内安装源gitee安装ROS(kinetic)
Ubuntu18.04 安装 ROS Melodic
基本方法
首先,使用 find -type f -print0 | xargs -0 grep 语句在 /usr/lib/python2.7/ 或者 /usr/lib/python3 文件夹下查找包含 “raw.githubusercontent.com/ros/rosdistro” 的相关文件。
find -type f -print0 | xargs -0 grep 'raw.githubusercontent.com/ros/rosdistro' | cut -d: -f1 | sort -u
一般而言,会有如下文件列出:
./rosdistro/init.py
# 或
./rosdistro/__init__.py
./rosdep2/gbpdistro_support.py
./rosdep2/sources_list.py
./rosdep2/rep3.py
将文件中涉及的 raw.githubusercontent.com/ros/rosdistro/master 全部替换成 gitee.com/ssonic/rosdistro/raw/master 或者 gitee.com/ohhuo/rosdistro/raw/master 即可。
然后,删除文件夹 /etc/ros/rosdep/sources.list.d 的文件 20-default.list。
并运行一下命令:
sudo rosdep init
rosdep update
如果,提示有错误,则手动在文件夹 /etc/ros/rosdep/sources.list.d 下新建文件 20-default.list
sudo mkdir -p /etc/ros/rosdep/sources\.list\.d
sudo vi 20-default.list
然后,将下文内容复制到 文件 20-default.list 中,然后保存并退出。
# os-specific listings first rosdep update
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/base.yaml
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/python.yaml
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/ruby.yaml
gbpdistro https://gitee.com/ssonic/rosdistro/raw/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
最后在运行
rosdep update
成功以后,可以找到并查看相应的文件:
cat /home/pi/.ros/rosdep/sources.cache/index
获得如下的输出:
#autogenerated by rosdep, do not edit. use 'rosdep update' instead
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/base.yaml
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/python.yaml
yaml https://gitee.com/ssonic/rosdistro/raw/master/rosdep/ruby.yaml
yaml https://gitee.com/ssonic/rosdistro/raw/master/releases/fuerte.yaml fuerte
yaml https://gitee.com/ssonic/rosdistro/raw/master/dashing/distribution.yaml dashing
yaml https://gitee.com/ssonic/rosdistro/raw/master/foxy/distribution.yaml foxy
yaml https://gitee.com/ssonic/rosdistro/raw/master/kinetic/distribution.yaml kinetic
yaml https://gitee.com/ssonic/rosdistro/raw/master/melodic/distribution.yaml melodic
yaml https://gitee.com/ssonic/rosdistro/raw/master/noetic/distribution.yaml noetic
yaml https://gitee.com/ssonic/rosdistro/raw/master/rolling/distribution.yaml rolling
2.2.3 编译并安装 libboost-1.58.0 (可忽略)
需要保证系统只有单个版本的 libboost,否则后面的编译会出错。
下载并解压代码
wget -O boost_1_58_0.tar.bz2 http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download
国内下载,查看
https://pan.baidu.com/s/1O7U1tLWJ_fPys7OusLtmVA
提取码:1004
解压目录,并编译(预定安装到 /usr/local/boost1.58.0下)
tar --bzip2 -xvf boost_1_58_0.tar.bz2
cd boost_1_58_0
./bootstrap.sh --with-libraries=all --with-toolset=gcc-5
./b2 toolset=gcc -j2
然后,安装 libboost-1.58.0
sudo ./bjam install --prefix=/usr/local/boost-1.58.0
添加路径
sudo ldconfig
添加环境变量
vim ~/.bashrc
在文件末尾添加:
# Boost
export BOOST_INCLUDE=/usr/local/boost-1.58.0/include/
export BOOST_LIB=/usr/local/boost-1.58.0/lib
至此,boost库安装完成。
期间操作的各项命令的解释,可以参看《在Linux下安装boost》或者《ubuntu查看、安装、更新、卸载boost库 指定目录》又或者《Linux 下 boost 库的安装,配置个人环境变量》。
2.3 安装ROS
2.3.1 下载源码
第一步,创建一个catkin工作空间
mkdir -p ~/ros_catkin_ws
cd ~/ros_catkin_ws
接下来,构建 ros核心包源码。
**注意:**如果看官方教程,建议安装ROS-Comm版本,不要安装Desktop版本,没梯子,容易出错。
(1)安装 ROS-Desktop
rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
# vcs import src < melodic-desktop-wet.rosinstall
(2)安装 ROS-Comm
rosinstall_generator ros_comm --rosdistro melodic --deps --wet-only --tar > melodic-ros_comm-wet.rosinstall
# vcs import src < melodic-ros_comm-wet.rosinstall
(3)自定义安装 robot
rosinstall_generator robot --rosdistro melodic --deps --wet-only --tar > melodic-robot-wet.rosinstall
# vcs import src < melodic-robot-wet.rosinstall
下载源码。
wstool init -j4 src melodic-desktop-wet.rosinstall
下载源码时,如果发生错误或者中断,通过下述命令继续
wstool update -j4 -t src
2.3.2 安装collada_urdf依赖Assimp(可忽略)
安装兼容版本 Assimp (Open Asset Import Library) 用于搞定collada_urdf 依赖问题。
mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
下载 Assim 源码
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
或者在百度网盘。
链接:https://pan.baidu.com/s/17RzxQTvtOMJVxhFQax3Q5A
提取码:1004
解压并编译和安装。
unzip assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake .
make
sudo make install
然后,为 rviz 安装 OGRE 依赖的 libboost。
sudo apt install libogre-1.9-dev
该依赖似乎在2020年元月份以后已经被 ROS 团队搞定了。
包括所需的依赖 assimp 也可以通过下面的命令直接完成。
sudo apt install python-assimp
sudo apt install python-pyassimp
sudo apt install gem-plugin-assimp
2.3.3 搞定 libboost 的问题(可忽略了)
在 src/rosconsole/package.xml 中写明了关于 libboost 的依赖有:
<build_depend>libboost-regex-dev</build_depend>
<build_depend>libboost-system-dev</build_depend>
<build_depend>libboost-thread-dev</build_depend>
<run_depend>libboost-regex-dev</run_depend>
该问题由 boost::posix_time::milliseconds 函数引起的。新的 boost 版本只接受整数的传入参数,但是 ROS 中的 actionlib 功能包却使用的是浮点参数,因此,需要在 ros_catkin_ws/src 文件夹中将所用使用了 boost::posix_time::milliseconds 函数的文件全部找到,并进行替换。
find -type f -print0 | xargs -0 grep 'boost::posix_time::milliseconds' | cut -d: -f1 | sort -u
例如:
(1)将
boost::posix_time::milliseconds(loop_duration.toSec() * 1000.0f));
替换为
boost::posix_time::milliseconds(int(loop_duration.toSec() * 1000.0f)));
(2)将
boost::posix_time::milliseconds(1000.0f)
替换为
boost::posix_time::milliseconds(1000)
2.3.4 安装rosdep所需依赖
使用rosdep安装所需依赖
rosdep install -y --from-paths src --ignore-src --rosdistro melodic -r --os=debian:buster
**注意:**需要对应 raspbian 的版本。
2.3.5 源码编译并安装ROS
编译工作空间
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
**注意:
** 可能需要更改权限
sudo chmod +x ./src/catkin/bin/*
** 默认路径是安装在
~/ros_catkin_ws/install_isolated
本例程改变了安装路径,指定的安装路径为:
--install-space /opt/ros/melodic
2.3.6 配置环境变量
添加路径到环境变量
source /opt/ros/melodic/setup.bash
测试安装,打开终端运行
roscore
若无报错,则成功安装
2.4 安装思岚RPLIDAR ROS 功能包
2.4.1 新建 catkin_ws 工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
将路径添加的默认路径文件 .bashrc 中:
echo "source $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
2.4.2 安装 RPLIDAR ROS 功能包
cd src
sudo git clone https://github.com/Slamtec/rplidar_ros.git
cd ~/catkin_ws
catkin_make
2.4.3 启动并测试激光雷达。
使用如下命令启动 激光雷达
roslaunch rplidar_ros rplidar.launch
2.4.4 设置 ROS 在多台机器上运行
需要一台安装了 ROS Melodic 的 Ubuntu 18.04 计算(PC) 机。关于在Ubuntu 系统的PC机上安装 ROS Melodic 的教程请另行参考。
在 Raspberry Pi 和PC机上都安装好 ROS Melodic 后,将两台机器的 IP 地址设置到同一个网络上!
(1) 在PC机上运行 roscore 并导出 ROS_MASTER_URI
roscore
export ROS_MASTER_URI=http://[192.168.0.201]:11311
(2) 在树莓派上执行
export ROS_MASTER_URI=http://[192.168.0.201]:11311
export ROS_IP=[192.168.0.201]
并启动 RPILIDAR 启动文件。
roslaunch rplidar_ros rplidar.launch
(3) 查看PC机的主题
树莓派上的激光雷达成功启动后,需要检查PC机上存在的主题。
rostopic list
(4)图形化检查
如果能够找到 /scan 消息,则说明一切正常。然后,在PC机上启动 RVIZ,添加 Laser Scan 消息并选择 /scan 主题(topic)。您还需要fixed frame 更改为 /laser。
2.4.5 后续工作
上述步骤,只是在Raspberry Pi 4 上构建 ROS 机器人的第一步。现在,已经安装了 ROS Melodic 并可以通过无线网络连接到PC机上进行远程控制。
接下来,可以添加用于里程计的电机和编码器、用于 Visual SLAM 的立体摄像头以及各种其他的设备。
三、参考链接
3.1 参考教程
更多的问题,可以参考
3.1.1 《Raspbian安装ROS系统Kinectic》
3.1.2《树莓派4B安装ROS并使用OpenCV(全流程)》
3.1.3 《在树莓派4b上安装 ROS Melodic 源码安装》
3.1.4 ROS Melodic on Raspberry Pi 4 (Debian Buster) + RPLIDAR A1M8
3.2 在Raspberry Pi 4安装过程中的问题
3.2.1 下载 ROS 源码不完整
如果在使用 “wstool init src melodic-desktop-wet.rosinstall” 下载ROS源码过程中,出现因网络或者其他原因而发生的中断时,可以多次的重复使用
wstool update -j2 -t src
来不断更新下载的 ROS 源码,直到下载完毕。
如果已经从别处获得了 ROS 源码,可以使用下面的命令,快速的检查和更新源码。
wstool merge -t src melodic-desktop-wet.rosinstall
wstool update -t src
cp -rf melodic-desktop-wet.rosinstall ./src/.rosinstall
3.2.2 SIP Generator Error
遇到的第一个问题
[ 89%] Built target qt_gui_cpp
[ 89%] Running SIP generator for qt_gui_cpp_sip Python bindings...
Traceback (most recent call last):
File "/opt/ros/melodic/share/python_qt_binding/cmake/sip_configure.py", line 85, in <module>
sip_dir, sip_flags = get_sip_dir_flags(config)
File "/opt/ros/melodic/share/python_qt_binding/cmake/sip_configure.py", line 65, in get_sip_dir_flags
raise FileNotFoundError('The sip directory for PyQt5 could not be located. Please ensure' +
NameError: global name 'FileNotFoundError' is not defined
make[2]: *** [src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/build.make:90: sip/qt_gui_cpp_sip/Makefile] Error 1
make[1]: *** [CMakeFiles/Makefile2:566: src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
解决方法:
sudo apt install sip-dev pyqt5-dev python-sip-dev pyqt5-dev-tools
然后,
cd /home/pi/ros_catkin_ws/build_isolated/qt_gui_cpp
/opt/ros/melodic/env.sh make -j2
3.2.3 处理归档*.deb时出错
在安装ROS时出现了下面的问题:
解决方法:
通过命令
sudo dpkg -i --force-overwrite <filename>
强制覆盖,然后强制安装。
sudo dpkg -i --force-overwrite /var/cache/apt/archives/python-rospkg-modules_1.1.7-1_all.deb
接着运行:
sudo apt-get -f install
3.2.4 ‘…’ is not a member of ‘std’
在c++文件中加入下面这个万能头文件即可。
#include<bits/stdc++.h>
需要更改的 CMakeList.txt 文件有:
文件清单
3.2.5. ‘nullptr’ was not declared in this scope
ROS中,编译xmlrpcpp时,
error: ‘nullptr’ was not d`在这里插入代码片`eclared in this scope
在xmlrpcpp 的 CMakeList.txt 中添加:
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Pleaseuse a different C++ compiler.")
endif()
需要更改的 CMakeList.txt 文件有:
文件清单(略)
3.2.6 消除部分编译警告
编译的时候,可能会出现以下的警告问题:
In file included from test.cpp:2:0:
Sales_item.h:56:20: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
Sales_item() = default;
^
Sales_item.h:70:27: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
unsigned units_sold = 0; // explicitly initialized
^
Sales_item.h:71:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
double revenue = 0.0;
^
Sales_item.h:45:7: error: constructor required before non-static data member for ‘Sales_item::units_sold’ has been parsed
class Sales_item {
^
Sales_item.h:45:7: error: constructor required before non-static data member for ‘Sales_item::revenue’ has been parsed
解决办法是:首先,将 gcc 和 g++ 的版本升到 8.0版,
sudo update-alternative --config g++
sudo update-alternative --config gcc
然后,在 ~/.bashrc 中增加以下两行。
alias g++11='g++ -g -Wall -std=c++11'
alias g++14='g++ -g -Wall -std=c++14'
需要更改的 CMakeList.txt 文件有:
文件清单(略)
3.2.7 查看并修正Boost版本
查看boost版本,可以使用以下方法。
dpkg -S /usr/include/boost/version.hpp
dpkg -s libboost-dev | grep 'Version'
注意查看 /include/boost/ 文件夹的位置,并卸载其中较低版本的boost,例如:
删除/usr/include/boost文件夹,删除/usr/lib中和boost有关的文件
sudo rm -rf /usr/include/boost
sudo rm -rf /usr/lib/libboost*
然后,使用
apt-cache search libboost
apt-cache show libboost-dev
命令查看所需安装的版本信息,接着重新安装所需版本的 libboost,例如:
sudo apt install libboost-all-dev
最后,使用
sudo apt autoremove
来卸载剩余的无用功能模块,到此boost 1.67.0就已经成功被卸载了。
注意: 编译ROS源码时,需要保证系统中只有一种版本的 boost,否则会有报错。
3.2.8 ‘shared_ptr’does not name a template type
取消CMakeLists.txt下 add_compoile_options( -std=c++11 ) 的注释。
## Compile as C++11, supported in ROS Kinetic and newer
add_comile_options(-std=c++11)
需要更改的 CMakeList.txt 文件有:
文件清单(略)