Closed jgvictores closed 1 year ago
On the interface layer, choosing between two input enums as in gotoPose(CartesianInterpolation::MoveJ, xd)
and gotoPose(CartesianInterpolation::MoveL, xd)
would be pretty much equivalent to supporting two methods as we currently do: movj(xd)
, movl(xd)
.
Now on the implementation layer: how about drones, i.e. free-moving 3D solids? You don't need a kinematic solver here, but rather a cartesian trajectory generator. For linear trajectories, KDL is the best fit. But I'm not really convinced of supporting both kinematic chains (more generally speaking: articulated bodies) and simple solid objects in BasicCartesianControl. I'd rather abstract out the logic necessary for the latter, i.e. implement my own trajectory generator. The interface design of ICartesianControl
simply doesn't fit for a drone, I think.
@jgvictores can we close this?
Yes, I completely agree. I've been doing some more work with mobile robots over the past years, and concerns are typically very different. Abstraction makes no sense in this case, as the objectives and terminology differ quite a bit (localization, navigation...).
Closing!
[ICartesianControl.h] Long-term proposal, to merge
movj
andmovl
resulting in something like:More generic Cartesian targets even for drones!