gripper_vel = robot_qvel[-2:] * dt # change to a scalar if the gripper is made symmetric robot-qvel[-2:] corresponds to these joint names: 0 = {str} 'robot0:l_gripper_finger_joint' 1 = {str} 'object0:joint' As a computer science major, I'm having a hard time understanding the physics behind the openAI robotics gym environment just released. For example, the first code line above, why are they multiplying a vector of [gripper finger joint velocity, object velocity] * dt to get gripper_velocity? 1. What does the object velocity have to do with with the gripper velocity? 2. Why are we multiplying by dt? 3. if velocity = ds/dt, doesn't the above velocity * dt = ds, gives us ds which represents change in position, Not gripper_vel? Also, what resource can I use to understand the physics going on here?