ros系统升级,如何从jade升级到kinetic
2017-06-24 10:24
465 查看
原链接:http://community.bwbot.org/topic/150
现在(2017年一月)大部分人使用的ROS都是基于ubuntu 14.04 的 jade 版本。新的基于16.04的 kinetic版本已经发布了很长时间了,新的系统也比较稳定了。
这篇文章就是介绍如何从jade系统安全的系统升级到kinetic系统。
在升级之前首先要说明一下jade系统和kinetic系统之间的主要区别。我所感受到的主要有两点。
Ubuntu 14.04和Ubuntu 16.04之间的区别。16.04相对于14.04主要的改动在于系统启动管理程序的替换。由原来的upstart替换成systemd。所以原有的启动管理配置文件都要进行修改移植之后才能使用。修改起来也是比较简单的,可以google一下相关的文档。
默认使用OpenCV 3
新的ROS系统默认使用OpenCV 3,如果你的原有的程序依赖于OpenCV 2,建议你还是替换到OpenCV 3。否则OpenCV之间的版本配置可能是一个问题。3相对于2,虽然说并不是完全兼容,但是但部分都是可以不用修改直接移植的。而且3默认开启了GPU加速,性能上相对2也有很大的提升。我用ORB_SLAM2程序做了测试,可以在不修改源代码的情况下直接移植到3。
下面就开始正式升级系统了
把这里面的所有第三方的软件源都移除掉
等待删除完成
在弹出的窗口中确认升级
然后等待升级完成,这个过程可能会很久
在升级过程中可能会询问你是否保留一些配置文件,一般默认选保留就可以,否则还要重新写配置文件,比较麻烦。
等待安装完成
如果你原先在bash的启动配置里面添加了jade的环境变量,就需要把对应的环境变量改成kinetic的。比如下面是我的
你要根据自己的环境配置进行修改
初始化工作空间
初始化rosdep
假设你原来的ros工作空间在
然后运行编译
等待编译完成
一般来说肯定会有编译错误,提示错误的程序一般重新编译一遍就没问题。一般产生错误的原因是软件包依赖没有满足。根据错误提示进行修改就可以了。
如果你遇到了什么奇怪的问题,也欢迎在下面评论,我会尽量帮助解决的 :-D
现在(2017年一月)大部分人使用的ROS都是基于ubuntu 14.04 的 jade 版本。新的基于16.04的 kinetic版本已经发布了很长时间了,新的系统也比较稳定了。
这篇文章就是介绍如何从jade系统安全的系统升级到kinetic系统。
在升级之前首先要说明一下jade系统和kinetic系统之间的主要区别。我所感受到的主要有两点。
Ubuntu 14.04和Ubuntu 16.04之间的区别。16.04相对于14.04主要的改动在于系统启动管理程序的替换。由原来的upstart替换成systemd。所以原有的启动管理配置文件都要进行修改移植之后才能使用。修改起来也是比较简单的,可以google一下相关的文档。
默认使用OpenCV 3
新的ROS系统默认使用OpenCV 3,如果你的原有的程序依赖于OpenCV 2,建议你还是替换到OpenCV 3。否则OpenCV之间的版本配置可能是一个问题。3相对于2,虽然说并不是完全兼容,但是但部分都是可以不用修改直接移植的。而且3默认开启了GPU加速,性能上相对2也有很大的提升。我用ORB_SLAM2程序做了测试,可以在不修改源代码的情况下直接移植到3。
下面就开始正式升级系统了
移除第三方软件源
打开软件包管理器把这里面的所有第三方的软件源都移除掉
移除jade软件包
在终端输入sudo apt-get remove ros-jade*
等待删除完成
启动系统更新
在终端输入sudo update-manager -d
在弹出的窗口中确认升级
然后等待升级完成,这个过程可能会很久
在升级过程中可能会询问你是否保留一些配置文件,一般默认选保留就可以,否则还要重新写配置文件,比较麻烦。
恢复第三方软件源
在之前的软件包管理窗口中点击对应的软件源就可以了,注意一定要恢复ROS的源安装kinetic
在终端输入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://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt-get update sudo apt-get install ros-kinetic-desktop-full
等待安装完成
ROS的初始化
修改环境变量如果你原先在bash的启动配置里面添加了jade的环境变量,就需要把对应的环境变量改成kinetic的。比如下面是我的
.bashrc文件
source /opt/ros/kinetic/setup.bash source /home/randoms/Documents/ros/workspace/devel/setup.sh export ROS_PACKAGE_PATH=/home/randoms/Documents/ros/workspace/src:/home/randoms/Documents/ros/workspace/src/ORB_SLAM2/Examples/ROS:$ROS_PACKAGE_PATH
你要根据自己的环境配置进行修改
初始化工作空间
初始化rosdep
sudo rosdep init #如果提示文件已经存在就先把它给删掉 rosdep update
假设你原来的ros工作空间在
/home/randoms/Documents/ros/workspace。这个文件夹内有
src,
devel,
build三个文件夹,删除其中的
build和
devel文件夹
然后运行编译
catkin_make
等待编译完成
一般来说肯定会有编译错误,提示错误的程序一般重新编译一遍就没问题。一般产生错误的原因是软件包依赖没有满足。根据错误提示进行修改就可以了。
确认kinetic安装完成
运行rviz看看能否执行
可能会遇到的问题
系统更新比较头疼的就是驱动问题。可能系统更新完成之后重启发现进不去桌面了。这一般是显卡驱动出问题了。遇到这种情况也不用着急,只要重新装一下显卡驱动就可以了。在grub启动选项中的高级模式里面有recovery mode,从里面可以以文本的方式进入系统,这样就可以重新安装驱动了。具体的安装方法每个显卡都不太一样,自己google一下基本就可以解决了。
如果你遇到了什么奇怪的问题,也欢迎在下面评论,我会尽量帮助解决的 :-D
相关文章推荐
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 如何改造升级大楼的综合布线系统 推荐
- 教你如何实现在原系统上编译升级新内核的编译
- 用户增加,功能扩展时系统如何升级 架构改变
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 如何设置系统与正确删除软件和升级系统
- Win7如何升级Win10?Win7升级到Win10系统图文教程
- 微软Windows 8系统该如何升级与购买
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结 .
- 手机升级系统如何找回丢失的文件
- 如何改造升级大楼的综合布线系统
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 升级邮件系统后,如何删除企业里最后一台旧的Exchange 2000/2003
- linux下如何升级系统默认安装的perl版本
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 如何升级SQL Server数据库系统性能
- 利用ISO镜像如何离线升级Ubuntu系统
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 【免费xp系统下载】教你如何让魅族MX升级系统
- 升级win8.1系统后出现网络连接故障如何对网络连接进行修复