注意: 如果你是使用类似apt这样的软件管理器来安装ROS的,那么安装后这些软件包将不具备写入权限,当前系统用户比如你自己也无法对这些软件包进行修改编辑。当你的开发涉及到ROS软件包源码层面的操作或者在创建一个新的ROS软件包时,你应该是在一个具备读写权限的目录下工作,就像在你当前系统用户的home目录下一样。
apt工具安装ROS系统以及相关的软件包 ,apt安装的软件包都是二进制形式, 可以在系统中直接运行, 它们是ROS官方提供给用户的应用程序。
然而很多时候我们需要自己做一些定制改写, 或者运行第三方开发的软件包, 这个时候就需要下载源代码进行编译。
1 软件包分类
软件包(Package)可以分为二进制和源代码。
二进制包里面包括已经编译完成, 可以直接运行的程序。 通过 sudo apt-get install 来进行下载和解包( 安装) , 执行完该命令后就可以马上使用。 并且这种方式简单快捷, 适合比较固定、 无需改动的程序。
源代码包里是程序的原始代码, 在你的计算机上必须经过编译, 生成了可执行的二进制文件, 方可运行。 一些个人开发的程序、 第三方修改或者你希望修改的程序都应当通过源代码包来编译安装。
2 二进制包与源代码包的区别
3 ROS二进制包的安装
在ROS中, 我们可能经常会遇到缺少相关的ROS依赖的问题。 有些时候你编译或者运行一些ROS程序, 系统会提示找不到XXX功能包 。
遇到这样的问题, 请先注意阅读错误原因, 看看是否有解决方法, 也可以Google、Bing一下。 如果是缺少ROS的依赖, 通常可以用以下命令来安装:
$ sudo apt-get install ros-kinetic-PACAKGE
将PACKAGE替换为系统提示缺啥少的软件包, 例如:
$ sudo apt-get install ros-kinetic-slam-gmapping #GMapping-SLAM算法包 $ sudo apt-get install ros-kinetic-turtlebot-description #Turtlebot机器人模型包
注:所有apt官方中的ROS功能包都是按照ros-的形式来命名。
4 适配ROS的IDE
通常ROS的程序都是用C++和Python开发的, 为了提高开发的效率, 建议用IDE来写代码。
目前在Ubuntu上已经有许多IDE支持ROS开发, 比如Eclipse、 Qt Creator。 不过这些IDE配置起来会比较麻烦, 推荐一款适配ROS的IDE——RoboWare Studio来开发ROS
ROS IDE官网推荐:http://wiki.ros.org/IDEs