Using ROS for simulating autonomous RC cars?

Hi,
I’m a student at University of Oslo, working on robotics and electronics, and also a professional IT consultant and C# programmer for the last 12 years.

As a hobby I dabble with autonomous RC cars; https://www.youtube.com/watch?v=5gDd7GlaQIo

I have had very basic introduction to ROS in one of the classes in university, but would like to learn more about ROS. More specifically I’d like to use ROS as a simulation environment for simulating and improving the driving algorithms seen in the YouTube video above.

I’d like to ask you for some advice on what part of ROS I should look into, and if this is a valid platform for doing this kind of stuff. I’ve seen that there is something called Gazebo which can be used together with ROS to run simulations. Would it be possible to recreate something like the racing track from the YouTube video above in Gazebo?

The cars typically use IR sensors to detect the walls, and perhaps use gyro/accelerometers for motion detection. Is is possible to simulate those kind of sensors in a virtual environment using ROS and Gazebo?

Are there any other modules etc related to ROS that I should look into?

Thanks!

1 Like

First, welcome to the ROS community @FrodeL!
Secondly, I’d just like to suggest if you have specific questions about ROS, then the Q/A stack-exchange format on answers.ros.org may be better sutted. The discourse site here is geared towards open discussions, but as you post is sort of both, I’ll go ahead and share some relevant sources here.

Personally i’m also interested in the same topic, including aerial RCs. For ground scale models you should check out the work being done at IRIM, Georgia Tech with the project called Autorally:

The AutoRally platform is a high-performance testbed for advanced perception and control research. The robot, developed at Georgia Tech, is integrated with ROS and designed as a self contained system that requires no external sensing or computing. The robot is a robust, cost-effective, and safe platform that opens the space of aggressive autonomous off-road driving to researchers and hobbyists.

Some friends of mine are the students behind the project, such as Brian Goldfain, Paul Drews, Grady Williams and others. They all heavily use ROS and Gazebo for a lot of their research for this project, and if you check out the AutoRally github organization, it looks like they’ve published docs on how to build your own, and the code to run it!

1 Like

Thanks for that good tip! I’ve briefly seen the AutoRally project before, but I’ll dig some more into it this time. Seems like a very relevant project.

I’ll especially look into the Gazebo simulations they’ve made, and see if I can do something similar for my project.

At about 1:30 in this video they have a nice visualization of the path planning. Do you know what they used to make that?
https://www.youtube.com/watch?v=1AR2-OHCxsQ

I also see that there is something called RViz, but haven’t had a chance to look into what it is yet.

I’ve pinged some of the authors, so hopefully they’ll chime in here soon.
I’m not sure what visualization tool they used @1:30, but it looks custom.

RVIZ is a really helpful tool to visulize and interact graphically with ROS.
There are plenty of examples in using RVIZ to visualise candidate trajectories as well:
DisplayTypes: Path

The autorally project is definitely awesome. I recently read their pdf on how to construct the computer box they use on their car, and learned a ton of tricks on how to make a robust computer system for an outdoor robot. Kudos to those guys for taking the time to write an incredibly detailed guide!

Hi and thanks for the enthusiasm for the project!

The Gazebo environment for our AutoRally robot is available as part of the autorally repository in our GitHub organization that was previously linked. Also on there is some documentation to get you started working with the simulation in the readme and wiki. Please poke around in the code (the most useful for you will probably be autorally/autorally_description and autorally/autorally_gazebo) to see how we have everything setup and to at least hopefully get a little inspiration for your project.

The visualization you mention in our video was generated offline with custom python scripts using the ROS bags recorded during tests of the MPPI control algorithm. Rviz does have some great visualization tools for some ROS message types we use from time to time.

2 Likes