ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Ros_command: A new tool for unifying the ROS command line tools

Lots of people have developed their own shell scripts or hacks to make their frequently used ROS commands easier to use. I developed mine into a full Python library.

ros_command is my answer to the following questions:

  • Why can’t I type roscd|rosmsg|rossrv|rosrun|rosclean in ROS 2?
  • Why are the command line arguments for catkin_make, catkin build and colcon so different and hard to remember?
  • Is this even close to done compiling?
  • Why does installing all of the packages needed to compile this workspace take such a convoluted command?
  • How do I run this node with gdb?
  • What’s the command to source the setup.bash for the workspace I’m currently in?
  • I’m running ROS 2. I know I’m running ROS 2. Why am I still typing ROS 1 commands?

The full list of features is available in the README, but in short, the library

  • provides a unified command line experience across ROS 1 / ROS 2 and catkin_make/catkin_tools/colcon
  • adds some short easy-to-remember commands for common actions
  • displays a fancy terminal-based GUI during compilation.

We’ll call this the beta release for now, as I’m looking for other not-me developers to try it and test things out. As such, it is currently only available via source installation. Please feel free to open an issue for problems or feature requests. Current future work:

  • More GUIs
  • Tab completion
  • Implementations for the missing ros* commands (like rosparam and roslaunch)
  • Unified interface for running tests locally.

Happy Hacking,
David Lu!!
MetroRobots.com

19 Likes

Love the fancy terminal-based GUI.

3 Likes