I don't seem to be able to use an axis, which is part of an Axis Group in torque control mode.
I call the SMC_SetControllerMode FB to switch from position to torque control mode, followed by the SMC_SetTorque FB to set the desired torque. This works flawlessly for most axes, however if an axis is part of an axis group, switching the controller mode seems to work without any issues, but the desired torque is never set. SMC_SetTorque does not return an error, but fSetTorque of the axis is never changed.
Disabling the axis group before does not change anything, but if I use MC_UngroupAllAxes before changing the controller mode, it all works as it should.
Is there no way to control a single axis in torque control, if it is part of an axis group?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the axis group currently always writes the axis set torque values. If no dynamic model has been configured for the axis group, then the set torques are written to 0.
The solution for your use case is to call SMC_GroupUpdate [0] before you call SMC_SetTorque on the axes. This way, the axis group will write 0 to the set torques in the call to SMC_GroupUpdate(), and SMC_SetTorque then will write the desired set torque.
I don't seem to be able to use an axis, which is part of an Axis Group in torque control mode.
I call the
SMC_SetControllerModeFB to switch from position to torque control mode, followed by theSMC_SetTorqueFB to set the desired torque. This works flawlessly for most axes, however if an axis is part of an axis group, switching the controller mode seems to work without any issues, but the desired torque is never set.SMC_SetTorquedoes not return an error, butfSetTorqueof the axis is never changed.Disabling the axis group before does not change anything, but if I use
MC_UngroupAllAxesbefore changing the controller mode, it all works as it should.Is there no way to control a single axis in torque control, if it is part of an axis group?
Hi manuknecht,
the axis group currently always writes the axis set torque values. If no dynamic model has been configured for the axis group, then the set torques are written to 0.
The solution for your use case is to call SMC_GroupUpdate [0] before you call SMC_SetTorque on the axes. This way, the axis group will write 0 to the set torques in the call to SMC_GroupUpdate(), and SMC_SetTorque then will write the desired set torque.
Best regards,
Georg
[0] https://content.helpme-codesys.com/en/libs/SM3_Robotics/Current/SM3_Robotics/POUs/AdministrativeConfiguration/Computation/SMC_GroupUpdate.html