/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.
I found that
apply_action(ArticulationAction(joint_velocities) just set the
ArticulationView, and the
get_joint_velocities api got the
dof_velocities which are not the same as
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() in
/joint_states with the ros node