I load /Isaac/Robots/Franka/franka.usd
and use franka = world.sence.add(Robot(prim_path))
to add it to the scene.
Then I use franka.apply_action(ArticulationAction(joint_velocities=[1, 0, 0, 0, 0, 0, 0, 0, 0]))
to set the velocity of the first joint to 1 and others 0 at each time step .
I used the api franka.get_joint_velocities()
to check the velocities but found the velocity of the first joint was only around 1 at the first step, and then it decays to 0.
The velocity of the first joint should be 1 at each step to be expected.
1 Like
I found that apply_action(ArticulationAction(joint_velocities)
just set the dof_velocity_targets
of ArticulationView
, and the get_joint_velocities
api got the dof_velocities
which are not the same as dof_velocity_targets
.
dof_velocities
are the current joint velocities from physics_vlew
, which changes at each physics step. But the specific changes about dof_velocities
in each physics step and its relationship to dof_velocity_targets
are invisible. So I still don’t know why the velocity applied is different from the velocity got.
When I used apply_action(joint_velocities)
at each step to set the joint_velocity to 1. But the velocities got with get_joint_velocities()
is [0.58] which are different with the velocity([0]) in /joint_states
with the ros node PublishJointState
.
@wangzr1116 , are you still facing this issue with the latest Isaac Sim release?