Gazebo | Ignition | Community
Ask Your Question

How to set a right revolute joint coordinate?

asked 2019-08-21 20:32:57 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

image description

image description

Okay guys, im trying to use gazebo to simulate my simple arm but i'm stuck at second joint. Idk why, but it rotates based on some other axis(or some other coordination).

the arm is at the right place when i don't move them, so changing <joint> coordinate would changes arm's position. i want to keep my arm that position and want to rotate based on the shaft( black horn with green part).

anyone had a same problem and solved it? what i am thinking about is that i change joint coordinate and changes link's visual coordinate. but i am not sure this is the right way to solve this problem. Help me guy thx! Here is my robot's urdf, and u could see the package

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2019-08-22 11:50:05 -0500

chapulina gravatar image

You can right-click your model and select View -> Transparent then View -> Joints to see where the joint axis currently is. Then I would suggest you change your link and joint <origin>s on URDF until the axis shows up in the correct place (on top of the green part).

Visualizing link frames with View -> Link Frames should also help you.

edit flag offensive delete link more


didn't know there is link visualization! i will try that thx !!

benthebear93 gravatar imagebenthebear93 ( 2019-08-22 21:33:15 -0500 )edit

thx! i solved it. it save a lot of my time really appropriate

benthebear93 gravatar imagebenthebear93 ( 2019-08-23 11:14:22 -0500 )edit

answered 2022-04-07 15:42:27 -0500

I've had the same issue, as @chapulina mentioned basically you have to may have changed the pose of the visual object. Make them to zeros and change the joint origin as follows;

   <link name="base_sub_lift_vertical">
    <mass value="0.1" />
    <origin xyz="0 0 0.0" />
    <inertia ixx="0.01" ixy="0.0" ixz="0.0"
             iyy="0.01" iyz="0.0" izz="0.01" />
      <origin xyz="-0.0 0.0 0.0" rpy="0 0.0 0.0"/>
          <cylinder radius="0.05" length="0.4"/>
      <material name="Gray">
        <color rgba="0.1 0.1 1 1.0"/>


<joint name="lift_sub_vertical_joint" type="revolute">
  <origin xyz="-0.1 0.0 0.08" rpy="0 0 0" />
  <parent link="base_sub_lift" />
  <child link="base_sub_lift_vertical"/>
  <axis xyz="0 0 1" />
  <limit upper="1.57" lower="-1.57" velocity="2" effort="1"/>


edit flag offensive delete link more

Question Tools

1 follower


Asked: 2019-08-21 20:32:57 -0500

Seen: 1,880 times

Last updated: Aug 22 '19