持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
在安装系统之前有必要先介绍一些其他的内容,以防止你后面安装遇到问题,或者后面安装遇到问题不知道怎么解决,或者找的解决方式不能够解决你的问题,就很悲催!
1查看MInt系统或Ubuntu的系统的版本号
1.1 Mint系统或Ubuntu版本号说明
不同的Ubuntu对应的ROS的版本不同,因此在安装前一定要确定你自己Ubuntu系统的版本,应该安装哪一个ROS系统版本
ROS发布日期 | ROS版本 | 对应Ubuntu版本 --------|-------|---------|------------------------------ 2012.12 | ROS Groovy Galapagos | Ubuntu 12.04(Precise) 2013.09| ROS Hydro Medusa | Ubuntu 12.04 LTS(Precise) 2014.07|ROS Indigo Igloo | Ubuntu 14.04(Trusty) 2015.03|ROS Jade Turtle | Ubuntu 15.04(Wiky)/ Ubuntu LTS 14.04(Trusty) 2016.03|ROS Kinetic Kame | Ubuntu 16.04(Xenial)/ Ubuntu 15.10(Wily) 2018.05|ROS Melodic | Ubuntu18.04(Bionic)/ Ubuntu18.04 LTS(Bionic)
2 在Mint19.3上安装ROS系统
1、设置安装源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
上面就是通过lsb_release -sc
获取系统的版本代号,然后把安装源:deb http://packages.ros.org/ros/ubuntu bionic main
写入到/etc/apt/sources.list.d/ros-latest.list
文件中!
或者直接用Ubuntu18.04
的版本代号bionic
(Mint19.3直接用下面这种命令
)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros-latest.list'
注意:
如果你的系统是:Ubuntu18.04
,那lsb_release -sc
获取到的版本代号应该为:bionic
,而Mint19.3
系统虽然对应的是Ubuntu18.04
,但是lsb_release -sc
获取到的是Mint19.3
的版本代号tricia
。因此,如果你是Mint19.3
系统,不要使用lsb_release -sc
获取系统的版本代号!
2、设置秘钥(不用担心,ROS是开源的,密钥直接下载就好了,不用买)
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3、更新源地址
sudo apt-get update
更新错误:E: 仓库 “file:/var/cuda-repo-ubuntu1804-10-2-local Release” 没有 Release 文件。
尝试解决:
方法一:网上很多说是换源(即修改/etc/apt/sources.list
文件中添加新的镜像源),如果你们想要添加镜像源,也可以去这里查看各种系统对应的镜像源,此方法我亲测无效!!!
方法二:后面我找到了这篇博客,以为找到了救命稻草,首先他的系统是Ubuntu18.04
,我的系统是Mint19.3
,虽然有点区别,但是我在:软件源-额外的仓库
中还是找到了同样的设置,然后把勾选状态取消
之后再更新,就没有出现这种问题了,但是后面操作又会遇到新的问题,这种方法只是跳过不更新这个源,治标不治本呀,后面我是需要这个源下载安装一些其他的库包的!
最终解决,就是把上面的$lsb_release -sc
改为:bionic
,把镜像源重新添加一次!所以用Mint19.3系统还是有坑的呀!
4、安装ros-melodic-desktop-full
sudo apt-get install ros-melodic-desktop-full
从上面的ros-melodic-desktop-full
可以看到ros的版本代号melodic
,因此对应的是Ubuntu18.04版本
,二我们之所以遇到这个错误,也是一开始用的是$lsb_release -sc
获取的是Mint19.3
的版本代号tricia
错误报告如下:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
ros-melodic-desktop-full : 依赖: ros-melodic-desktop 但是它将不会被安装
依赖: ros-melodic-perception 但是它将不会被安装
依赖: ros-melodic-simulators 但是它将不会被安装
依赖: ros-melodic-urdf-tutorial 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
注意:
如果安装特别缓慢,请参考
5、收尾工作
sudo rosdep init
在执行这个命令的时候,提示:rosdep :command not found
,然后这篇博客,需要先安装如下:
sudo apt install rospack-tools
但是按装完
rospack-tools
后,再执行sudo rosdep init
依然显示命令不存在,但是从上图中的推荐安装:python-rosdep
可以看到,安装这个库包可以解决问题!
sudo apt-get install python-rosdep
最后再更新即可:
rosdep update
6、设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
把环境source /opt/ros/melodic/setup.bash
追加到~/.bashrc配置文件末尾!
遇到的其他问题:
ros的python调用库包rospy
导入不存在:
>>> import rospy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'rospy'
>>>
解决方法:
网上好多给出的方法都是修改pycharm中的配置文件,但是对于我来说都没有用,第一直观的想法是:rospy这个库包不存在,安装它
,但是使用pip install rospy
安装这个库包会提示不存在!
使用如下命令安装rospy库包
安装完后可以正确导入import rospy; import rospkg
pip install rospkg
错误:
rospy.exceptions.ROSInitException: time is not initialized. Have you called init_node()?
解决方法:直接安装libignition-math2
即可解决问题!
sudo apt upgrade libignition-math2
后面运行又报错误了,从错误信息显示可以看出是:时间没有初始化
我们再来看一下:rosbag play 2020-08-04-16-22-48.bag
启动命令的显示信息,其中Duration就是持续的时间,单位应该是秒
,只要命令执行,时间就是持续向前走的,如果先运行该命令,再运行程序就相当于时间没有初始化!
最终解决方式:请按照如下的运行顺序进行运行程序
1、先开启ros服务
roscore
2、再运行程序
python radar_fusion_rgb.py
3、最后执行雷达数据包,时间初始化,时间从0开始
rosbag play 2020-08-04-16-22-48.bag
参考1:blog.csdn.net/sinat_34130… 参考2:blog.csdn.net/haiyinshush…