ros - modrpc/info GitHub Wiki

Table of Contents

Overview

Basic Concepts

  • Packages: unit of deployment
    • must contain catkin-compliant package.xml file
    • must contain CMakeLists.txt which uses catkin

Misc

Filesystem Concepts

  • package: software organization unit of ROS code; each package contains libraries, executables, scripts, or other artifacts
    • manifest (package.xml): description of a package -- define depedencies between packages and contains meta info (e.g. version, license,maintainer, etc.)
  • stack: stack is a collection of packages

Tools for package creation, etc.

  • rospack: get-info/find packages in the system
  • roscreate-pkg: create a new package
  • rosmake: compile a package
  • rosdep: install system dependencies of a package
  • rxdeps: see package dependencies as a graph

Tools for moving between packages

  • roscd: change directory
  • rosed: edit a file
  • roscp: copy file from package
  • rosd: list directories of a package
  • rosls: list files from a package

Tools for stack creation

  • roscreate-stack: create a new stack

Message definition language

  • list of <type,></type,>'s
  • rosmsg: prints out the message definition info

Service definition langauge

  • describes request/response interaction between nodes
  • calling a service: package name + service name
    • e.g. sample_pkg1/srv/sample1.srv (OR sample_pkg1/sample1)
    • rossrv: prints service descriptions, packages that contain .srv files, and find source files that use a service type

Computation Graph Level

  • ROS creates a network where all processes are connected.

Nodes

Master

  • name registration and lookup for rest of the nodes

Parameter Server

  • (key, value) lookup service
  • allows to have data stored using keys in a central location
  • allows to configure nodes

Messages

  • nodes communicate through messages (this is just a mechanism)

Topics

  • when a node is sending data, we say node is publishing a topic
  • nodes can receive topics when it subscribes it
  • topic is more like a newsgroup -- nobody owns it

Services

Bags

Example

Turtle

rosnode info /turtlesim Node: /turtlesim Publications:

 /turtle1/color_sensor  turtlesim/Color
 /rosout rosgraph_msgs/Log
 /turtle1/pose turtlesim/Pose

Subscriptions:

 /turtle1/command_velocity unknown-type

Services:

 /turtle1/teleport_absolute
 /turtlesim/get_loggers
 /turtlesim/set_logger_level
 /reset
 /spawn
 /clear
 /turtle1/set_pen
 /turtle1/teleport_relative
 /kill

contacting node http://aaronmr-laptop:42791/ Pid: 28337 Connections:

 topic: /rosout
 to: /rosout
 direction: outbound
 transport: TCPROS

⚠️ **GitHub.com Fallback** ⚠️