2 - Basic concepts of ROS study notes

This note comes from: http://wiki.ros.org/ROS/Concepts

  1. ROS file system level
    file system level primarily contains resources you can encounter on ROS disk, including:
    1. Package ( Packages Standard Package ):
      Package is the main unit ROS in the organization's resources, a package can contain process (Nodes) ROS runtime can be a ROS dependent libraries, databases, configuration files, and any other useful organizational unit.
      ROS package that can be compiled and published yuan unit.
    2. Per package ( Metapackages )
      element package is a special package, he only used to represent the organization of a group of other packages. The most common is the rosbuild yuan package to stack compatible converters.
    3. Information package ( Package Penalty for the Manifests )
      package information file ( package.xml ) contains the package name, version, description, license information, dependencies and other meta-information, such as the export package. Package information file package.xml the REP-0127 were definition.
    4. Warehouse ( the Repositories )
      warehouse package is a collection that share a package version control system (the VCS), and these packets have the same version of the tool can be automatically released by catkin Bloom publish. A repository can be mapped to a rosbuild stack, a code repository may contain only one packet.
    5. Message (msg) type
      message descriptor, stored in my_package / msg / MyMessageType.msg, the data structure used to represent the message sent to the ROS.
    6. Service (SRV) type
      service type stored in my_package / SRV / MyServiceType.srv , for the definitions used in the ROS services ( Services Data) request or response.
  2. FIG calculation ROS level
    calculation map is used to transfer data between processes ROS P2P network, the most basic concept of FIG calculation comprises, in ros_comm be implemented warehouse:
    1. Nodes ( Nodes :)
      node is calculated ROS process, the personal understanding of one Node implement a function module, such as a robot control system, a Node for ranging, for a position, for controlling a motor or the like.
      A node with a client library to write, for example roscpp or rospy . (See document, ros support many development languages, details can be found in Client Library ).
    2. Host ( Master )
      host name is used to provide registration and inquiry functions other computing map, no host, no other nodes each node can not communicate, can not invoke the service.
    3. Parameter server ( the Parameter Server )
      parameter server for providing the key data stored in the center position (similar to the global variables in the system?), Is now a part of the parameter server host.
    4. Message ( the Messages )
      nodes communicate through messaging, the message is a simple data structure with a data type members, the basic data structure supports standard data structure (integer, floating point and logical variables, etc.) and an array . Structure similar to the C language.
    5. Theme ( Topics )
      message delivered by the publisher / subscriber mechanism, node by a message posted to a particular topic messaging. Theme and message content-related name. A process can publish or subscribe to multiple themes, multiple processes can also publish and subscribe to a topic.
      The theme of the publishers and subscribers are not aware of each other's existence, this can make the two decoupled.
    6. Services ( Services )
      publish / subscribe mechanism uses themes to achieve, and this is not suitable for request / response mechanism, request / response mechanism implemented by the service. Service implemented by two data structures, for a request for a transmission is provided via a node name ( name ) to provide services to
      the client node by sending a request to wait for a response, data exchange. Services commonly used in remote procedure calls.
    7. Packet ( Bags )
      packets for a ROS message data storage and playback of data format for the data package is an important mechanism for storing data, poor data collection but for the development and testing of algorithms is necessary.
      Host node naming service used to calculate the figure each node for registration information is stored ROS nodes, as well as themes and service information, when the registration information changes, you can call a callback function to dynamically create a connection (node starts automatically when the theme publish and subscribe?). Naming is important in ROS, nodes, themes, messages and parameters have their name. Each ROS client library provides a command-line tool named remapping.
  3. ROS community level
    that no part of the notes, please click on the reference to the English wiki.
  4. name
    1. Figure computing resource naming
      map resource naming a hierarchical naming structure, can be calculated for all map resource naming, including: nodes (Nodes), topic (Topics), parameters (Parameters) and services (Services).
      1. Naming Rules
        1. Name must begin with uppercase and lowercase letters ([az | AZ]), a tilde ( ~ ) or a slash ( /, as the path hierarchical division symbol ).
        2. Subsequent letters and numbers may be a case ([0-9 | az | AZ]), underscore (_).
      2. Name resolution
          • base (group name)

          • relative / name (relative naming)

          • / Global / name (global name)

          • ~ Private / name (proprietary name, the current level)

    2. Resource naming package
      except not have ~ outside, and other resource naming the same.
      Conclusion is that a slash (/) represents the path level, wave (~) in the private view showing the path and name identifier needs to begin with a letter, may be used subsequent letters, numbers or underscores.
    3. Named remapping.
      ROS node starts a command line when any node within the named by remapping parameter ( Remapping the Arguments remap).
  5. Interface code
    named code related to the interface see ros_cpp Interface: roscpp names :: API Reference

Guess you like

Origin www.cnblogs.com/spyplus/p/11423666.html