Filesystem Command-line Tools
| 命令 | 作用 |
|---|---|
| rospack/rosstack | A tool inspecting packages/stacks. |
| roscd | Changes directories to a package or stack. |
| rosls | Lists package or stack information. |
| roscreate-pkg | Creates a new ROS package. |
| roscreate-stack | Creates a new ROS stack. |
| rosdep | Installs ROS package system dependen-cies. |
| rosmake | Builds a ROS package. |
| roswtf | Displays a errors and warnings about a running ROS system or launch le. |
| rxdeps | Displays package structure and depen-dencies. |
Usage:
- rospack find [package]
- roscd [package[/subdir]]
- rosls [package[/subdir]]
- roscreate-pkg [package name]
- rosmake [package]
- rosdep install [package]
- roswtf or roswtf [file]
- rxdeps [options]
Common Command-line Tools
roscore
A collection of nodes and programs that are pre-requisites of a ROS-based system. You must have a roscore running in order for ROS nodes to communicate.
roscore is currently defi ned as:
- master
- parameter server
- rosout
Usage:
- roscore
rosmsg/rossrv
rosmsg/rossrv displays Message/Service (msg/srv) data structure defi nitions.
| 命令 | 作用 |
|---|---|
| rosmsg show | Display the fields in the msg. |
| rosmsg users | Search for code using the msg. |
| rosmsg md5 | Display the msg md5 sum. |
| rosmsg package | List all the messages in a package. |
| rosnode packages | List all the packages with messages. |
Examples:
# Display the Pose msg rosmsg show Pose # List the messages in nav_msgs rosmsg package nav_msgs # List the files using sensor_msgs/CameraInfo rosmsg users sensor_msgs/CameraInfo
rosrun
rosrun allows you to run an executable in an arbitrary package without having to cd (or roscd) there fi rst.
Usage:
rosrun package executable Example:
# Run turtlesim rosrun turtlesim turtlesim_node
rosnode
Displays debugging information about ROS nodes, including publications, subscriptions and connections.
| 命令 | 作用 |
|---|---|
| rosnode ping | Test connectivity to node. |
| rosnode list | List active nodes. |
| rosnode info | Print information about a node. |
| rosnode machine | List nodes running on a particular machine. |
| rosnode kill | Kills a running node. |
Examples:
# Kill all nodes rosnode kill -a # List nodes on a machine rosnode machine aqy.local # Ping all nodes rosnode ping --all
roslaunch
Starts ROS nodes locally and remotely via SSH, as well as setting parameters on the parameter server.
Examples:
# Launch on a different port roslaunch -p 1234 package filename.launch # Launch a file in a package roslaunch package filename.launch # Launch on the local nodes roslaunch --local package filename.launch
rostopic
A tool for displaying debug information about ROS topics, including publishers, subscribers, publishing rate, and messages.
| 命令 | 作用 |
|---|---|
| rostopic bw | Display bandwidth used by topic. |
| rostopic echo | Print messages to screen. |
| rostopic hz | Display publishing rate of topic. |
| rostopic list | Print information about active topics. |
| rostopic pub | Publish data to topic. |
| rostopic type | Print topic type. |
| rostopic find | Find topics by type. |
Examples:
# Publish hello at 10 Hz
rostopic pub -r 10 /topic_name std msgs/String hello
# Clear the screen after each message is published
rostopic echo -c /topic_name
# Display messages that match a given Python expression
rostopic echo --filter "m.data=='foo'" /topic_name
# Pipe the output of rostopic to rosmsg to view the msg type
rostopic type /topic_name | rosmsg show
rosparam
A tool for getting and setting ROS parameters on the parameter server using YAML-encoded files.
| 命令 | 作用 |
|---|---|
| rosparam set | Set a parameter. |
| rosparam get | Get a parameter. |
| rosparam load | Load parameters from a fi le. |
| rosparam dump | Dump parameters to a fi le. |
| rosparam delete | Delete a parameter. |
| rosparam list | List parameter names. |
Examples:
# List all the parameters in a namespace
rosparam list /namespace
# Setting a list with one as a string, integer, and float
rosparam set /foo "['1', 1, 1.0]"
# Dump only the parameters in a specific namespace to file
rosparam dump dump.yaml /namespace
rosservice
A tool for listing and querying ROS services.
| 命令 | 作用 |
|---|---|
| rosservice list | Print information about active services. |
| rosservice node | Print the name of the node providing a service. |
| rosservice call | Call the service with the given args. |
| rosservice args | List the arguments of a service. |
| rosservice type | Print the service type. |
| rosservice uri | Print the service ROSRPC uri. |
| rosservice find | Find services by service type. |
Examples:
# Call a service from the command-line
rosservice call /add_two_ints 1 2
# Pipe the output of rosservice to rossrv to view the srv type
rosservice type add_two_ints | rossrv show
# Display all services of a particular type
rosservice find rospy_tutorials/AddTwoInts
Logging Command-line Tools
rosbag
This is a set of tools for recording from and playing back to ROS topics. It is intended to be high performance and avoids deserialization and reserializationof the messages.
rosbag record will generate a “.bag” fi le (so named for historical reasons) with the contents of all topics that you pass to it.
Examples:
# Record all topics
rosbag record -a
# Record select topics
rosbag record topic1 topic2
rosbag play will take the contents of one or more bag file, and play them back in a time-synchronized fashion.
Examples:
# Replay all messages without waiting
rosbag play -a demo log.bag
# Replay several bag files at once
rosbag play demo1.bag demo2.bag
tf Command-line Tools
tf echo
A tool that prints the information about a particular transformation between a source frame and a target frame.
Usage:
rosrun tf tf echo <source_frame> <target_frame>
Examples:
# To echo the transform between /map and /odom:
rosrun tf tf echo /map /odom
view frames
A tool for visualizing the full tree of coordinate transforms.
Usage:
rosrun tf view_frames
evince frames.pdf