Hello,
I have overwritten the joint_velocity in my URDF with joint_limits.yaml using the following for each joint:
has_velocity_limits: true
max_velocity: 3.14
has_acceleration_limits: false
max_acceleration: 0
My joints will be representing Dynamixel motors for a quadruped robot with a no-load speed of 63 rpm, which is roughly 2*pi rad/s. I have scaled this down for now using a factor of 1/2.
In my Python code, I set a random joint target, create a plan, and inspect the velocities at each waypoint in the trajectory. The maximum velocity for the trajectory for all the joints never goes above 1.5 rad/sec. I even tried setting the max_velocity in joint_limits.yaml to a large value (100 rad/s), but the inspected maximum velocity for the trajectory still never goes above 1.5 rad/s. Is there something I am missing?
Not sure if it matters, but my transmission elements in URDF for each actuated joint are:
<transmission name="femur_transmission_${side}${position}">
<type>transmission_interface/SimpleTransmission</type>
<joint name="femur_joint_${side}${position}">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="femur_motor_${side}${position}">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
and ros_control controllers look like:
type: position_controllers/JointTrajectoryController
joints:
- femur_joint_LF
- tibia_joint_LF
- tarsus_joint_LF
constraints:
goal_time: 0.6
stopped_velocity_tolerance: 0.05
femur_joint_LF: {trajectory: 0.1, goal: 0.1}
tibia_joint_LF: {trajectory: 0.1, goal: 0.1}
tarsus_joint_LF: {trajectory: 0.1, goal: 0.1}
state_publish_rate: 25
action_monitor_rate: 10
Thanks,
Josh