Hi,
I have imported urdf
model into Isaac Sim of a robotic hand with 16
joints. I want to send a joint-state position command to a subset of joints. I am using an articulation controller.
# Load the articulation from the USD model
articulation = Articulation(prim_path, name="robot")
articulation.initialize()
position = articulation.get_joint_positions()
print(f"position: {position}")
# Control specific joints
finger_joint_names = ['four', 'five', 'six', 'seven'] # Specify the joints of one finger
finger_joint_positions = [np.deg2rad(50), np.deg2rad(50), np.deg2rad(50), np.deg2rad(50)] # Example positions
control_articulation(articulation, finger_joint_names, finger_joint_positions)
# Synchronize and update the simulation
stage_utils.update_stage()
# Adding a small delay to ensure the simulation processes the update
time.sleep(1) # Adjust as needed
position = articulation.get_joint_positions()
print(f"position: {position}")
I print the positions before and after setting the articulation. In Isaac Sim, on the property panel, and accessing the respective joint, Drive --- > Angular ---> Joint State
I can see that the angle value is set. Also visually, I can see respective joints moving to the specified position.
However the print out of the positions, before and after does not look like it.
Joint names: ['five', 'nine', 'one', 'twelve', 'four', 'eight', 'zero', 'thirteen', 'six', 'ten', 'two', 'fourteen', 'seven', 'eleven', 'three', 'fifteen']
(Before) position: [-8.6294255e-10 -9.4900332e-10 -8.8591601e-10 1.8173253e-09
-3.0888611e-11 -3.3964959e-11 3.1285891e-11 1.7682103e-10
-7.9601181e-10 -7.1037964e-10 -1.9322841e-10 -2.1620002e-12
1.4708317e-10 -1.0724152e-10 -2.5180196e-11 -7.7534999e-11]
(After) position: [ 6.5209061e-02 -9.4764274e-10 -8.7771007e-10 -2.4782138e-11
1.4149317e-01 4.6171192e-11 -3.5568402e-11 -7.0371736e-11
7.5302303e-02 1.1320920e-09 -1.9305087e-10 2.9341701e-12
1.4133956e-01 7.1922385e-10 1.0072250e-10 -1.4786570e-11]
It all looks close to ‘0’. What could be the problem. Why I cannot see the right positions.
thanks,