ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

URDF crazy update

asked 2020-08-22 16:02:05 -0500

Chao Chen gravatar image

updated 2020-08-22 16:31:19 -0500

jayess gravatar image

After load the URDF, the model keeps updating the state in a crazy way.

Here is my launch file. Can anyone explain why ?

image description

<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>
edit retag flag offensive close merge delete

Comments

Without knowing what "crazy way" means, this will be a guess, but: you don't have any active controllers?

gvdhoorn gravatar image gvdhoorn  ( 2020-08-23 00:14:33 -0500 )edit

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.

Chao Chen gravatar image Chao Chen  ( 2020-08-23 00:32:57 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2020-08-23 00:46:55 -0500

gvdhoorn gravatar image

updated 2020-08-23 14:42:01 -0500

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.

edit flag offensive delete link more

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?

Chao Chen gravatar image Chao Chen  ( 2020-08-23 13:11:35 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2020-08-22 16:02:05 -0500

Seen: 153 times

Last updated: Aug 23 '20