The point contact model and 3D friction cones

The point contact model and 3D friction cones

Maintaining balance is one of the crucial things for roboticists working with mobile robots, especially with humanoid robots. An example of a walking HRP-2 robot is shown in the teaser figure.

When a foot sole of HRP-2 is in contact with a surface, for example, the ground plane, the contact must remain fixed because otherwise the robot is at risk of falling. Therefore, it is of key interest to derive what we call the contact stability condition for such type of fixed contact.

In this article, we consider the contact point $p_k$ located at the right foot sole of HRP-2 in the teaser example. We discuss the contact stability condition of this point contact model followed by its linear approximation.

Read more
3D angular velocity and Rodrigues' formula

3D angular velocity and Rodrigues' formula

One type of motion that people often encounter in robotics is the rotation of a rigid body about a fixed axis. Consider a 3D object rotating about an axis $u$ (represented by a unit vector in $R^3$) at a rate of $\theta$ radians per second (rad/s, in $R$) for $t$ seconds. Let $p$ be a point attached to the object and $\dot{p}$ the tangent velocity at point $p$.

An illustration is shown in the cover figure, in which we use $\omega=\theta u$ instead to represent the axis and angle in a unified vectorial form. In the literature, $\omega$ is often named angular velocity.

Read more
Rotation matrices: everything you wanted to know

Rotation matrices: everything you wanted to know

In robotics, vision and graphics, rotation matrix is one of the most popular mathematical representations of the rotational motion. It is simple but sometimes may cause confusions. In this post, I will construct a rotation matrix from stratch and talk about its key properties. For brevity, all vectors are column vectors and all coordinate frames are right-handed unless otherwise stated.

Read more

Inner product space, affine space, Cartesian space, and Euclidean space

Vector space, inner product space, Euclidean space … These terms appear frequently in the domains of reinforcement learning and optimization. In robotics, people usually make the distinction between “Cartesian space” and “joint space” for expressing coordinates. These are simple and fundamental concepts in algebra but can be confusing for some people. In this post, I give the formal definition of these technical terms from a roboticist’s perspective.

Read more
PCA Explained Step by Step

PCA Explained Step by Step

All data points lie in a sub-manifold of the 3 dimentional space. If somehow we find this sub-manifold which can be “unfolded” to a lower dimensional space (2D space in this case), then we can reduce the dimensiontality of the data without losing much information.

Principle

Figure 1. The goal of PCA is reducing the dimentionality of data without losing much information.

Read more