URDF crazy update
After load the URDF, the model keeps updating the state in a crazy way.
Here is my launch file. Can anyone explain why ?
<launch>
<param name="robot_description" textfile="$(find fetch_robot_des)/urdf/fetch.urdf" />
<include file="$(find gazebo_ros)/launch/empty_world.launch">
</include>
<node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -z 1 -model fetch_model" />
</launch>
Asked by Chao Chen on 2020-08-22 16:02:05 UTC
Answers
You are describing a Gazebo issue. Numerical instabilities in the simulation of contact forces causes what you describe.
Without any active controllers to counteract this, robots appear to be "dancing".
I do not add any joint state controller
Note: a joint_state_controller
will not help. You'll need to add something which actively controls the joints.
Edit:
What kind of active controller can I use in this case?
Any of the position_controllers
, velocity_controllers
or effort_controllers
. Provided the urdf/xacro has the appropriate hardware interfaces added.
And why joint_state_publisher +robot_state_publisher wont work in this case?
Because this is Gazebo, which simulates dynamics. The JSP and RSP do something entirely different, and Gazebo does not take input from them.
Gazebo != RViz.
Asked by gvdhoorn on 2020-08-23 00:46:55 UTC
Comments
What kind of active controller can I use in this case? And why joint_state_publisher +robot_state_publisher wont work in this case?
Asked by Chao Chen on 2020-08-23 13:11:35 UTC
Comments
Without knowing what "crazy way" means, this will be a guess, but: you don't have any active controllers?
Asked by gvdhoorn on 2020-08-23 00:14:33 UTC
I do not add any joint state controller. Theoretically, the robot joint state should not be updated. However, once I start the launch file and the robot starts keeping updating the robot state, like dancing until it falls.
Asked by Chao Chen on 2020-08-23 00:32:57 UTC