Kinovarobotics / kortex

Code examples and API documentation for KINOVA® KORTEX™ robotic arms
https://www.kinovarobotics.com/
Other
107 stars 84 forks source link

Gen3 Lite torque control #165

Closed lingxiaomeng closed 1 year ago

lingxiaomeng commented 1 year ago

We are using gen3 lite for Robot Motion and Control course lab. We know that gen3 lite does not have torque sensors, so we cannot properly run the torque control example. Can we control the robot arm by directly controlling the joint current, or can we only control the joint speed?

felixmaisonneuve commented 1 year ago

Hi @lingxiaomeng,

It is possible to use the Low Level control mode and set actuators in CURRENT control mode with SetControlMode.

We have this example on how to use low level and cange actuator control modes.

You cannot send current commands in high level however.

Best, Felix

lingxiaomeng commented 1 year ago

Hi @lingxiaomeng,

It is possible to use the Low Level control mode and set actuators in CURRENT control mode with SetControlMode.

We have this example on how to use low level and cange actuator control modes.

You cannot send current commands in high level however.

Best, Felix

Thank you for your reply. I was able to successfully control the joints by controlling the current. Can you tell me about the relationship between current and torque in the feedback of Gen3 Lite?

felixmaisonneuve commented 1 year ago

Torque should be (roughly) linear to the current sent. Equation should something like Torque = Current torque_constant gear_ratio * gear_efficiency

For J1 and J3 : torque_constant = 0.0398 gear_ratio = 30 gear_efficiency = 0.9

For J2 : torque_constant = 0.0398 gear_ratio = 100 gear_efficiency = 0.65

For J4, J5 and J6 : torque_constant = 0.0251 gear_ratio = 23 gear_efficiency = 0.9