This PR applies the following changes to cer_kinematics library:
Bug Fixes
Fixed returned joints configuration when max_cpu_time was exceeded.
Given that reaching in position is handled as a nonlinear constraint, exactly as the bounds accounting for the tripod maximum bending angles (alpha), it happened sometimes that Ipopt tried hard to comply with reaching in position, even though it was not possible, running out of all the time budget and thus allowing for a slight violation on alphas. Now bounds on alphas are always honored, no matter of targets' locations.
Fixed potential pitfall while checking against tripod constraints in case the initial roto-translation matrices (torso.T0 and lower_arm.T0) are not given as a pure rotation around z-axis (which represents the current configuration by the way).
Improvements
By means of expect_infeasible_problem option, we can tell Ipopt that the final target might be out-of-reach. This way, the restoration phase is called more often, resulting in a lower overall computation time. This option can be always left on, working also in case of attainable targets.
This PR applies the following changes to
cer_kinematics
library:Bug Fixes
max_cpu_time
was exceeded. Given that reaching in position is handled as a nonlinear constraint, exactly as the bounds accounting for the tripod maximum bending angles (alpha
), it happened sometimes that Ipopt tried hard to comply with reaching in position, even though it was not possible, running out of all the time budget and thus allowing for a slight violation on alphas. Now bounds on alphas are always honored, no matter of targets' locations.torso.T0
andlower_arm.T0
) are not given as a pure rotation around z-axis (which represents the current configuration by the way).Improvements
expect_infeasible_problem
option, we can tell Ipopt that the final target might be out-of-reach. This way, the restoration phase is called more often, resulting in a lower overall computation time. This option can be always left on, working also in case of attainable targets.