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