当前位置: 首页 > news >正文

深圳市坪山区住房和建设局网站百度搜索软件

深圳市坪山区住房和建设局网站,百度搜索软件,wordpress设置页面缓存,外贸网站建设费用一般要多少ROS2 入门应用 引用自定义消息(Python)1. 查看自定义消息2. 修改话题发布3. 修改话题订阅4. 修改依赖关系5. 编译和运行1. 查看自定义消息 引用在《ROS2 入门应用 创建自定义接口》中自定义的消息Sphere.msg ros2 interface show tutorial_interfaces/…

ROS2 入门应用 引用自定义消息(Python)

  • 1. 查看自定义消息
  • 2. 修改话题发布
  • 3. 修改话题订阅
  • 4. 修改依赖关系
  • 5. 编译和运行


1. 查看自定义消息

引用在《ROS2 入门应用 创建自定义接口》中自定义的消息Sphere.msg

ros2 interface show tutorial_interfaces/msg/Sphere# geometry_msgs/Point center
#         float64 x
#         float64 y
#         float64 z
# float64 radius

需要对《ROS2 入门应用 发布和订阅(Python)》中创建的发布者/订阅者功能包稍作修改

cd ~/ros2_ws/src/py_pubsub/py_pubsub

将把数值的字符串更改为球体半径


2. 修改话题发布

修改publisher_member_function.py话题发布源文件,涉及话题类型变更和应用变化

import rclpy
from rclpy.node import Nodefrom tutorial_interfaces.msg import Sphere  # CHANGEclass MinimalPublisher(Node):'''发布器节点类'''def __init__(self):# 初始化节点名、发布器、每0.5s回调的定时器和计数器super().__init__('minimal_publisher')self.publisher_ = self.create_publisher(Sphere, 'topic', 10)  # CHANGEtimer_period = 0.5 self.timer = self.create_timer(timer_period, self.timer_callback)self.i = 0def timer_callback(self):'''定时器回调函数'''# 打印并发布字符串附加计数器值的信息msg = Sphere()                                           # CHANGEmsg.radius = float(self.i)                               # CHANGEself.publisher_.publish(msg)self.get_logger().info('Publishing: "%d"' % msg.radius)  # CHANGEself.i += 1def main(args=None):# 初始化ROS2rclpy.init(args=args)# 创建节点minimal_publisher = MinimalPublisher()# 运行节点rclpy.spin(minimal_publisher)# 销毁节点,退出ROS2minimal_publisher.destroy_node()rclpy.shutdown()if __name__ == '__main__':main()

3. 修改话题订阅

修改subscriber_member_function.py话题订阅源文件,涉及话题类型变更和应用变化

import rclpy
from rclpy.node import Nodefrom tutorial_interfaces.msg import Sphere  # CHANGEclass MinimalSubscriber(Node):'''订阅器节点类'''def __init__(self):# 初始化节点super().__init__('minimal_subscriber')# 初始化订阅器,话题类型Sphere,话题topic,回调函数listener_callbackself.subscription = self.create_subscription(Sphere, 'topic', self.listener_callback, 10)  # CHANGEself.subscription  # 防止未使用变量警告def listener_callback(self, msg):'''订阅器回调函数'''# 打印订阅话题的消息数据self.get_logger().info('I heard: "%d"' % msg.radius)  # CHANGEdef main(args=None):# 初始化ROS2rclpy.init(args=args)# 创建节点minimal_subscriber = MinimalSubscriber()# 运行节点rclpy.spin(minimal_subscriber)# 销毁节点,退出ROS2minimal_subscriber.destroy_node()rclpy.shutdown()if __name__ == '__main__':main()

4. 修改依赖关系

package.xml清单文件中,添加对自定义消息的依赖项的声明

<exec_depend>tutorial_interfaces</exec_depend>

Python源文件应用不涉及到CMake编译信息,因此不用修改CMakeLists.txt编译文件

setup.py安装软件包说明的程序入口点entry_points字段在之前已经设置完成

entry_points={'console_scripts': ['talker = py_pubsub.publisher_member_function:main','listener = py_pubsub.subscriber_member_function:main',],
},

5. 编译和运行

进入工作空间根目录

cd ~/ros2_ws

编译:

colcon build --packages-select py_pubsub

打开一个新终端,运行话题发布节点:

ros2 run py_pubsub talker# [INFO] [minimal_publisher]: Publishing: "0"
# [INFO] [minimal_publisher]: Publishing: "1"
# [INFO] [minimal_publisher]: Publishing: "2"

打开一个新终端,运行话题订阅节点:

ros2 run py_pubsub listener# [INFO] [minimal_subscriber]: I heard: "10"
# [INFO] [minimal_subscriber]: I heard: "11"
# [INFO] [minimal_subscriber]: I heard: "12"

谢谢

http://www.fp688.cn/news/159546.html

相关文章:

  • 做柜子网站深圳网站推广
  • 网站栏目规划图谷歌浏览器下载安装2022
  • 科技公司网站建设微信群发软件
  • 黑龙江网络公司网站建设成都培训机构排名前十
  • 美食网站建设项目规划书b站在线观看
  • 网站后台图片滚动效果怎么做深圳网站关键词
  • 网站中文域名怎么做今日头条淄博新闻
  • 网站建设宣传册福州seo推广
  • 做跨境电商有没推荐的网站培训机构加盟
  • 罗湖网站开发互联网营销专家
  • 南阳网站建设多少钱短视频运营方案策划书
  • 国外免费网站服务器链接网站维护工程师
  • 自己做视频网站流量钱南宁百度seo公司
  • wordpress添加首页菜单seo思维
  • 婚介网站建设老域名
  • 哪些网站的做的好看的图片成功营销案例分享
  • 吉林做网站找谁百度云账号登录
  • 温州哪里做网站设计建网站需要多少钱
  • 财政网站 建设方案今日重大新闻
  • 响应式网站费用合肥seo快排扣费
  • 做外贸做网站百度网盘链接
  • 哈尔滨h5制作合肥关键词排名优化
  • 网站建设五合一迅雷磁力链bt磁力种子
  • seo整站优化托管百度平台商家客服电话
  • 莱芜最新话题搜索引擎优化是指什么意思
  • 东莞做网站(信科网络)百度普通版下载
  • 温州做网站的企业英文站友情链接去哪里查
  • 物流公司网站建设seo是网络优化吗
  • 宜春网站建设公司哪家好营销网络的建设怎么写
  • 国内产品网站建设网络营销的五个发展阶段