STDR(2D multi-robot simulator) robot simulation under ROS enviornment, for maze solving, navigation, multiple tasks.
Autonomous Robotics Lab
@ Celi Sun @ Nov, 2017 @ Brandeis University
STDR official wiki: http://wiki.ros.org/stdr_simulator
One sample project we developed ROS Maze Solving
- ros kinetics
- stdr
- python
- numpy
-
open ROS server
roscore -
open STDR server
source /opt/ros/kinetic/setup.bash,- with a default map
roslaunch stdr_launchers server_with_map_and_gui_plus_robot.launch - with no map
roslaunch stdr_launchers server_no_map.launch, and then open your own map (also see: How to load a map): option 1 :rosrun stdr_server stdr_server_node maps/<your_own_maze.yaml>, or option 2 :roscd stdr_resources--->rosrun stdr_server load_map maps/<your_own_maze.yaml>
- with a default map
-
open GUI visualizer.
roslaunch stdr_gui stdr_gui.launch -
open RVIZ(optional).
roslaunch stdr_launchers rviz.launch -
compile and run your script.
chmod +x rosmaze <your_own_script.py>, then runrosrun <workspace name> <your_own_script.py>*we recommand you put your own scripts in catkin_ws/src/stdr_simulator/stdr_samples.
-
download/draw/get an image in .png format. *online-format-converter
-
put your_own.png in folder catkin_ws/src/stdr_simulator/stdr_resources/maps.
-
write a your_own.yaml file for your map, use the same format as other yaml files, notice change file name to match with your map name.
-
run:
sudo chown -R $USER:$USER /opt/ros/kinetic/share/stdr_resources/mapsThis gives you the permission of editing this source folder (you might not need this line) -
now you can put your_own.png and your_own.yaml in the folder /opt/ros/kinetic/share/stdr_resources/maps.
-
Finally, register the map, run
roscd stdr_resources, thenrosservice call /stdr_server/load_static_map "mapFile: '$PWD/maps/<your_own.yaml>'".
