Ubuntu20.04安装ros系统
确保Ubuntu系统已经更新配置好合适的软件源
添加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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
成功后会显示:已导入
更新
sudo apt update
ros系统安装(1.0)
Ubuntu版本不同,安装指令不同,Ubuntu20.04指令如下:
sudo apt install ros-noetic-desktop-full
ros1.0对Ubuntu的支持只到20.04,22.04上安装ros1.0需要从源码编译安装或者安装ros2.0
ubuntu 18.04 melodic
ubuntu 16.04 kinetic
ubuntu 14.04 indigo
初始化rosdep
sudo rosdep init
成功后显示
Recommended:please run
rosdep update
一般出现以下错误,解决方法如下:
错误1:sudo:rosdep:command not found
解决方法:
输入命令sudo apt install python-rosdep2
或 sudo apt install python3-rosdep2
输入y继续,完成后再输入sudo rosdep init,如果成功请跳到下一步。
出现错误请继续
错误2: ERROR: cannot download default sources list from:https :
//raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
解决方法:
输入sudo gedit /etc/hosts
后,在文件中添加以下内容:
199.232.28.133 raw.githubusercontent.com
该地址是通过IPAddress.com首页,输入raw.githubusercontent.com查询到IP
若上面的地址不成功请自行查询最新的地址。
完成后再输入sudo rosdep init,如果成功请跳到下一步。
出现错误请继续
错误3: ERROR: default sources list file already exists:
/etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
解决方法:
输入
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
完成后再输入sudo rosdep init,应该是成功的
注意: 在使用无线网络时可能出现超时现象,可以更换网络或者使用手机热点试试
错误4: sudo apt install ros-noetic-desktop-full后报错
下列软件包有未满足的依赖关系:
ros-noetic-desktop-full : 依赖: ros-noetic-desktop 但是它将不会被安装
依赖: ros-noetic-perception 但是它将不会被安装
依赖: ros-noetic-simulators 但是它将不会被安装
依赖: ros-noetic-urdf-sim-tutorial 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决方法:
这个错误很少出现,一般出现在Ubuntu系统故障,修复了系统后再重新安装ros出现的问题。
方法1: 在软件和更新 中,开发者选项,勾选focal-peoposed选项,之后选择安全更新中的Ubuntu核心组件
安装完毕后,
sudo apt update
sudo apt install ros-noetic-desktop-full
方法2:
将所提到的四个依赖软件包进行aptitude安装:
sudo apt install aptitude
sudo aptitude install ros-noetic-desktop ros-noetic-perception ros-noetic-simulators ros-noetic-urdf-sim-tutorial
出现是否接受该解决方案时,即降级软件包,选择n,需要选择两次,最后接受方案,选y开始安装,安装完成后,开始
sudo apt install ros-noetic-desktop-full
设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
其中noetic对应的是Ubuntu20.04版本
如果输错了版本号,会显示bash: /opt/ros/melodic/setup.bash:
解决方法是打开.bashrc文件,最后一行的环境变量中的版本号修改好保存退出
若发现多行则删除,只需要一行环境变量
最后激活环境变量,输入source ~/.bashrc
安装ros依赖
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
验证ros是否安装成功
roscore
若安装成功会显示
至此ros系统安装完成。不过可能出现以下错误,解决方法如下:
错误1 Resource not found:roslaunch
Ros path [0]=/opt/ros/noetic/share/ros
Ros path [1]=/opt/ros/noetic/share
The traceback for the exception was written to the log file
解决方法:
输入以下命令,可能是之前有包没有安装好的情况
sudo apt install ros-noetic-desktop-full
完成后再输入roscore,会显示成功界面。
错误2 Resource not found:roslaunch
The traceback for the exception was written to the log file
解决方法:
输入以下命令
source /opt/ros/noetic/setup.bash
完成后再输入roscore,会显示成功界面。
错误3 Command ‘roscore’ not found, but can be installed with:sudo apt install python3-roslaunch
解决方法:
输入以下命令
sudo apt install python3-roslaunch
完成后再输入roscore,会显示成功界面。
Ubuntu20.04中ros_dvs驱动安装
官方教程:https://github.com/uzh-rpg/rpg_dvs_ros
安装ros依赖
sudo apt-get install ros-noetic-camera-info-manager
sudo apt-get install ros-noetic-image-view
安装其他存储库
sudo apt-get install libcaer-dev
sudo apt-get install python3-catkin-tools
其中libcaer不再支持ubuntu16.04及以上版本的安装,具体安装步骤:
下载压缩包:https://gitlab.com/inivation/dv/libcaer,解压后执行以下命令
cd libcaer-master/
cmake -DCMAKE_INSTALL_PREFTX=/usr .
make
sudo make install
创建工作空间
mkdir -p workspace/src
cd workspace
输入
catkin config --init --mkdirs --extend /opt/ros/noetic--merge-devel --cmake-args -DCMAKE_BUILD_TYPE=Release
继续,下载驱动包
cd workspace/src
git clone https://github.com/catkin/catkin_simple.git
下载dvs_ros软件包
git clone https://github.com/uzh-rpg/rpg_dvs_ros.git
如果使用的是DAVIS,编译如下
cd workspace
catkin build davis_ros_driver
catkin build dvs_renderer
source ~/workspace/devel/setup.bash
Ubuntu20.04中使用ros_dvs
步骤:
source ~/workspace/devel/setup.bash
roscore
roslaunch dvs_renderer davis_mono.launch(启动DAVIS渲染器)
ros系统发布DVS事件和帧话题
如果出现错误
RLException: [davis_mono.launch] is neither a launch file in package [dvs_renderer] nor is [davis_mono.launch] a launch file name
解决方法1:
删除build文件,重新编译
cd workspace
catkin build davis_ros_driver
catkin build dvs_renderer
source ~/workspace/devel/setup.bash
解决方法2:
sudo gedit ~/.bashrc
打开文件后在最后添加如下代码
source ~/workspace/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/workspace/
更新bashrc
source ~/.bashrc
查看ros路径(是否显示添加的dvs工作空间路径)
echo $ROS_PACKAGE_PATH
参考链接:
http://t.csdn.cn/ogRXH