Basics of STDR
General Introduction
STDR is a simple two dimensional robot simulator. It is very useful in cases where there is no need for computationally costly 3-D simulation of robots. It is computationally light and serves the purpose good. Hence it is very useful for learning based robotics or for multi robot simulation.
Installation
- For ROS Kinetic, stdr can be installed using apt-get.
- For ROS Melodic, it is advisible to install stdr from source.
Architecture Overview
(Reference: ROS Wiki)
Basic Usage
- The
stdr_launchers
package contains launch files basic usage. However, custom launch files can be created to serve personal purposes easily. Some of the launch files areserver_no_map.launch
launches the stdr server without any map, robot or the gui.server_with_map_and_gui.launch
launches the serve with preloaded map and gui.server_with_map_and_gui_plus_robot.launch
launches the stdr_server, with preloaded map and robot along with the gui
- You can also launch Rviz with a preset config file using
rviz.launch
file in the stdr_launchers package.
Robot Namespaces
- The topics corresponding to each robot have a unique namespace attached to it. For example the first robot launched has a namespace
/robot0
. Published topics pertaining to that robot are published as/robot0/topic_name
. - Note that whenever a new robot is spawned the robot number is incremented by 1. This happens even though you delete a robot.
- such namespacing avoids conflicts of topic names when doing multi robot simulation.
References
- For more information refer the
stdr_simulator
page in ROS Wiki. - The github repository for stdr_simulator.