Recently, our research team tested a new robotics simulator named STDR Simulator. The simulator natively supports ROS Hydro, but we have still successfully installed it on ROS Groovy. Here is our installation record, hoping to help someone. (This record is also released on wiki.ros.org)
1. Get stdr_simulator from Github
Since stdr_simulator is a catkin package, you will need a catkin workspace in order to build the package from source. If you don’t already have a catkin workspace, you will find details in this ros tutorial.
cd your_catkin_ws/src
git clone https://github.com/stdr-simulator-ros-pkg/stdr_simulator.git
NOTE: on Ubuntu 13.04 (raring), where Qt5 is installed by default, you need to specify the path to qmake-qt4 when you invoke catkin_make:
catkin_make -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
2. Get cmake_modules for Groovy from Github
cmake_modules is a common repository for CMake Modules which are not distributed with CMake but are commonly used by ROS packages. You will need this package to solve some problems such as stdr_parser: Could not find module FindTinyXML.cmake.
git clone https://github.com/ros/cmake_modules.git
3. Get a catkin version map_server
You need to get a Groovy compatible catkin map_server package for compiling stdr_server and stdr_gui package: map_server. Then put it in your_catkin_ws/src
4. Build the simulator
Assuming you are still in your_catkin_ws/src directory:
cd ..
catkin_make
5. Possible problems in header or library path with map_server
Error 1: stdr_server/map_loader.h:32:37: fatal error: map_server/image_loader.h: No such file or directory
The easiest way to solve this error is that just replace #include “map_server/image_loader.h” by #include “the_absolute_path_of/map_server/image_loader.h” in stdr_server/map_loader.h file.
Error 2: /usr/bin/ld: cannot find -limage_loader
Solution:
sudo ln -s /opt/ros/groovy/stacks/navigation/map_server/lib/libimage_loader.so /usr/lib/libimage_loader.so