ROS学习笔记1:核心知识、安装、简单例子介绍。
古月-机器人操作系统ROS理论与实践学习笔记
1、ROS是什么?
开源的机器人操作系统,为了提高软件复用性,提供了很多优秀的工具和库。
ROS=通讯机制+开发工具+应用功能+生态系统。
2、ROS的特点?
(1)点对点设计:节点单元、分布式网络、RPC+TCP/UDP通信系统、适合多机协同。
(2)多语言支持:语言无关的接口定义、支持Python、c++、java等。
(3)架构精简、集成度高:每个节点可以单独编译、集成众多开源项目、接口统一、提高软件复用性。
(4)组件化工具包丰富:3D可视化工具-rviz、物理仿真环境-gazebo、数据记录工具-rosbag、Qt工具箱-rqt_*。
(5)免费并且开源:BSD许可、良好的生态系统。
3、ROS系统实现的三个层次?
计算图:描述程序如何运行的
文件系统:程序文件是如何组织和构建的
开源社区:ROS资源是如何分布式管理的
4、核心概念有哪些?
节点:软件模块
节点管理器:控制中心,提供参数管理
话题:异步通信机制,传输消息,发布/订阅。
服务:同步通信机制,传输请求/应答数据。5、ROS中的通信机制?
6、话题与服务的区别?
7、文件系统的组成?
8、ROS的安装?
也可参考博客1
参考博客2
9、常用命令?
catkin_create_pkg 创建功能包
rospack 获取功能包的信息
catkin_make 编译工作空间中的功能包
rosdep 自动安装功能包依赖的其他包
roscd 功能包的目录跳转
roscp 拷贝功能包中的文件
rosed 编辑功能包中的文件
rosrun 运行功能包中的可执行文件
roslaunch 运行启动文件
编辑命令时打完ros按Tab键自动查找\补全。
10、第一个例程-小海龟仿真
打开第一个终端
roscore 启动ROSmaster
打开第二个终端
rosrun turtlesim turtlesim_node 启动小海龟仿真器(功能包名+节点名)
打开第三个终端
rosrun turtlesim turtle_teleop_key 启动海龟控制节点
键盘方向键可以控制小海龟运动了。
学习资料
ROS wiki
ROS answer
各种博客、公众号