This is linked to an issue in gazebo_ros_pkgs where the use of a PositionJointInterface make the simulation unusable : https://github.com/ros-simulation/gazebo_ros_pkgs/issues/479
To reproduce the problem with gazebo and ROS you can use the rrbot on this branch : https://github.com/vincentrou/gazebo_ros_demos/tree/position_joint_interface
I find out that the ROS library calls Joint::SetPosition in gazebo. At the end, gazebo call Link::MoveFrame. In this commit, a line was added by @John Hsu (this line seems to freeze the simulation if there is a parent joint)
this->SetWorldTwist(math::Vector3(0, 0, 0), math::Vector3(0, 0, 0));
When I remove this line everything seems to work again (like in gazebo 2). Why this line has been added ? And should it be remove to fix the issue ? I can make a PR.
Thank you for your great work on gazebo.