大三下实训,关于机器人应用开发的。好多知识要自学,最近一直在看ROS的基础教程,一边看一边动手实践,但内容较多,所以整理一下方便以后回顾。
嫌麻烦没有装双系统,所以用的是Linux虚拟机,在虚拟机上装ROS网上有很多教程,我找到了一个镜像版本Ubuntu-for-ROS,装好后直接就用了,也挺方便的。
——————– 这里是分割线 ————————-
机器人操作系统(ROS)
- ROS是一个操作系统,将各种机器人硬件封装,提供给上层的应用程序调用。
- 跨平台模块化软件通讯机制:
应用程序用节点(Node)表示,Node之间的通讯方式有三种:消息(Topic),服务(Service),动作(Action)。 - 由一系列功能强大的开源工具组成。
- 吸收了一系列开源项目,包含各种先进算法。
- 活跃的机器人开发交流平台。
ROS 文件系统
- 文件系统工具
rospack find —— 获取软件包有关信息,返回软件包路径信息
roscd —— 直接切换工作目录到某个软件包或者软件包集当中
echo $ROS_PACKAGE_PATH —— 查看环境变量中包含的路径
roscd log —— 切换到保存日记文件的目录下
rosls —— 按软件包的名称而不是绝对路径罗列目录
tab 键可以自动完成输入
创建ROS程序包
catkin 程序包的组成:
- 必须包含 catkin compliant package.xml 文件
- 必须包含一个 catkin 版本的 CMAKELists.txt文件, Catkin metapackages 中必须包含一个对 CMAKEList.txt 文件的引用。
- 每个目录下只能有一个程序包
创建 catkin 工作空间
创建一个 catkin 程序包
使用catkin_create_pkg命令创建程序包
程序包依赖关系
使用 rospack 命令工具查看依赖包
这些依赖包保存在 package.xml 文件中:
可以使用 rospack 命令,递归查看所有依赖包
自定义程序包
修改 package.xml 文件的标签信息
编译程序包
在工作空间目录下,使用 catkin_make 命令编译程序包