Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SimpleTransmission and dynamixel_hardware #67

Open
gpicardi opened this issue Aug 29, 2023 · 0 comments
Open

SimpleTransmission and dynamixel_hardware #67

gpicardi opened this issue Aug 29, 2023 · 0 comments

Comments

@gpicardi
Copy link

gpicardi commented Aug 29, 2023

Hi everyone,
I am trying to set up the transmission mechanism to work with my dynamixel-based manipulator. Of course I am using this plugin for the hardware. I am using humble on Ubuntu 22.04.

I have a 3 Dof manipulator with forward position controller and joint trajectory controller. Both using a position interface. I want to add a transmission element on the tibia joint (a SimpleTrasmission now for simplicity). The only modification that I have made is in the ros2_control tag in the urdf, in which I have added the following block:

<transmission name="tibia_transmission">
      <plugin>transmission_interface/SimpleTransmission</plugin>
      <actuator name="tibia_actuator" role="tibia_actuator">
      </actuator>
      <joint name="tibia_joint" role="tibia_joint">
            <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
            <mechanicalReduction>40.0</mechanicalReduction>
       </joint>
</transmission>

I have tried different modifications of this snippet ( instead of , hardware_interface instead of hardwareInterface, mechanical_reduction instead of mechanical_reduction, EffortJointInterface instead of PositionJointInterface). Everything loads smoothly, but the system is simply ignoring the mechanical reduction. My question is, should I modify the dynamixel_hardware plugin?

I am also reporting the yaml file of control.

controller_manager:
  ros__parameters:
    update_rate: 30
    #use_sim_time: true

    joint_state_broadcaster:
      type: joint_state_broadcaster/JointStateBroadcaster

    forward_position_controller:
      type: forward_command_controller/ForwardCommandController

    joint_trajectory_position_controller:
      type: joint_trajectory_controller/JointTrajectoryController

forward_position_controller:
  ros__parameters:
    joints:
      - coxa_joint
      - femur_joint
      - tibia_joint
    interface_name: position

joint_trajectory_position_controller:
  ros__parameters:
    joints:
      - coxa_joint
      - femur_joint
      - tibia_joint

    command_interfaces:
      - position

    state_interfaces:
      - position
      #- velocity
      #- effort

    action_monitor_rate: 20.0 # Defaults to 20

    allow_partial_joints_goal: false # Defaults to false
    open_loop_control: true
    allow_integration_in_goal_trajectories: true
    constraints:
      stopped_velocity_tolerance: 0.01 # Defaults to 0.01
      goal_time: 0.0 # Defaults to 0.0 (start immediately)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant