How can i give my servo more power

Hi all
I have somewhat noob question but i think this will help a lot of people round out their knowledge

I have a robot with some links and joints

<link name="upperleg_${name}_link">
            <inertial>
                <origin xyz="0 ${leg_length/2} 0" rpy="1.5707 0 0"/>
                <mass value="0.05" />
                <inertia ixx="3.015625e-06" ixy="0.0" ixz="0.0" iyy="3.015625e-06" iyz="0.0" izz="3.125e-08"/>
            </inertial>
            <collision>
                <origin xyz="0 ${leg_length/2} 0" rpy="1.5707 0 0"/>
                <geometry>
                    <cylinder radius="0.0025" length="0.06"/>
                </geometry>
            </collision>
            <visual>
                <origin xyz="0 ${leg_length/2} 0" rpy="1.5707 0 0"/>
                <geometry>
                    <cylinder radius="0.0025" length="0.06"/>
                </geometry>
                <material name="red"/>
            </visual>
        </link>
        <gazebo reference="upperleg_${name}_link">
            <kp>100000.0</kp>
            <kd>100000.0</kd>
            <mu1>10.0</mu1>
            <mu2>10.0</mu2>
            <material>Gazebo/Blue</material>
        </gazebo>

        <joint name="${name}yaw_upperleg${name}_joint" type="revolute">
            <parent link="${name}_yaw_link"/>
            <child link="upperleg_${name}_link"/>
            <origin xyz="0 0 0" rpy="0 0 0"/>
            <limit lower="-0.7" upper="0.7" effort="1.0" velocity="6.9813"/>
            <axis xyz="1 0 0"/>
        </joint>
        <transmission name="${name}tran2">
            <type>transmission_interface/SimpleTransmission</type>
            <joint name="${name}yaw_upperleg${name}_joint">
                <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
            </joint>
            <actuator name="${name}motor2">
                <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
                <mechanicalReduction>1</mechanicalReduction>
            </actuator>
        </transmission>

I also have a position controllers defned

  leg1_position_controller:
    type: position_controllers/JointTrajectoryController
    joints:
      - upperlegM1_middlelegM1_joint
    constraints:
      goal_time: 0.5
      stopped_velocity_tolerance: 0.5
      upperlegM1_middlelegM1_joint: {trajectory: 0.1, goal: 0.5}

Now when i spawn the robot in gazebo and execute a plan to move the limb. It moves very slowly. It takes more than a minute to get to the planned configuration even though the plan is found quickly
How do I increase the speed the links are moved?
i tried increasing effort=“1.0” velocity=“6.9813” but these had very little effect.
Also from the documentation its not clear if the effort mensioed is the effort exerted by the motor or the effort required to move the motor?
Should i be increasing this? or some other value in the hardware_interface/PositionJointInterface?
or is there something to do with PID which seems very complicated

thanks

okey after some googling id like to answer my own question…

the parameters are in the joint_limits.yaml file
generated by the moveit setup assistant. its takes the initial value from your urdf which is why changing your urdf after the config has been generated will not have any effect

but changing the values in joint_limits.yaml did the trick

1 Like