Gazebo | Ignition | Community
Ask Your Question
2

Robot slips on ground while moving arm

asked 2019-03-06 00:47:07 -0500

Stark gravatar image

I have a WidowX arm in Gazebo. I control the arm using moveit package. In the moveit package, I provide a goal configuration and then plan and execute planned trajectory. The problem now is that when the robot performs the arm movement in Gazebo, the base of the robots slips on the ground plane. It seems as if there is no friction at all between robot base and the ground plane.

Robot Slipping

To solve the slipping problem, I referred to gazebo documentation, where it said to create a virtual joint between the base and ground.Link That did not resolve the problem. Since, I am training a learning algorithm on the robot, I don't want the robot to move. Please let me know how I can prevent the slipping problem.

edit retag flag offensive close merge delete

Comments

Your link worked for me. I just added

<link name="world"/> <joint name="fixed" type="fixed"> <parent link="world"/> <child link="base_link"/> </joint>

to my urdf and then spawned it like normal. Now my base_link is frozen where I spawned it, but I can still manipulate my arm.

mogumbo gravatar imagemogumbo ( 2019-03-19 15:54:09 -0500 )edit

@Stark, did you ever solve this problem? This is the last thing I need to do before I get my real arm moving and I am totally stuck. I have tried to add the world link at @mogumbo has suggested with no luck...

matthewmarkey gravatar imagematthewmarkey ( 2020-05-18 13:32:00 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2019-03-26 13:59:46 -0500

Make sure you're setting the virtual joint with the correct robot base link. Assuming you're using the WidowX arm from RobotnikAutomation, you should be using base_footprint as the child frame name. You can check the root link for a robot URDF/Xacro using e.g.

check_urdf <(xacro --inorder $(rospack find widowx_arm_description)/robots/widowx_arm.urdf.xacro)

Source

Often, Gazebo-specific code is placed in a separate .xacro file that incorporates the original URDF. Such a file might look like:

<?xml version="1.0" ?>
<robot name="widowx_arm" xmlns:xacro="http://ros.org/wiki/xacro">
  <xacro:include filename="$(find widowx_arm_description)/robots/widowx_arm.urdf.xacro"/>

  <!-- Used for fixing robot to Gazebo 'base_link' -->
  <link name="world"/>
  <joint name="fixed" type="fixed">
    <parent link="world"/>
    <child link="base_footprint"/>
  </joint>
</robot>
edit flag offensive delete link more
0

answered 2019-03-15 04:33:14 -0500

kumpakri gravatar image

You can put static tags to the base link. It might cause problems with the simulation as it introduces more constraints. You have to try and see

<link name="base_link">
    <static>true</static>
    ...
</link>
edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2019-03-06 00:28:57 -0500

Seen: 2,144 times

Last updated: Mar 15 '19