# How to set a right revolute joint coordinate?

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

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!

https://github.com/benthebear93/clime... Here is my robot's urdf, and u could see the package

edit retag close merge delete

Sort by ยป oldest newest most voted

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.

more

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

( 2019-08-22 21:33:15 -0500 )edit
1

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

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

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">
<inertial>
<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" />
</inertial>
<visual>
<origin xyz="-0.0 0.0 0.0" rpy="0 0.0 0.0"/>
<geometry>
</geometry>
<material name="Gray">
<color rgba="0.1 0.1 1 1.0"/>
</material>
</visual>


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


</joint>

more