karl3@writeme.com wrote:
> karl3@writeme.com wrote:
> > karl3@writeme.com wrote:
> > let's think about my old walking algorithm ^_^
> > the (emotional/executive) problem with the walking algorithm is a few fold
> > 1 producing or facilitating a set of geometric (or physics or dynamics) 
> > primitives sufficient to enable step planning
> > 2 writing and wiring a small-depth plan solver to resolve which foot to 
> > move first in edge situations
> > 3 combining everything with a physical or simulated armature, and then 
> > debugging it
> > now part 2 has prerequisites that are also significant:
> > 2a defining the state of a step of sufficient use to fully plan a good step
> > 2b defining and sufficiently coding the uses of the various constraints of 
> > the system: joint extremes, center of mass positioning
> > 2b also has subparts
> > 2b-1: [i don't quite remember but one runs into it when trying to do the 
> > whole thing together]
> > 2b-2: annotating an armature with sufficient structured information (limb 
> > graph in 3-space with mass) to derive the various constraints
> > something that's missing in here may be the utilization of paths of motion 
> > through areas where constraints are continuously satisfied in the same 
> > manner. doing this is kinda what makes the system analytically solvable on 
> > an arduino by a disabled guy -- the constraints only matter at the points 
> > in these paths where they change, i.e. when the structure would fall or 
> > reach a joint extreme
> > :D
> > _now_ a lot of this is already done for the specific thing i was doing it 
> > for, in the fuzzytew/toywalker github repo, but work towards the specific 
> > goal is roughly lost. {so ... ummmmmmmmmmmmmmmmmmmmmmmm <this algorithm is 
> > not in the repo.
> > the big blocks for this algorithm involved combining the planner w--
> > so the algorithm could be reoriented/refactored in various manners, and 
> > doing so could be useful to generalize components since the original wasn't 
> > made;
> but the original plan was for it to be conditioned on a path of motion of the 
> center of mass, and an environment in which it must step through.
> 
> then in the planner, it considers each foot to lift first -- opening n 
> branches of a decision tree. in each branch, one foot is carrying no weight, 
> so the center of mass must be moved to prevent fall. the center of mass is 
> moved as far as it can go along planned path (note if you have a "head" full 
> of sensors it might make more sense to plan the motion of the head rather 
> than the center of mass, of course many people train RL models and use model 
> inference hardware), and the lifted foot is moved to the best spot to support 
> the center of mass for the next length of path (i was going to use a 
> heuristic that assumed roughly straight paths to start with, basically you 
> can predict the location of the armature along the path in the future and 
> place the foot so that it has the largest range of motion, kinda; this could 
> also be done with a feedback loop if a better solution is needed in a pinch).
> 
> rather than busy waiting, it ideally uses its runtime to consider further 
> steps in the future, but since it became so hard to implement the decision 
> tree exploration strategy doesn't matter at this point
> 
> then it picks the foot to pick that provides for the path to succeed, using a 
> heuristic (like longest length covered) to break ties :)
> 
> i was going to start with only static concerns rather than dynamic concerns, 
> so the center of mass would be kept above the convex polygon enclosed by the 
> unlifted feet.
> 
> and there's the spot of confusion >(

so i found myself at the toywalker repo sad to discover other attempts to work 
on haven't reached/stayed github. likely relates having issues very quickly 
when engaging code ... next bit was going/trying to add was geometric 
primitives for convex polygon to calculate center of mass constraint

Reply via email to