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

Please tell me how to set the output of Joint torque when using URDF with gazebo.

asked 2021-02-02 07:54:58 -0500

NIWAS TIGERS gravatar image

I would like to use a humanoid robot model with a total mass of about 80 kg by URDF in Gazebo, but the joint torque is insufficient and the joint bends and collapses. I want to use "effort_controllers/JointPositionController" of ros_controller. If the mass is suppressed to about 0.08 kg, it will stand up, but the simulation is meaningless. How should I set it? ??

Write the joint settings and transmission settings below.

<joint name="rev5" type="revolute"> <origin rpy="0 0 0" xyz="0.05 0.07 0.0"/> <parent link="Link2_1_1"/> <child link="Link2_2_1"/> <axis xyz="-1.0 -0.0 -0.0"/> <limit lower="-1.6" upper="1.6" effort="100000" velocity="0.02"/> </joint>

<transmission name="rev1_tran"> <type>transmission_interface/SimpleTransmission</type> <joint name="rev1"> <hardwareinterface>hardware_interface/EffortJointInterface</hardwareinterface> </joint> <actuator name="rev1_actr"> <hardwareinterface>hardware_interface/EffortJointInterface</hardwareinterface> <mechanicalreduction>1</mechanicalreduction> </actuator> </transmission>

Thank you!!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-04-28 20:07:57 -0500

LuisEFA1998 gravatar image

I think my answer is a bit late, but I hope this can help someone else. It is not possible to change the torque value of an actuator in the URDF model of a robot, only the maximum value that it can support. If you created your robot and added the <transmission> element I want to assume that you have a folder called "config" where you store the yaml files (in case you used moveit support assistant the directory is created by itself), inside that folder look for the controllers and change the value of the proportional component of the PID controller associated with the motor of the board you want to modify.

If you know control theory and you have already modeled the motor of your real robot, you will be able to modify this value in a more adequate way, otherwise, gradually increase the magnitude of P until you find a value that works for you.

In fact, changing the value of the PID constants also helps to modify the speed and precision with which the robot moves, the larger the value of P, the greater the speed with which the links move.

Don't forget to include the <dynamics> element in the joints to add friction and damping, this will prevent your robot from falling over due to gravity.

edit flag offensive delete link more

Question Tools


Asked: 2021-02-02 07:54:58 -0500

Seen: 362 times

Last updated: Apr 28 '22