Ask Your Question
0

differential transmission with ros_canopen, HOW to?

asked 2018-10-05 15:16:33 -0600

akosodry gravatar image

Hello ROS Community,

I have already tried to ask a similar question here: #q304832, however no answer was received so i am trying to ask again from a different perspective.

I am working on the control of a 5DOF robot, where the last two joints (joint_4 and joint_5) create a differential gear/transmission. I found on the official ros_control git an URDF sample, which seems to describe the differential transmission as:

  <transmission name="differential_trans">
    <type>transmission_interface/DifferentialTransmission</type>
    <joint name="joint_4">
      <role>joint2</role>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <joint name="joint_5">
      <role>joint1</role>
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="actuator_4">
      <role>actuator1</role>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
    <actuator name="actuator_5">
      <role>actuator2</role>
      <mechanicalReduction>-1</mechanicalReduction>
    </actuator>
  </transmission>

I tried to test the above code in my URDF, but still joint_4 drives ONLY the fourth motor and joint_5 drives ONLY the fifth motor, however moving one joint should actuate both motors.

I shall mention, that the motors are controlled through ros_canopen. This means that for every joint (joint_1-joint_5) I assigned a canopen id, i.e., a motor driver in the configuration yaml file, For example:

nodes:
  - name: joint_4
     id: 1
     eds_file: ...
  - name: joint_5
    id: 85
    eds_file: ...

It looks like the motors are directly connected with the joints, however i would like to connect them with the actuator outputs of the DifferentialTransmission. (The joint is the node, and not the actuator.)

Did anyone work with this transmission type? How shall it be set up?

Thanks in advance!

edit retag flag offensive close merge delete

Comments

1

Not an answer, but: you have a bit of a "special" setup. That may mean that people that frequent this forum don't have any experience with it.

I'm not saying you won't get any response, but just thought it'd be good to do some expectation management.

gvdhoorn gravatar imagegvdhoorn ( 2018-10-06 03:22:19 -0600 )edit

@gvdhoorn Thanks for the tip. If by special you meant unique, or too complex, I can rephrase the question, to be more general, like:

Did anybody succeed to use the DifferentialTransmission (or any other) transmission_interface with the standard CANOpen (ros_canopen) packages?

akosodry gravatar imageakosodry ( 2018-10-06 07:43:25 -0600 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2018-10-08 07:40:46 -0600

Mathias Lüdtke gravatar image

ros_canopendoes not (yet?) support the transmission_interface. (Issue).

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2018-10-05 15:16:33 -0600

Seen: 163 times

Last updated: Oct 08 '18