什么是 ROS?
中间件 / 类操作系统.
1, 硬件抽象, 底层设备控制;
2, 包管理, 常用函数的实现;
3, 进程间消息传递.
ROS 包括?
框架, 工具, 功能, 社区.
框架:
分布式
进程管理
进程间通信
工具:
仿真
数据可视化
图形界面
数据记录
功能:
控制
规划
视觉
建图
社区:
软件包管理
文档
教程
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'
2, 设置密钥
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.NET:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3, 更新系统
sudo apt-get update
4, 安装
sudo apt-get install ros-kinetic-desktop-full
5, 初始化
sudo rosdep initrosdep update
6, 环境配置
echo "source /opt/ros/kinetic/setup.bash">> ~/.bashrcsource ~/.bashrc
7, 安装 rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
8, 测试
roscore
Catkin 工程结构
catkin 工程: ros 定制编译构建系统, 对 CMake 的扩展.
catkin_make
建立工作空间
编译
package
catkin 编译的基本单元
ROS 软件的基本组织形式
catkin 编译的基本单元
一个 package 可以包含多个可执行文件 (节点)
CMakeList.txt
规定 catkin 编译的规则
例如: 源文件, 依赖项, 目标文件.
package.xml
一般需要更改 build_depend,run_depend.
代码文件
脚本 (shell,python)
C++(头文件, 源文件)
自定义通信格式
消息 (msg)
服务 (srv)
动作 (action)
launch 以及配置文件
launch 文件 (launch)
配置文件 (YAML)
典型的 package 结构
常用指令
参考网址:
https://www.bilibili.com/video/av24585414/
来源: http://www.jianshu.com/p/1c372c891713