Speeding Up Gazebo Physics Simulation (Considering ROS Plugin usage)
Dear All,
I was not sure whether to post this question here or on ROS answers page. But I think it is closer to gazebo than ROS.
My Objectives is to Speed up Physical simulation to the max speed (I use max_step_size=0.005 and real_time_update_rate=0.0). I have around 25xspeed up with a Pioneer 2 robot with a single camera, 4x bumper and an IMU sensor (NVIDIA Geforce GTX980 with i7-4790@3.60 GHz x8). I use Gazebo 2.2.3 which comes with ROS indigo.
I need MORE! The reason is that I do Reinforcement learning experiments with robots, and well, faster experiments mean easier life.
What I Need to have for My robot
- Diff drive ( I use libgazebo_ros_diff_drive )
- Camera ( liggazebo_ros_camera)
- 4x Bumpers (I use 4 different link connected to chassis with libgazebo_ros_bumper)
- IMU ( I use libgazebo_ros_imu or libhector_gazebo_ros_imu)
My Questions:
- Why the speed of simulation drops so much when a robot is added? I have around 100x speed when an environment is loaded without a robot. Is this because of ROS plugins?
- Does anyone know of any faster ROS plugins if they are the bottleneck?
- Is there any other way for me to update the speed further without increasing more max_step_size?
- Is there perhaps a faster physics engine that I can use? I tried bullet, but nothing really changed.
Notes
- I already use very simple collision meshes both for my environment and my robot.
- My environment texture does not use lighting reflection/effects.