ros2学习笔记

本文介绍了ROS2中的核心概念,包括节点的创建与管理、接口(如功能包、话题和服务)、通信模型(发布-订阅、服务调用)、动作与参数的使用,以及DDS数据分发服务的配置。
摘要由CSDN通过智能技术生成

查看磁盘:df -lh
#################################ROS2开始#####################################

#节点
节点:机器人的工作细胞(执行具体任务进程,独立运行可执行文件,可使用不同编程语
                                             言,可分布运行在不同主机)
创建节点:·编程接口初始化
      ·创建节点并初始化(给节点命名)#接口位置:功能包,文件名,main函数
      ·实现节点功能
      ·销毁节点并关闭接口
      
ros2代码更改:需进行编译才能更改install下的代码,对于简单的改动可直接在install
                 里进行
          
#话题
话题:连接节点的桥梁(发布、订阅模型,多对多通讯模型,异步通信机制,msg文件
                     定义的模型)
创建话题发布者:·创建接口初始化
           ·创建节点初始化
           ·创建发布者对象
           ·创建并填充话题消息
           ·发布话题消息
           ·销毁节点并关闭接口
查看订阅者与发布者的数量:ros2 topic info /image_raw
查看带宽:ros2 topic bw /image_raw
查看二者关系,并调试:rqt_graph

#服务
服务:节点间你问我答(客户端/服务器形式(CS模型),同步通信机制,服务器唯一,
                                                 客户端不唯一,.srv文件定义请求和应答数据结构)
创建客户端:·编程接口初始化
            ·创建节点初始化
            ·创建客户端对象
            ·创建并发送请求数据
            ·等待服务器端应答数据
            ·销毁节点并关闭接口
创建服务端:·编程接口初始化
            ·创建节点初始化
            ·创建服务器端对象
            ·通过回调函数进行服务
            ·向客户端反馈应答结果
            ·销毁节点并关闭接口
呼唤服务的两种方式:ros2 run learning_service service_object_client
                    ros2 service call /get_target_position learning_interface/srv/GetObjectPosition "get: True"
                    
#通信接口
通信接口:数据传递的标准

#动作
动作:完整行为的流程管理(CS模型,同步通信机制,服务器唯一,客户端
                                                 不唯一,.action文件定义通信接口的数据结构)
                                                 
#参数
参数:机器人全局字典(可以在多个节点里共享数据,由键与
                                                值构成,可实现动态监控)
查看参数: ros2 param list(获得参数所在路径)
得到某个参数值:ros2 param get <参数所在路径> <参数名称>
改动某个参数值:ros2 param set <参数所在路径> <参数名称> <新值>
保存某个参数值:ros2 param dump <参数所在路径> >> <保存的文件名.文件类型>

#DDS
DDS:机器人的神经网络(数据分发服务)        
ros2中DDS的核心特性:·每个原则都有对应的系统默认值
             ·可以使用DDS厂商提供的配置工具修改QoS的设置
             ·多商家的QoS可以并存
要求:pub与sub处于同一节点,通讯机制相同
在命令行中配置DDS参数:$ ros2 topic pub /chatter std_msgs/msg/Int32 "data: 32" --qos-reliability best_effort #chatter发布者通讯机制设置    
               $ ros2 topic echo /chatter --qos-reliability reliable
               $ ros2 topic echo /chatter --qos-reliability best_effort #chtter接受者通讯机制设置
               $ ros2 topic info /chatter --verbose #查看chatter的DDS配置
 
             
        
                      
                                                                                       
                                                 
                                                 


           
           
           
           
           
           
               

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值