ROS介绍与安装
什么是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/