(七)ROS学习--操作小海龟及编程提要

一、在仿真器跑例程
1.在Ubuntu系统中打开一个终端, 输入以下命令运行ROS的节点管理
器——ROS Master, 这是ROS必须运行的管理器节点

roscore

2.然后打开一个新终端, 使用rosrun命令启动turtlesim仿真器节点

rosrun turtlesim turtlesim_node

3.运行一个例子(通过键盘控制小海龟的移动)

rosrun turtlesim turtle_teleop_key

(七)ROS学习--操作小海龟及编程提要_第1张图片注意:键盘上的 左右键 控制转向 上下按键 分别 控制前进和后退

二、ROS的编程逻辑
1.架构
工作空间(workspace)
src: 代码空间(Source Space) , 开发过程中最常用的文件夹,用来存储所有ROS功能包的源码 文件。
build: 编译空间(Build Space) , 用来存储工作空间编译过程中产生的缓存信息和中间文件。
devel: 开发空间(Development Space) , 用来放置编译生成的可执行文件。
install: 安装空间(Install Space) , 编译成功后, 可以使用make install命令将可执行文件安装到该空间中, 运行该空间中的环境变量脚本, 即可在终端中运行这些可执行文件。 安装空间并不是必需的,很多工作空间中可能并没有该文件夹。

(七)ROS学习--操作小海龟及编程提要_第2张图片2.编程流程
(1)创建工作空间

mkdir -p ~/catkin_ws/src  #注意catkin_ws 是自己命名的工作空间名,也可以不叫catkin_ws,本示例是zhoy_test
cd ~/catkin_ws/src        #初始化前要进入到工作空间(catkin_ws)目录下的src目录下
catkin_init_workspace     #初始化工作空间

(2)预编译工作空间

 cd ~/catkin_ws/   #编译前要进入到工作空间(catkin_ws)目录下
catkin_make        #执行编译指令

编译过程中, 在工作空间的根目录里会自动产生build和devel两个
文件夹及其中的文件。 编译完成后, 在devel文件夹中已经产生几个
setup.*sh形式的环境变量设置脚本。 使用source命令运行这些脚本文
件, 则工作空间中的环境变量可以生效。

source devel/setup.bash

为了确保环境变量已经生效, 可以使用如下命令进行检查

echo $ROS_PACKAGE_PATH

环境变量已经生效会输出刚才添加的路径
(七)ROS学习--操作小海龟及编程提要_第3张图片

(3)创建功能包(在工作空间目录下的src目录下打开终端创建)
命令格式
catkin_create_pkg <功能包名字> [功能包依赖1] [功能包依赖2] [功能包依赖3]

如:

catkin_create_pkg learning_communication std_msgs rospy roscpp

创建完成后, 代码空间src中会生成一个learning_communication功能
包, 其中已经包含package.xml和CMakeLists.txt文件。
其中:
package.xml文件 提供了功能包的元信息, 也就是描述功能包属性的信息。
CMakeLists.txt文件 记录了功能包的编译规则。

三、总结,用思维导图帮助理解

(七)ROS学习--操作小海龟及编程提要_第4张图片

你可能感兴趣的:(机器人操作系统学习_ROS)