O'Reilly logo

Programming Robots with ROS by William D. Smart, Brian Gerkey, Morgan Quigley

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 21. Debugging Robot Behavior

As you’ve no doubt noticed by now, robotics applications can be complex. In addition to the usual complexity present in any software system, you have sensors and actuators that are interacting in uncertain ways with the physical (or simulated) world. And, at least in a ROS system, you have a distributed processing graph with many independent processes that are interacting asynchronously through message passing. In short, there are many ways for things to go wrong, and it can sometimes be tricky to figure out what the problem is.

When you have everything ready, and you hit the “Go” button, and… nothing happens, what do you do?

Fortunately, ROS provides some powerful tools to assist you in debugging your applications. In this chapter, we’ll go over the most commonly used tools, providing some debugging technique suggestions along the way.

Log Messages: /rosout and rqt_console

Just as you would with any other software, when a ROS system isn’t behaving properly, you should first check for error messages. If you’re in luck, then some part of the system will be telling you exactly what’s wrong. Of course, the distributed nature of a ROS system makes error message handling a little more complex than with a single program.

If you’re running a single program, you would reasonably expect to see error messages from that program pop up in a dialog window (if it’s a graphical application, like a web browser) or be printed to the terminal where you ran ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required