ROS是机器人操作系统的简称,本文介绍我的第一个ROS应用开发,发布者Publisher的编程。程序很简单,代码就几行,但是让仿真小乌龟运动起来。先是c++代码,然后是python 代码,你也可选择只看一种你熟悉的。
功能包建立
在 ROS 开发应用准备:创建工作空间 一文中建立了ROS工作空间,现在就建立一个功能包:
cd ~/catkin_ws/src
catkin_create_pkg learning_topic std_msgs roscpp rospy geometry_msgs turtlesim
第1行是回到工作空间的src 目录,功能包建立必须在这个目录下运行。
第2行是建立功能包的命令,第一个参数是功能包的名字,这里是learning_topic , 接下来是功能包的依赖库,这里是std_msgs roscpp rospy geometry_msgs turtlesim 共5个依赖库。
上面命令执行后,可以在src 目录下看到有一个目录,名字是learning_topic,其下有下面内容:
CMakeLists.txt include package.xml scripts src
其中scripts 是后来手工建立的,用于存放 python代码。
c++ 源代码
在src 目录下,也是~/catkin_ws/src/learning_topic/src 目录, 建立一个文件 velocity_publisher.cpp,
cd ~/catkin_ws/src/learning_topic/src
nano velocity_publisher.cpp
内容为:
/**
* 该例程将发布turtle1/cmd_vel话题,消息类型geometry_msgs::Twist
*/
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
int main(int argc, char **argv)
{
// ROS节点初始化