Getting a Rover to Rove, Virtually

Tom Jacobs
Jul 26, 2017 · 2 min read

Today’s goal is to get a rover robot roving in the Gazebo robotics simulator. Gazebo is used by many for simulating robotics, including the DARPA Robotics Challenge, and the Space Robotics Challenge.

We’ll be starting with the bare-bones ROS install, running on Ubuntu 16.04:

Running ./go brings up an empty world in Gazebo.

That’s a good start.

Let’s spawn a model into the world:

Oh noes, an error:

ImportError: No module named catkin_pkg.packages

Oh boy, ROS is going to be fun. After a bit of Stack Overflow, I find this is because I’m using Conda, instead of plain Python 2.7, and catkin’s not installed in Conda’s python. So running this fixes it:

Also, need to get numpy.

Run it again. Cool, a new error.

No handlers could be found for logger “rosout”

Ah, it’s of course because there’s a bug in spawn_model where if you don’t give it the right command line, it fails with that error because the command line arguments are parsed before setting up logging. That’s nice.

So, after a little more Stack Overflow, I find that running this line actually spawns a model!

It’s a beer, not a rover, but it’s progress. Who knew ROS was so easy to get started with?

Australian Robotics Society

The Australian Robotics Society is a community of robot builders.

Tom Jacobs

Written by

Making robots.

Australian Robotics Society

The Australian Robotics Society is a community of robot builders.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade