The document discusses modeling human gait and push recovery for bipedal robots using machine learning and formal methods. It proposes using a combination of timed hybrid probabilistic automata within the BIP framework. Key aspects include fitting motion data with polynomials, generating stochastic phases that account for errors, and refining the machine learning algorithm. Push recovery is modeled in BIP with left and right leg composites interacting through the COM, COP and CMP interfaces. Future work proposed includes using Petri nets and formal verification, cellular automata models from computer vision data, and optimization techniques for regression analysis.
2. Multi Disciplinary Nature of the Approach..
Software
Engineering
Robotics
Rigorous
System
Design
Something
Wonderful
Physics
(Mechanics)
Machine
Learning
Automata
Theory
12/24/2013
3. Motivation...
I won’t fall if
you push me ,
but you will fall
if I Push you
Grrrr..
.....
Angry Robot
Arrogant Man
12/24/2013
5. The motion of the COM is sinusoidal in nature both in the vertical and the
horizontal plane.
The two phases occur alternately, that is when one leg is in swing phase the
other leg is in the stance phase and vice-versa.
The Gait signal is unique to a given person but the phases and their response
time in general are almost common to all persons.
This periodicity in gait signal has to be exploited in order to achieve tangible
results.
The motion signal of the knee is highly non-linear due a double hump which is
noticed in the knee signal. This makes things much more difficult to model. All the
difficulty arises from this non-linear signal.
12/24/2013
7. Capture Points...
These points form the region of stable footing,
that is upon impact of a force if the foot is placed
in the region defined by these points then, the
biped will be able to recover from impact and be
able to balance itself.
The Capture region must be within the BoS
(Base of Support) or they must overlap to some
extent as in Fig.2
The BoS (Base of Support) is the area of the
convex hull formed by the feet.
If the Capture region is outside the BoS then the
biped will either fall or it must take a double step
in order to stabilize itself. (Fig.3)
12/24/2013
Here the biped is modeled as a flywheel rather
than an inverted pendulum.
8. 1. Ankle Strategy ( COP Balancing)
2. Hip Strategy (CMP Balancing)
3. Stepping ( Change of Support Strategy)
12/24/2013
9. Decision Boundaries...
Pioneering work done by Benjamin Stephens, these decision boundaries define
the regions of stable gait. Any motion which lies between these defined set of
regions, is partly immune to the impacts of the external perturbations. The lines
representing stable gait depict closed formed loops , which closely represent the
lyapunov exponents.
12/24/2013
10. Continued...
The trajectories of stable gait are those,
which are originating in the green
region, these trajectories lie inside the
decision boundary.
These regions are obtained from the
following equation :
The above equation has been obtained by approximating the biped to
a flywheel and applying the notions of Bang Bang control.
12/24/2013
11. Foot Placement Estimator...
i. These are used to model passive
gait, where the biped is represented
as a compass (i.e. Compass Gait).
ii. Very similar to the capture
points/regions, but instead of
defining the capture regions these
define a set of vertical lines along
which the foot needs to be placed
in order to stabilize the gait.
iii. If the foot placement is either on
or beyond the FPE, then the gait is
stabilized otherwise as is evident
from Fig a. the biped tumbles
down.
12/24/2013
12. Reaction Null Space Transformation...
This
was initially applied to the space
robots but has been extended to biped
locomotion, using a two link planar
model representing a Linear Inverted
Pendulum. Selective Null Space
transformation has been used here.
The biped has been modeled using a
stable base and an unstable manipulator.
12/24/2013
14. Paradigm Shift...
Traditional Approach
• Push Recovery is a
hardware problem.
• Human Gait can only be
modeled using complex
constraint equations of two
link or three link planar
models
• System Modeling can be
tested for correctness until
it is implemented.
12/24/2013
Our Approach
• It can be ported to the
software domain.
• It can be solved using
Machine Learning
Techniques if we have
enough data.
• Rigorous System Design
incorporates the notion of
“Correctness by
Construction” [BIP]
16. BIP- An Overview...
The framework consists of three independent layers these are :
1. Behavior
2. Interaction
3. Priority
Originally developed for modeling embedded and software
systems, but we have ported it to our domain.
12/24/2013
17. Salient Features of BIP...
• Separation of Concerns: This simply means that the three layers are
independent of each other, each takes care of a particular function/stage of
the system design.
• BIP Space: The three layers can be represented in a three dimensional
space often dubbed as a BIP space. The three layers form the three different
coordinate axes. The system architecture is defined by the interaction and
priorities layer , the system behavior by the behavior layer.
• Expressive Power: The semantics and the syntax of the framework is
clean and unambiguous with a solid foundation on Boolean algebra. Yet it is
expressive enough to model even the most complex of heterogeneous
systems.
• Behavior : This is modeled as a set of Finite State Machines.
• Interaction : This is a set of ports joined by the connectors.
• Priority : This is charge of resolving the conflicts and deadlocks which might
occur in the system.
12/24/2013
18. BIP Interactions...
There are two types of ports Trigger and Synchron.
Synchron: Both Components act in complete synchronization.
Trigger : The components may act in sync or independently of each other.
Given below are the types of interactions possible with above mentioned ports.
12/24/2013
19. Next Few Slides Depict the Theoretical
Tools used in Modeling...
12/24/2013
20. Timed Systems...
1. Almost all real-time systems are examples of timed systems, this require a
2.
3.
4.
5.
very high degree of synchronization with a set of clocks.
Timed as the named suggests is of prime importance in all real – world
critical applications. E.g. Flight Control Systems.
These systems are modeled with the help of a timed automata which is an
extension of the finite state automata.
Its just a fancy name for an automaton with a set of local/global clocks,
where each state implicitly remembers the time of each event or rather its
timestamp.
Human Gait is a highly timed and synchronized system hence, approximating
it by a timed automata will not be wrong on the contrary it will improve the
correctness of the model.
12/24/2013
21. Hybrid Automata...
A hybrid automaton is used to model any system which has both discrete and
continuous states. These hybrid systems form the core components of most
embedded systems today hence; ways to model these in an efficient and effective
manner is the real challenge. This automaton fits our purpose because human gait
inherently consists of both discrete (stance) phase and continuous(swing) phase.
These phases are further subdivided into several atomic phases which will form the
basis for our system design.
12/24/2013
22. Probabilistic Automata...
It is a more generic version of a non deterministic finite automaton, where
we associate with each state transition a probability .Thus, the transition
function transforms into a stochastic matrix whose elements give the
probability of the state transitions
There is also an associated probability of being in an initial state.
These are a special kind of automata which are used for modeling systems
which have a probability associated with each transition phase, almost all the
processes that we model are stochastic in nature (including human gait)
hence, this was the automata of our choice.
12/24/2013
23. Man I am
overwhelmed by all
these classes of
automata.
Which one do I
choose......??
12/24/2013
24. That is where we come in to save the day....
Timed
Automata
Timed Hybrid
Probabilistic
Automata
Hybrid
Automata
Probabilistic
Automata
Take them All....
12/24/2013
27. Polynomial Fitting Module...
For a sampling rate of less than or equal to 10, fit a polynomial of the
same degree.
For sampling rate of greater than 10, fit a polynomial of degree 10 and
no more.
This might be counter intuitive because, conventionally a spline
interpolant gives the best fit and it’s the most shape preserving curve.
Well, we want the system to make mistakes and learn from them, that is
the only way a generic gait model can be developed.
This module fits a polynomial for every gait cycle to the ankle, hip and
knee joint angles respectively.
12/24/2013
28. This module is responsible for calculating the least squared error
between the output of the polynomial and the input data for all data
points and all the gait cycles.
This error is stored in a file for further use of the Error Modeling
module.
12/24/2013
30. Stochastic Phase Generation...
This is the place where we bring things all together, the timed hybrid
probabilistic automata is responsible for modeling this phase and all the
associated things.
The diagram in the following page gives a detailed description of the
automata which is employed.
The probability is also a measure of the error in our case a high probability
implies a high degree of error and vice –versa.
12/24/2013
34. Details of the Implementation...
1. This view of the BIP framework essentially shows how the different atomic
components interact with each other and the atomic states through which they
pass.
2. We had to extend the BIP framework to include the inversion operator and a new
phase which is aptly termed as the inversion phase.
3. This has been done to reduce the number of states in the automaton. The use of
this operator makes the Hybrid Automata reduce to an automaton with minimal
number of states.
12/24/2013
36. Refinement of the Proposed Empirical
Machine Learning Algorithm
i.
The initial algorithm only takes into account the first moment about the mean. So
we decided to try it out with higher moments. Results were not satisfactory the
error handler term was overshooting its range. Hence, the minor changes were
required these are:
12/24/2013
37. ii.
This is completely based on our dataset hence, we don’t have
any idea of how this will scale or extrapolate to other datasets,
the other major drawback of this error handling term is that,
the value of the control parameters for the error handler term
are fixed they are not tailor made to the specific gait profiles of
an individual.
ii. The other major drawback of this approach is that it doesn’t
have a notion of combining the different polynomials used
during the training phase. We just have individual gait profiles
of the person. But we haven’t generated the generic
polynomial to be used in the testing phase.
In order to account for this, we have decided to introduce two new
concepts.
12/24/2013
49. Details of the Model...
1. It consists of two composite components the left leg and the right leg.
2. These Composite Components in turn consists of the four atomic components
these are :
Ankle
Knee
Hip
Foot
3. The Interface is formed by three points these are the CMP (Centroidal Moment
Point) , COP (Centre Of Pressure) and the COM (Centre of Mass).
4. The priorities layer consists of the three strategies these include the Ankle, Hip and
Stepping.
12/24/2013
50. Finally- The Road Ahead...
1. Modeling Biped Locomotion Using Petrinets and Verifying it
using the formal methods
2. Using Cellular Automata to Model Human Gait – A Computer
vision based approach
3. Use of Random Restart Hill Climbing coupled with Gaussian
flattening to carry out the regression analysis
12/24/2013
The picture demonstrates the whole idea behind push recovery, if you push a human being it can recover from that push, but if you push a robot it cannot recover from the push. Effectively modeling this is indeed a big issue.
The example given is that of a thermostat it can be in two states on and off which are discrete in nature, but the fall in temperature is continuous in nature which is given by the differential equation. This is the flow condition. The condition x >= 16 is the invariant condition. And x <= 18 is the guard condition.