The MuSHR simulator is the easiest way to get started with MuSHR. The simulated car can be either controlled via keyboard teleoperation, or by a control algorithm. This simulator is designed to emulate the car's configuration as close as possible to reduce sim-to-real overhead. To do so, many of the hardware components are programmatically simulated (camera is not simulated).
To make running the sim easier for various platforms we have provided a docker container with all the necessary components included. See below for setup.
You will need the following:
- ROS Melodic
- A catkin_ws
- rviz:
sudo apt-get install ros-melodic-rviz
- This repo
- mushr
- vesc
- mushr_base
- ackermann_msgs:
sudo apt-get install -y ros-melodic-ackermann-msgs
- map server:
sudo apt-get install -y ros-melodic-map-server
- serial:
sudo apt-get install -y ros-melodic-serial
- urg-node:
sudo apt-get install -y ros-melodic-urg-node
- robot state publisher:
sudo apt-get install -y ros-melodic-robot-state-publisher
- realsense description only
- Run all above bash commands, install ros melodic, and pull all repos into
catkin_ws/src
- Make packages:
cd ~/catkin_ws/ && catkin_make
- Source workspace:
. ~/catkin_ws/devel/setup.bash
- Launch sim:
roslaunch mushr_sim teleop.launch
- Launch rviz from a different terminal
rviz
Tutorials using the simulator can be found here.
For adjusting params see config
it has the simulated vesc params and also the sensor params for each car. If you don't find the publishers or subscribers you were looking for, they are likely in mushr_base.
Topic | Type | Description |
---|---|---|
/mux/ackermann_cmd_mux/input/teleop |
ackermann_msgs/AckermannDriveStamped | Publish teleop controls from keyboard |
/map |
nav_msgs/OccupancyGrid | Map from map server |
/map_metadata |
nav_msgs/MapMetaData | Map metadata |
/scan |
sensor_msgs/LaserScan | Simulated laser scan topic |
Topic | Type | Description |
---|---|---|
/tf |
tf2_msgs/TFMessage | Transforms for the laserscan |
/tf_static |
tf2_msgs/TFMessage | Static transforms for the laserscan |