Professional Documents
Culture Documents
simulation
Aashith Kamath Manjeshwar, Natia Chachkhiani, Justin Morgan
Computer Science
University of California, Los Angeles
California 90024
Email: aashithk@cs.ucla.edu - natia@cs.ucla.edu - jjmorgan@ucla.edu
I. I NTRODUCTION
Biped locomotion has been one of the most challenging
locomotion tasks over the years. The interest in it has been
growing since the advancements of humanoid robots. Biped
locomotion is especially challenging because it involves highdimensional states and actions and they are very unstable.
Of the number of algorithms that have been proposed over
the years, one of the most successful models on physics
based simulations involves developing controllers to drive
forward dynamics simulations. By using this approach, many
researchers have been successful in creating robust biped
walking frameworks that exhibit natural motion using and
can resist external turbulences. Our goal in this project is
to enable the biped to perform soccer like ball control. We
define this with two main objectives. The first is to enable
the biped to dribble the ball towards a target successfully
without falling over or losing control of the ball. The
second objective is to enable the biped to perform a longer
distance kick as is commonly seen in soccer. We also wish
to ensure that the stability of the biped is maintained during
this process. To achieve these objective, we extend the
SIMBICON (SIMple BIped locomotion COntrol) framework.
This framework involves a finite state machine with all
individual joints attempting to drive towards their target
angles using proportional derivative controllers. We achieve
the first and second objective by defining a new controller
does not ensure any balance control and also does not yield
natural locomotion. To ensure balance control, a small set of
modifications are applied to the model. The first one is that
both torso and the swing-hip should have target angles that are
calculated with respect to the real world while the remaining
target joint angles are expressed relative to its parent joint.
This is accomplished by using a virtual PD controller that
operates in the world frame to compute a net torso torque
torso and a virtual PD controller that operates in the world
frame to compute swing hip torque B . These virtual torques
torso and B are realized using only the internal stance hip
torque. Figure 2 shows us the elements of the balance control
strategy. The second modification introduced is the addition of
a balance feedback term which continuously changes swing
hip target angle as a linear function of the center of mass
position and velocity. The feedback law used is expressed as
follows
d = d0 + cd d + cv Where
d is the target angle used for PD control
d0 is the default fixed target angle as described in the FSM
d is the horizontal distance from the stance ankle to the
center of mass
v is the velocity of the center of mass
cd feedback gain parameter
When extending this balance feedback to the 3D model,
this strategy is applied to both sagittal and coronal planes.
The above FSM model is resistant to external disturbances,
but its movements are still pretty stiff because of the high
gains used in the feedback loop. In order to create a more
natural locomotion, feedback error learning (FEL) is applied
to the biped. FEL allows the learning of inverse dynamics of
the system to produce the given motion trajectories without
actually calculating them. Phase is uniformly divided in N
(20 - 1000) bins. Each bin makes use of a filter represented
as:
vf0 f = (1 )vf f + (vf f + vf b ) Where
Learning rate is 0.1.
vf f &vf b represent the feed forward & feedback torques.
take the ball contact into its calculations. This ensures that
the biped is aware of each contact and can alter the next
state to ensure balance. Because the low-gain motions used
here are less robust than the high-gain motions, we increase
the gains for a short duration after impact. This is applied
in both the sagittal and coronal planes. This helps the biped
stay stable on both axes of motion after each tap of the ball.
Next we define the ball tap trajectory which is activated
when the foot of the biped is very close to the ball. In this
trajectory we slightly increase the speed of the swing leg and
also modify its trajectory to try and kick the ball such that
it does not deviate from the direction of the goal post. This
helps the biped ensure that the ball is always in front of it
and also to drive the ball towards the target. Next we modify
the feedback error learning module to consider knowledge of
proximity of the ball, mass of the ball and contact force. This
helps learn the feed-forward torques in each phase during
the ball control and also makes the ball control more stable
since the biped can anticipate the torques in each phase of
the control. We include a link at the end of the report that
contains a video of this process.
B. Kick Implementation technique
To implement the Kick action similar to that of a penalty
kick, we again make use of certain techniques that humans
would use for the same. We develop a new control strategy
that is layered on top of the original strategy for simple biped
locomotion. Here again, the biped is first given information
about the proximity of the ball in real time and knows the
location of the ball. We use the strategy mentioned in the ball
control implementation to find a path to the ball. We modify
the target state by introducing deviations in the orientation of
the biped using the real time position of the ball and use this
to derive the desired biped trajectory. Once the biped is close
to the ball, its goal now is defined as kicking the ball towards a
target. In our implementation this is the goal post. We do this
primarily by modifying the balance function and defining a
new target state for ball kick. The balance function is updated
to take the ball contact into its calculations. This ensures that
the biped is aware of the contact event and can alter the next
state to ensure balance after the kick. This is again applied in
both the sagittal and coronal planes.
Next we define the ball kick state which is activated when the
foot of the biped is very close to the ball. In this state, the
swing leg is raised much higher to similar a kick. We learn the
modified kick state for this action by studying motion capture
data. The transition to this state ends when the foot comes
in contact with the ball and regular locomotion is resumes.
We also modify the trajectory between the previous normal
locomotion state to this state to simulate the steps that humans
take to kick the ball for a longer distance. We first increase the
speed of the swing leg during the trajectory as it nears the ball.
Just before the toe touches the ball, we freeze the swing legs
joints until ball contact is completed to simulate the tightening
of the muscles and ensure that the joints are more rigid for
the period of the kick. This also ensure that more force is
transferred to the ball during the kick. We also modify the
trajectory of the kick to try to kick the ball towards the goal.
This is done by defining a function that take the position of the
goal and the current position of the ball to return the segment
of the ball that the foot should ideally touch. For instance,
if the ball is on the right side of the goal post, then function
would return the right segment of the ball. Kicking the ball on
the right segment ensures that it travels towards the left and
thus towards the goal. Once the kick is executed the biped
reverts back to the normal locomotion state sequence.
V. I MPLEMENTATION AND R ESULTS
The project was implemented using the C++ based Open
dynamics engine as the physics SDK. Open dynamics engine
is an open source and high performance library for simulating
rigid body dynamics. Since the platform is mature and has
a C++ API for low level control of the model, we can
define advanced joint types and also define integrated collision
detection with friction. We extend the simple biped locomotion
implementation of the SIMBICON model to perform advanced
operations such as ball control. We make use of OpenGL
(Open Graphics Library) for the vector graphics implementation. OpenGL is a cross-language, multi-platform application
programming interface which is used for rendering 2D and 3D
vector graphics. The API is used to interact with a graphics
processing unit, to achieve hardware-accelerated rendering.
The parameters of the world are as in the real world. The
gravity is chosen as 9.8. The biped in the simulation weighs a
total of 90 kilograms. The biped has a 70 kg trunk including
the arms, 5 kg upper legs, 4 kg lower legs, and 1 kg feet.
The model has human-like proportions and mass distributions.
A spring-and-damper penalty-force ground contact model is
applied to points at the front and back of the feet. Proportional
derivative controller gain values of kp and kd are set to 300
Nm/rad and 30 Nms/rad respectively for all joints J as per the
original SIMBICON project. For the basic locomotion, the
walking gaits are modeled by using 4 states in the finite state
machine. Transitions between states occur after fixed durations
of time, or, for other states, after a new foot contact has been
established. The Degrees of Freedom (DOF) of the model is
shown in figure 3. For the 3D model, there are 34 degrees of
freedom in total. 28 of which are internal degrees of freedom.
The ball weight in the implementation is 15 ounces and
the friction and restitution coefficients are chosen to mimic
the behavior of a real football. In one of the demo videos
we also see the ball spinning after touching the ground after
the kick. This is similar to that of a football that spins when
kicked on one side. We choose the simulation time step for
operation as 1/2000th of a second. For the Balance Feedback
Gain Parameters, cd , cv we use cd = 0.5 and cv = 0.2 for
the swing hip in all states, in both the coronal and sagittal
planes. The model also includes the same robustness that
was observed in the SIMBICON model and makes use of
the balance controller. This ensures that the biped can deal
Fig. 7. Force Vector when both legs in contact with the ground
Fig. 8. Force vectors when a single leg is in contact with the ground
Fig. 5. Kick state continues until complete or contact with ball is achieved
D. Kick Implementation
ball, its next state is the modified kick state. In addition to this
target state, the trajectory to the state is also modified with a
much higher speed of approach towards the ball of the swing
leg. Also when the swing leg is very close to the ball, the joints
are frozen to prevent the knee from collapsing and to simulate
the muscles tightening as is the case in a natural kick. We also
see that the kick is on the center of the ball since the goal post
is on a straight line from the current position of the ball. This
ensures that ball does travel towards the predetermined target
of the goal post. Another interesting phenomenon we notice in
the videos is that the ball sometimes tends to spin slightly after
some distance when kicked with more force. This is similar to
the longer distance real ball kicks we see during actual soccer
play.
Fig. 23. Kick: Speed of the trajectory is increased to increase force of contact
and joints of the swing leg are made rigid
VI. L IMITATIONS
One major limitation of this model is that the task of
producing controllers from motion capture data is not fully
automated and we still need to manually tune the required
feedback gain constants. We however, believe that a learning
[1] KangKang Yin , Kevin Loken , Michiel van de Panne SIMBICON: simple
biped locomotion control, ACM Transactions on Graphics (TOG), v.26
n.3, July 2007.
[2] Vitor Matos , Cristina P. Santos. Towards goal-directed biped locomotion:
Combining CPGs and motion primitives .
[3] J. Santos and A. Campo Biped locomotion control with evolved adaptive
center-crossing continuous time recurrent neural networks, Neurocomputing, vol. 86, pp. 86-96, 2012.
[4] T. Mori, Y. Nakamura, M. Sato, and S. Ishii., Reinforcement learning
for a cpg-driven biped robot., Proceedings of the Nineteenth National
Conference on Artificial Intelligence, AAAI, 2004.
[5] SOK, K. W., KIM, M., AND LEE, J. , Simulating biped behaviors from
human motion data., ACM Trans. on Graphics (Proc. ACM SIGGRAPH)
2007
[6] http://bipedsoccer.weebly.com Link to project resources and video demo,