Ubuntu20.04安装ros系统,使用dvs_ros软件包

Ubuntu20.04安装ros系统

确保Ubuntu系统已经更新配置好合适的软件源

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'
2、添加密钥:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

成功后会显示:已导入

3、更新
sudo apt update
4、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

5、初始化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
6、设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc

其中noetic对应的是Ubuntu20.04版本
如果输错了版本号,会显示bash: /opt/ros/melodic/setup.bash:
解决方法是打开.bashrc文件,最后一行的环境变量中的版本号修改好保存退出
若发现多行则删除,只需要一行环境变量
最后激活环境变量,输入source ~/.bashrc

7、安装ros依赖
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
8、验证ros是否安装成功
roscore

若安装成功会显示
Ubuntu20.04安装ros系统,使用dvs_ros软件包_第1张图片
至此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

你可能感兴趣的:(ubuntu,linux,运维)