Reference: Behavior Cloning for Manipulation

Hello, it's time for my yearly post! The goal of this one is to be a handy reference for behavior cloning as applied to manipulation -- something I've been spending quite a bit of time on over the past 6-9 months. The field has been progressing at an absurdly rapid pace of late (somehow we're at a point where robots can do laundry), so I thought it'd be a good… [Read More]

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… [Read More]

Setting Up a Robotic Manipulator

Let's take a look at how we can set up a framework for streamlined simulation and hardware control of a manipulator. The robot under consideration is Ufactory's Lite6 manipulator and the simulation/setup tool used is Drake. All the code used in this post can be found in my repo. But before we start, some explanations are in order. Lite6? The Lite6 is one of the more economical (not to be… [Read More]

Understanding TrajOpt

TrajOpt is an optimization based approach for motion planning. More specifically, it uses a sequential convex optimization procedure along with a formulation of collision constraints to find locally optimal planning trajectories, even for robotic systems that have a large number of degrees of freedom. This post will go into the details of the optimization part, and give an outline of how it can be implemented. My implementation can be found… [Read More]

Multi Vehicle Mixed Integer Programming

In this post, we take a look at this paper, which introduces a simple, yet interesting approach to solving a multi-vehicle path planning problem. My implementation of the algorithm that was used to evaluate its performance and generate all the results in this post can be found here Problem The paper tries to tackle the issue of finding fuel optimal paths for multiple vehicles, given vehicle-obstacle and vehicle-vehicle collision constraints.… [Read More]

Implicit Euler integration using Newton-Raphson

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… [Read More]

Injective linear transformations

In this post, we take a look at some characteristics of injective linear transformations. Let be a linear transformation from some vector space to another vector space , both defined over a field . being injective, means that no two vectors in can be mapped to the same vector in . We have a one-to-one mapping between the vectors in and their images in . What does the null space… [Read More]

Change of basis

We look into the problem of expressing a vector , whose coordinates relative to some basis is known, through the coordinates relative to a different basis. Let's assume that lies in an dimensional vector space defined over the field . Let and be two different sets of basis vectors containing the vectors and respectively. Let represent the coordinates of with respect to the basis . Now, how do we go… [Read More]

Dimension of a proper subspace

Let be a finite dimensional vector space over the field , with . We also define the ordered basis for to be . Consider a subspace of the vector space . Naturally, we have . This is because for any , we have , which can then be expressed as a linear combination of the basis vectors in . Hence, we don't require more than linearly independent vectors to represent… [Read More]