ROS lesson 1
ROS ROS官网
ROS 简介
- ROS 是 Robot Operation System 的简写,并且 他诞生在2000年后,至今有10余年了,运行在 Linux(Ubuntu) 上
- ROS 不是 真正意义上的 OS(操作系统)
- 类似Java 的 JVM 只是运行在操作系统上的一个软件来管理 Robot 的操作。 因为在过去 需要做很多事情。 机器人架构,底层算法,激光感应器Draw Mapping, 算法。
ROS 安装
- 在 Github 上搜索 重德智能
- 在 重德智能 上找到 ROS-Academy-for-Beginners(是开源的项目,里有介绍,以及下载 与 安装 教程)
ROS IDE推荐
- 软件名称: RoboWare
- 软件安装: 见 roboware
ROS 编译工具
- ** catkin ** 编译工具 基于CMake 开发的
- ** catkin_make ** 初始化 并 建立 工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
编译
cd ~/catkin_ws #回到工作空间
catkin_make
source ~/catkin_ws/devel/setup.bash
#编译完成后要source刷新环境
- 执行后会在当前目录下生成 build 和 devel 两个文件夹
build 里是CMake 和 catkin 缓存的中间文件
build 里是 目标文件,一些生成的头文件
或者代码文件
,这里不需要管。
src 就是写代码的 地方 ,不需要去** build & devel** 文件夹
package
- ROS 软件的基本组织形式
- catkin 编译的基本单元
- 一个package可以包含多个可执行文件(节点)
package 包含 CMakeList.txt 和 package.xml 这是 最精简结构
CMakeList.txt 规定catkin编译的规则
例如:源文件、依赖项、目标文件
package.xml 定义package的属性
例如: 包名、版本号、作者、依赖等
<?xml version="1.0" encoding="UTF-8"?>
<package><!--根标签-->
<name/><!--包名-->
<version/><!--版本号-->
<description/><!--包描述-->
<maintainer/><!--维护者-->
<license/><!--软件许可-->
<buildtool_depend/><!--编译工具-->
<build_depend/><!--编译时的依赖-->
<run_depend/><!--运行时的依赖-->
</package>
ROS 开发 常用命令
- rospack
- 查找某个pkg的地址
rospack find package_name
- 列出本地所有的pkg
rospack list
- roscd
- 跳转到某个pkg路径下
roscd package_name
- rosls
- 列举某个pkg下的文件信息
rosls package_name
- rosed
- 编辑pkg种的文件
rosed pakage_name file_name
- catkin_create_pkg
- 创建一个pkg
catkin_create_pkg <pkg_name>[deps]
- rosdep
- 安装某个pkg所需的依赖
rosdep install [pkg_name]