Tools: System control MATLAB Simulink

MathWorks Learning

Mainly follows Brian Douglas’ fantastic MATLAB Tech Talks tutorials, with some others from MathWorks webinars and Self-Paced Online Courses.

Repository

Autonomous Navigation

In this section, I followed the playlist to learn the basics of Autonomous Navigation.

When talking about localization part, we get to practice the method in Gazebo simulation, with a familiar robot, Turtlebot3 Burger.

AMCL

We let the robot wander in the room for AMCL to work.

AMCL

AMCL with initial pose estimate

AMCL

AMCL without initial pose estimate

We could see that without the initial pose estimate, the robot could be at upper part of the room or lower part of the room, and not until the first turn did the AMCL localize the robot. On the other hand, with initial pose estimate, AMCL could quickly localize robot at the upper part of the room.

Kalman Filter Virtual Lab

In this section, I followed the playlist to implement Kalman Filter and EKF in the MATLAB to estimate the motion of a pendulum.

Code+Notes

Kalman Filter is widely used in sensor fusion and estimation topic, and the virtual lab system is shown as below:

Block Diagram

If the pendulum swings at small angle and the input torque is zero, the system can be approximately linear. Also, there are noise exist in both processing and measurement.

Measurement

We could implement a Kalman filter using the model and the measurement input, to estimate the pendulum motion in a less noisy way.

Kalman Filter

However, as the initial angle of the pendulum increases to 55°, the linear Kalman Filter would start to lose accuracy.

Nonlinear

To address the nonlinearity in the system, we could use Extended-Kalman Filter to linearize the system in place.

EKF Wave

Demux 1 is the actual response, Demux 2 is the raw measured data (tampered by noise), Demux 3 is the estimate of the linear Kalman Filter, and Demux 4 is the result from the Extended-Kalman Filter.

Let’s take a closer look.

EKF Wave

The green estimate from the EKF is closer to the actual response (Yellow) than the measurement (Blue) does. Well done!

In the tutorial, we also tested the effect of filter’s initial estimate and the filter’s noise estimate. After the tutorial, I have a better understanding toward Kalman Filter, including the pros and cons of Kalman Filter, EKF, and Unscented Kalman filter.

Robust Control

System Identification

Understanding Sensor Fusion and Tracking