赵虚左ROS1教程:第二章 ROS通讯机制

第二章 ROS通信机制

采用赵虚左的ROS教程学习ROS,教程:

视频链接🔗 https://www.bilibili.com/video/BV1Ci4y1L7ZZ

文档链接🔗 http://www.autolabor.com.cn/book/ROSTutorials/

我的设备 : Unbuntu 20.04 双系统 | ROS 1 noetic

学习内容

  • 话题 (Topic) 通信
  • 服务 (Service) 通信
  • 参数服务器 (Param)

最终实操 : 结合已经介绍ROS命令获取节点、话题、话题消息、服务、服务消息与参数的信息,最终再以编码的方式实现乌龟运动的控制、乌龟位姿的订阅、乌龟生成与乌龟窗体背景颜色的修改。

实操推荐 : 全程不看教程自己写。

需要注意的点

  • topic or service 通信建立过程 : 要配置 cpp or python 文件同级CMakeList 文件

  • python 文件需要添加可执行权限,在 scripts 下打开终端输入

    chmod +x *.py
    
  • 在案例二中 cpp 创建订阅者对象函数的问题, 代码为

    ros::Subscriber sub = nh.subscribe("turtle1/pose", 100, doPose);
    

    这里的 "turtle1/pose" 为话题的名称 (Topic)

  • 在案例二中 python 配置 rospy.Subscriber 时的问题, 代码为

    sub = rospy.Subscriber("turtle1/pose", Pose, Pose_CallBackFunc, queue_size=100)
    

    其中, "turtle1/pose" 指的是通信的话题名称 (Topic) , Pose 指的是数据载体 (msg)

  • 在案例三中 cpp 处理请求的函数的问题, 代码为

    ros::service::waitForService("spawn");
    

    这里的 "spawn" 表示服务的名称 (Service)

  • 在案例三中 python 配置 rospy.ServiceProxy 时的问题, 代码为

    client = rospy.ServiceProxy("/spawn", Spawn)
    

    其中, "/spawn" 指的是通信的服务名称 (Service) , Spawn 指的是数据载体 (srv)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值