ZMP: Generating Bipedal Walking Trajectories

Legged robot research has been an active area of study since the late nineties. Let’s take a look at how we can generate walking trajectories for bipedal robots, using some of these ideas.

The Objective: Implement a quick and dirty way of generating walking trajectories
Constraints: Do it quickly. Minimize sophistication. Anything goes!

What this post will cover:

  1. Overview of the minimal set of ideas required to develop walking algorithms
  2. Computation of bipedal joint trajectories for a simple walking gait

What will not be covered:

[Read More]

Implicit Euler integration using Newton-Raphson

$\newcommand{\Dt}{\Delta t}$

We take a look at the implicit or backward Euler integration scheme for computing numerical solutions of ordinary differential equations. We will go over the process of integrating using the backward Euler method and make comparisons to the more well known forward Euler method.

Numerical integration is extremely important when it comes to simulating real world physical systems. For robotic systems, we usually have a continuous time state dynamics that tells us how the system behaves upon the application of a certain control signal.

[Read More]

Injective linear transformations

In this post, we take a look at some characteristics of injective linear transformations. Let $T$ be a linear transformation from some vector space $V$ to another vector space $W$, both defined over a field $F$. $T$ being injective, means that no two vectors in $V$ can be mapped to the same vector in $W$. We have a one-to-one mapping between the vectors in $V$ and their images in $W$.

[Read More]

Change of basis

We look into the problem of expressing a vector $p$, whose coordinates relative to some basis is known, through the coordinates relative to a different basis.

Let’s assume that $p$ lies in an $n$ dimensional vector space $V$ defined over the field $F$. Let $A$ and $B$ be two different sets of basis vectors containing the vectors $\set{\alpha_1, \ldots, \alpha_n}$ and $\set{\beta_1, \ldots, \beta_n}$ respectively.

Let $p_A$ represent the coordinates of $p$ with respect to the basis $A$. Now, how do we go about computing $p_B$?

[Read More]

Dimension of a proper subspace

Let $V$ be a finite dimensional vector space over the field $F$, with $\dim{V} = n$.
We also define the ordered basis for $V$ to be $B = \set{\beta_1, \ldots, \beta_n}$.

Consider a subspace $U$ of the vector space $V \subseteq U$. Naturally, we have $\dim{U} \leq \dim{V}$.

This is because for any $\alpha \in U$, we have $\alpha \in V$, which can then be expressed as a linear combination of the basis vectors in $B$. Hence, we don’t require more than $n$ linearly independent vectors to represent any vector in $U$.

[Read More]