Demo of Prius in ROS/GAZEBO

This is a simulation of a Prius in gazebo 9 with sensor data being published using ROS kinetic The car's throttle, brake, steering, and gear shifting are controlled by publishing a ROS message. A ROS node allows driving with a gamepad or joystick.

Video + Pictures

A video and screenshots of the demo can be seen in this blog post: https://www.osrfoundation.org/simulated-car-demo/

Prius Image

Requirements

This demo has been tested on Ubuntu Xenial (16.04)

  • An X server
  • Docker
  • nvidia-docker2
  • The current user is a member of the docker group or other group with docker execution rights.
  • rocker

Recommended

  • A joystick
  • A joystick driver which creates links to /dev/input/js0 or /dev/input/js1

This has been tested with the Logitech F710 in Xbox mode. If you have a different joystick you may need to adjust the parameters for the very basic joystick_translator node: https://github.com/osrf/car_demo/blob/master/car_demo/nodes/joystick_translator

Building

First clone the repo, then run the script build_demo.bash. It builds a docker image with the local source code inside.

$ cd car_demo
$ ./build_demo.bash

Running

Connect a game controller to your PC. Use the script run_demo.bash to run the demo.

$ ./run_demo.bash

An RVIZ window will open showing the car and sensor output. A gazebo window will appear showing the simulation. Either use the controller to drive the prius around the world, or click on the gazebo window and use the WASD keys to drive the car.

If using a Logitech F710 controller:

  • Make sure the MODE status light is off
  • Set the swtich to XInput mode
  • The right stick controls throttle and brake
  • The left stick controls steering
  • Y puts the car into DRIVE
  • A puts the car into REVERSE
  • B puts the car into NEUTRAL