zoukankan      html  css  js  c++  java
  • Get started with ros -- 1

    原创博文:转载请标明出处(周学伟):http://www.cnblogs.com/zxouxuewei/tag/

     

    .Introduction:

    机器人操作系统(ROS)是使机器人系统的不同部分能够发现,发送和接收数据的通信接口。MATLAB®支持ROS是一个函数库,允许您与启用ROS的物理机器人或机器人模拟器(如Gazebo®)交换数据。

    本示例介绍如何:
         1.在MATLAB中设置ROS
         2.获取有关ROS网络中的功能的信息
         3.获取有关ROS消息的信息

    二.ROS Terminology:

       ROS网络包括通过ROS通信的机器人系统(例如执行器或照相机接口)的不同部分。 网络可以分布在几台机器上。
         ROS主机协调ROS网络的不同部分。 它由主URI(统一资源标识符)标识,它指定主服务器正在运行的计算机的主机名或IP地址。
         ROS节点是包含相关ROS能力(例如发布者,订户和服务)的集合的实体。 ROS网络可以具有许多ROS节点。
         发布者,订阅者和服务是处理数据的不同种类的ROS实体。 他们使用消息交换数据。
         发布者向特定主题(例如“odometry”)发送消息,并且该主题的订阅者接收这些消息。 可以有与单个主题相关联的多个发布者和订阅者。

     三.Initialize ROS Network:

    使用rosinit初始化ROS。 默认情况下,rosinit在MATLAB中创建一个ROS主节点,并启动一个连接到主节点的“全局节点”。 “全局节点”由其他ROS函数自动使用。
    rosinit

     

      使用rosnode列表查看ROS网络中的所有节点。

    rosnode list

      使用exampleHelperROSCreateSampleNetwork来为ROS网络填充三个附加节点和样本发布者和订阅者。

    exampleHelperROSCreateSampleNetwork

     

      再次使用rosnode列表,并观察到有三个新节点(node_1,node_2和node_3)。

    rosnode list

     

      查看节点之间的关系图

     

    四.Topics:

      使用rostopic列表查看ROS网络中可用的主题。 观察到有三个活动主题:/ pose,/ rosout和/ scan。 rosout是一个默认的日志记录主题,它总是存在于ROS网络中。 其他两个主题是作为示例网络  的一部分创建的。

    rostopic list

        

       使用rostopic info 获取特定主题的信息。 以下命令显示node_1向/pose和/rosout主题发布消息,向/scan订阅消息。

    rosnode info /node_1

     

     五.Services:

       ROS服务为ROS网络上的“过程调用”提供了一种机制。 服务客户端向服务服务器发送请求消息,服务服务器处理请求中的信息并且返回响应消息。
         使用rosservice list查看ROS网络中的所有可用服务服务器。 以下命令显示两个服务(/ add和/ reply)可用。

    rosservice list

     

       使用rosservice info获取有关特定服务的信息。

    rosservice info /add

     

    六.Messages

         发布者,订阅者和服务使用ROS消息来交换信息。 每个ROS消息都有一个相关的消息类型,用于定义该消息中的信息的数据类型和布局。
         使用rostopic类型来查看主题使用的消息类型。 以下命令显示/pose主题使用类型为geometry_msgs /Twist的消息。

    rostopic type /pose

     

       使用rosmsg show查看消息类型的属性。 geometry_msgs / Twist消息类型有两个属性,Linear和Angular。 每个属性是一个类型为geometry_msgs / Vector3的消息,依次具有类型为double  的三个属性。

     

    rosmsg show geometry_msgs/Vector3

      使用rosmsg list查看MATLAB中可用的消息类型的完整列表。

    rosmsg list

    七.Shut Down ROS Network

      使用exampleHelperROSShutDownSampleNetwork从ROS网络中删除示例节点,发布者和订阅者。 仅当示例网络之前使用exampleHelperROSStartSampleNetwork创建时,才需要此命令。

    exampleHelperROSShutDownSampleNetwork 

      在MATLAB中使用rosshutdown关闭ROS网络。 这将关闭由rosinit启动的ROS主服务器,并删除全局节点。 一旦你完成使用ROS网络,建议使用rosshutdown。

    rosshutdown
    Shutting down global node /matlab_global_node_87922 with NodeURI http://bat6303glnxa64:33679/
    Shutting down ROS master on http://bat6303glnxa64:11311/.
  • 相关阅读:
    7617:输出前k大的数
    2991:2011
    7620:区间合并
    1688 求逆序对
    Magento How To Display Product Custom Option On list.phtml
    大二实习使用的技术汇总(中)
    codility上的问题 (22)
    poj 3321
    使用ViewPager实现左右“无限”滑动的万年历
    数论练习专题
  • 原文地址:https://www.cnblogs.com/zxouxuewei/p/6219942.html
Copyright © 2011-2022 走看看