Category: simulations

Airfoil Configuration Optimization with Genetic Algorithms
This article describes the first iteration of a project I did as part of Penn Electric Racing, the University of Pennsylvania’s Formula SAE Electric team. It uses JavaFoil, a panel method solver that we wanted to investigate. Ultimately we switched out JavaFoil for OpenFOAM, a true CFD solver, and had much better results that gave…

Numerically Solving Discrete Systems with Mathematica for Robocode
As a learning project, I’ve been trying to forwardsintegrate Robocode physics using Mathematica. Robocode is a programming game where two or more tanks battle in a 2D arena, attempting to hit enemies while simultaneously dodging bullets. In order to better determine all the possible locations my tank could move to given an initial state and fixed…

Key Control Strategies Emerge in Spring Loaded Inverted Pendulum Traversal of Slippery Terrain
Last week I returned from the Dynamic Walking 2017 conference, where I had a poster and five minute talk on some of the numerical trajectory optimization work I’ve been doing for spring loaded inverted pendulums. More specifically, I was trying to determine what kinds of strategies the optimizer discovers when recovering from landing unexpectedly on…

Optimizing Trajectories for the Spring Loaded Inverted Pendulum over Slippery Terrain
Previously, I’ve written short introductions to numerical trajectory optimization here and here—if you’re unfamiliar with the basics, I recommend you check those out first. This write up expands upon a section of my research paper (which I hope to finish soon) and is meant to be a walkthrough of how to apply numerical trajectory optimization to realworld scenarios. The Problem…

Tutorial: Direct Collocation Trajectory Optimization with Matlab
In the previous tutorial, we focused on single shooting trajectory optimization, which involved timediscretizing the control input and simply integrating the dynamics. The desired end state was then added as a constraint to fmincon. Here, we focus on a different trajectory optimization technique, known as direct collocation. Simultaneous Optimization The core difference between shooting methods…

Tutorial: Single Shooting Trajectory Optimization with Matlab
Numerical methods for trajectory optimization have become increasingly popular for analyzing the motion of bipedal springmass walkers, whose complex nonlinear dynamics make analytical solutions often infeasible. When I began looking into trajectory optimization, the number of different methods often obscured some of the basic ideas in the field. This tutorial is meant to provide a simple introduction to trajectory optimization with some example…

Optimizing Retraction Reflexes Using Reinforcement Learning based on Particle Filtering
As part of my development of a legged helicopter landing gear (more on this later), I started studying ways to minimize landing impact using a combination of leg retraction (active impedance) and elastic elements (passive impedance). This lead me to the paper “Can Active Impedance Protect Robots from Landing Impact?” by Houman Dallali et. al. Although…