ethz-adrl / towr

A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.
http://wiki.ros.org/towr
BSD 3-Clause "New" or "Revised" License
929 stars 233 forks source link

Why not model the path of a swinging foot with just one polynomial? #69

Closed ferrolho closed 4 years ago

ferrolho commented 4 years ago

Hi Alex! Under Section IV.B of your paper presenting TOWR you say you use three cubic polynomials for parameterizing end-effectors in swing phase as well as contact forces:

"(...) These can represent typically varying force and motion profiles while still keeping the problem as small as possible. (...)"

I understand why you would want to use more than one polynomial for modelling the contact forces during a stance phase, but I don't understand why you would want more than one polynomial for the Cartesian path of a swinging foot. Could you please help me understand this? Thank you in advance!

(This may be related to #35.)

awinkler commented 4 years ago

Hi Henrique! yes, sure. For instance considering the polynomial describing the foot z (height) position: we want the foot to lift, fulfill possibly some position constraint of maximum swing height and then lower back to the ground. All while approaching zero velocity at takeoff and landing. There are just not enough DoFs in a third order polynomial for that. The xy-motion of the swing might very well be describable with a single polynomial, but was just easier and cleaner to implement using multiple polynomials here as well. Hope this makes it clearer👍

ferrolho commented 4 years ago

It is very clear now. Thank you! :slightly_smiling_face: