ROS-机器人操作系统(ROS)浅析----第三章

本文摘录自《ROS机器人操作系统》第三章,介绍ROS程序的编写,包括功能包创建命令的作用,package.xml作为清单文件的角色,以及CMakeLists.txt在Cmake编译系统中的应用,阐述了ROS消息机制的理解与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博客摘录于:机器人操作系统(ROS)浅析–[美] Jason M. O’Kane 著–肖军浩 译

第三章 编写ROS程序

前两章的摘录,其实就是想提醒下学习ROS前期过程中可能遇到的问题以及部分困惑。 
catkin_create_pkg pkg-name

其实,这个功能包创建命令没有做太多工作,它只不过创建了一个存放这个功能包的目录,并在那个目录下生成了两个配置文件。
第一个配置文件,叫做package.xml,清单文件。
第二个文件,叫做CMakeLists.txt,是一个Cmake的脚本文件,Cmake是一个符合工业标准的跨平台编译系统。这个文件包含了一系列的编译指令,包括应该生成哪种可执行文件,需要哪些源文件,以及在哪里可以找到所需的头文件和链接库。当然,这个文件表明catkin在内部使用了Cmake。

ROS包的命名遵循一个命名规范,只允许使用小写字母、数字和下划线,而且首字符必须是一个小写字母。一些ROS工具,包括catkin,不支持那些不遵循此命名规范的包。
24 geometry_msgs : : Twist msg ;
25 msg.linear . x = double ( rand ( ) ) / double (RAND_MAX) ;
26 msg.angular.z = 2* double ( rand ( ) )/double (RAND_MAX) − 1 ;
27
28 // Publish the message .
29 pub . publish ( msg ) ;
msg消息发布相关运动
ros::Subscriber
15 int main ( int argc , char ** argv ) {
16 // Initialize the ROS system and become a node .
17 ros::init ( argc , argv , " subscribe_to _pose " ) ;
18 ros::NodeHandle nh ;
19
20 // Create a subscri ber obj ect .

21 ros::Subscriber sub = nh.subscribe ( " turtle1/pose " ,1000,
22 &poseMessageReceived ) ; //CallBack;
23
24 // Let ROS take over .
25 ros::spin ( ) ;

对ROS进行消息机制的处理中,需要清晰明白的了解自己想发布和订阅的节点,或者自己定义,通过遵循ROS的机制即可,中途对msg的应用需要留意下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值