Serial Robotics

Null Space Projection for Whole Body Control

Unobstructed Motion

Obstructed by Virtual Wall

Description

As part of ASE 389 Decision and Control for Human Centered Robots, we explored methods for controlling systems with redundant degrees of freedom. One such approach is to project control efforts for a task into the null space of a higher priority task.

The example above has three tasks, where the highest priority is to avoid the virtual obstruction using a repulsive field, the next task in the hierarchy is to follow a trajectory for the end effector, and the lowest task is to maintain a certain joint posture. The same control law is used with and without the presence of the virtual wall.

Force and Impedance Control

Description

In this project, a simulation was designed to model friction between the end-effectors and the box as it slides on a rough surface. Hybrid-Impedance control is then used to control the amount of force used to grip the box (which is subject to slip via coulomb friction), as well as to control the motion of the box in the perpendicular plane. This demonstrates the duality between force and motion freedom.


Matlab Code


Controlling Serial Arms (Inverse Dynamics vs Joint PD)

Description

This project implements Inverse Dynamics control for a three-link serial robot arm. Motion profiles are generated for each joint and then acceleration, velocity, and position are controlled precisely using feedback linearization to cancel the robot dynamics.

In this simulation, the true and estimated robot parameters differ slightly to better represent the reality of model-based controllers.


Matlab Code

Inverse Dynamics Control

Naive Joint PD (Baseline)

Motion Planning for Serial Robot Arms

Description

In this project, different motion profiles are implemented for a robot end-effector using a simulation of a 6 degree-of-freedom Stanford Arm. At each timestep, the Jacobian pseudo-inverse is calculated based on the current robot configuration, which can then transform the task-space motion profile into joint space, where joint velocity commands can be applied.

Simulation of Rigid-Body Dynamics

Description

In this assignment, the Matlab Symbolic Toolbox was leveraged to analytically derive Equations of Motion for simulation of a three-link robot arm. Equations of motion were derived using both Lagrangian dynamics, and Newton-Euler Dynamics.


Matlab Code