Autonomous Boat Project

Goal

Design a boat capable of navigating a 3 meter by 6 meter pool without human intervention or control, while maximizing the value of speed (i.e lap time) squared divided by mass. The dimensions of the vehicle were constrained to be able to fit into a cube of 30 cm.

Electronics

The first thing our team did was build a test platform (shown below) in order to test our electronics. Obstacles avoidance was accomplished using a combination of IR range sensors and ultrasonic sensors, and a compass/gyro for determining the orientation of the boat during manoeuvers. The test platform used a single small motor and a rudder for propulsion and steering.

Read more →

Real-time Estimation of Electric Vehicle Mass Using CAN Bus Signals

The Goal

Real-time mass estimation was one of my projects during my coop term in Singapore. The goal of the project was to use CAN bus signals to estimate the mass of an electric vehicle (the Mitsubishi iMiEV, seen below) in real time, without augmenting the vehicle with any additional sensors. Accurate mass estimates can be used for numerous purposes, including fleet management and better range to empty estimates.

Mitsubishi iMiEV

CAN Bus Signals

Modern vehicles have numerous sensors built in, including wheel encoders, torque sensors and electrical sensors. The challenge part is knowing which signal belongs to which sensor. All of the signals are transmitted using the same format, which can be seen in the figure below:

Read more →

Simulation of Cutting Forces during Milling

This project was also part of the Numerical Control of Machine Tools (ME548) course that I took last semester. The goal of the project was to develop a mathematical model for a 2-fluted end-mill in order to simulate the forces developed under different cutting conditions.

End mill

Experimental data was collected using a dynamometer for four test cases. The spindle speed, feed rate and axial depth of cut were all kept constant, while the radial depth of immersion was varied. The four immersion cases used were quarter immersion, half immersion, three-quarter immersion, and full immersion (slotting).

Read more →

Extended Kalman Filter for State Estimation of an Omni-wheel Vehicle

This was an assignment for the Autonomous Mobile Robotics (ME597) course I’m taking. Given the vehicle shown below, I needed to come up with a motion model and then use simulated multi-rate GPS data to estimate the state of the vehicle as it executed various paths.

3 wheeled omni-vehicle

The reason that the extended version of the Kalman Filter was used is that the wheel speeds affect the position of the vehicle in the intertial reference frame in different ways depending on the heading. Thus, the motion update equations are linearized about the current belief of the vehicle’s heading.

Read more →

CNC Machining of an Aluminum Crest

This project was part of the Numerical Control of Machine Tools (ME548) course that I’m taking right now.

Given an aluminum blank and a technical drawing of the part (below), I needed to produce a crest with a custom engraving on the surface.

Shield drawing

From the drawing, I made a model with all the crest geometry in MasterCAM. Here’s what the model looks like:

MasterCAM geometry

In order to actually machine the part I needed specify the toolpaths for the various operations, including contouring of the outer faces, the facing on the part surface, the engraving on the crest and the scallops to finish the part off. Here are some screenshots showing some of the more interesting toolpaths.

Read more →