Dear all, @ndehio @gergondet @kheddar
I have encountered two issues that lead to different [franka::ControlException]:
Abrupt motion: generates: cartesian_reflex
sudden force jump generates: [tau_J_range_violation]
To enable more dynamic motion, I am wondering that if we can fix issue 1? I found that it affects the admittance contact, either with rigid-surface contact (1.1) or rigid-surface contact (1.2).
issue 2 is not fixable, I listed it here for documentation purposes. It might hinder the post-impact state observation. In the figures below, when the 5th joint torque limit [12 Nm] was hit, it throws [tau_J_range_violation] and the log stopped. Hence we may not observe the state jump or the oscillations correctly.


1. Abrupt motion
I got the Franka::ControlException error. From the plot below, we can see that the error was triggered at around 20N.
I applied the SinglePandaTestAdmittanceController with different modified transitions.
- [InitialPosture, OK, MoveDownStart1]
- [MoveDownStart1, OK, MoveDownContinue1]
- [MoveDownContinue1, OK, Apply10ForceAdmittance]
- [Apply10ForceAdmittance, OK, Apply20ForceAdmittance]
- [Apply20ForceAdmittance, OK, InitialPosture]
1.1 Hard contact case:
Set the contact with 0.02 m/s, and then apply the admittance task. While the contact sustains, I switched the reference from 10 N to 20N. I am not sure either it is the force or the velocity that triggered the exception. The data is here
[warning] [mc_franka] panda_default missed control data (previous: 33368, current: 33370, expected: 33369
[warning] [mc_franka] panda_default missed control data (previous: 33370, current: 33370, expected: 33371
[info] Completed taskAdmittance (timeout)
[success] Completed Apply10ForceAdmittance - output: OK
[success] Starting state Apply20ForceAdmittance
[info] Removed task taskAdmittance
[info] Added task taskAdmittance
[warning] [mc_franka] panda_default missed control data (previous: 33438, current: 33440, expected: 33439
[warning] [mc_franka] panda_default missed control data (previous: 33440, current: 33440, expected: 33441
terminate called after throwing an instance of 'franka::ControlException'
what(): libfranka: Move command aborted: motion aborted by reflex! ["cartesian_reflex"]
control_command_success_rate: 0.99
Aborted (core dumped)

1.2 Soft contact case:
I enabled the admittance task and interacted via the "Foot" surface by hand. The data is here
arning] [mc_franka] panda_default missed control data (previous: 9128, current: 9131, expected: 9129
[warning] [mc_franka] panda_default missed control data (previous: 9131, current: 9131, expected: 9133
terminate called after throwing an instance of 'franka::ControlException'
what(): libfranka: Move command aborted: motion aborted by reflex! ["cartesian_reflex"]
control_command_success_rate: 0.98
Aborted (core dumped)

2 Joint torque jump:
Although it seems appealing, reset the joint torque limit via the setCollisionBehavior does not help. According to Niels @ndehio and the data sheet the maximum hard joint torque limits are:
12 Nm for the last three
87 Nm for the first four.
FE is not going to modify it. Hence, we can not generate impact motions more than that. The data is here
[info] Removed task body6d_panda_foot_panda_foot
[warning] [mc_franka] panda_foot missed control data (previous: 1152, current: 1152, expected: 1153
[warning] [mc_franka] panda_foot missed control data (previous: 1229, current: 1233, expected: 1230
[warning] [mc_franka] panda_foot missed control data (previous: 1233, current: 1233, expected: 1236
terminate called after throwing an instance of 'franka::ControlException'
what(): libfranka: Move command aborted: motion aborted by reflex! ["tau_J_range_violation"]
control_command_success_rate: 0.97
Aborted (core dumped)

Dear all, @ndehio @gergondet @kheddar
I have encountered two issues that lead to different [franka::ControlException]:
Abrupt motion: generates:cartesian_reflexsudden force jumpgenerates:[tau_J_range_violation]To enable more dynamic motion, I am wondering that if we can fix
issue 1? I found that it affects the admittance contact, either with rigid-surface contact (1.1) or rigid-surface contact (1.2).issue 2is not fixable, I listed it here for documentation purposes. It might hinder thepost-impact state observation. In the figures below, when the 5th joint torque limit [12 Nm] was hit, it throws[tau_J_range_violation]and the log stopped. Hence we may not observe the state jump or the oscillations correctly.1. Abrupt motion
I got the
Franka::ControlExceptionerror. From the plot below, we can see that the error was triggered at around20N.I applied the
SinglePandaTestAdmittanceControllerwith different modified transitions.1.1 Hard contact case:
Set the contact with
0.02 m/s, and then apply the admittance task. While the contact sustains, I switched the reference from10 Nto20N. I am not sure either it is theforceor thevelocitythat triggered the exception. The data is here1.2 Soft contact case:
I enabled the admittance task and interacted via the "Foot" surface by hand. The data is here
2 Joint torque jump:
Although it seems appealing, reset the
joint torque limitvia the setCollisionBehavior does not help. According to Niels @ndehio and the data sheet the maximum hard joint torque limits are:12 Nmfor the last three87 Nmfor the first four.FE is not going to modify it. Hence, we can not generate impact motions more than that. The data is here