Anthony Courchesne

Mila - Professional Master (ongoing) GPA: 4.0

McGill - B.S. Computer Science GPA: 3.37

Work experience


Multi-agent pathfinding

School project Unity C#

We were asked to create a simulation of a two-storey shopping center with 1 unit wide ramps. Multiple agents are presents and at each iteration, each of them is assigned a random destination in the mall. The challenge was to compute the shortest path by avoiding both randomized static objects (plants) and dynamic obstacles (other shoppers trying to reach their destination). Silver's reservation-based cooperative pathfinding.

cooperative pathfinding demo

3D-printed mechanical arm

Personal project Raspberry Pi Arch Linux ARM node.js

The goal of the project was to setup a mechanical arm with a very low budget. Using cheap servos and 3D-printed material, I was able to build a 4 DoF mechanical arm. I used a Raspberry Pi 3B with nodejs and nginx to accept controls via HTTP methods. To manually command the arm, I created a simple web page that could be run on an iPad. Ultimately, the arm was not precise enough to be able to complete complex task, so I did not spend time implementing an automatic controller. Nonetheless, the setup cost ~20$ and could be used for simple switch flipping or similar easy tasks that could be automated.

Mechanical arm demo

Occupancy Grid Mapping

School project ROS Python

For this project we were given a simulation with input from a 2D laser scan of the environment from the robot's perspective. The whole simulation in RVIZ was given and we had to implement an Occupancy Grid Mapping system to generate the map.

Occupancy Grid Mapping demo

Educational Climate Application

Research project React.js

As a research project supervised by N. Cowan (McGill Space Institute), I build an educational web-application using react.js to compute and show the temperature of a planet's surface as a function of the stellar radiation, the planet's albedo and the atmospheric layer's infrared opacity. The most recent version of this project is available at For a more extensive description of the application, please consult the instructions.

Climate App demo

PID Controller

School project ROS C++

The task was to follow implement a PID controller in a given RVIZ simulation. We were given the input from the front laser scanner and we had to make the robot follow the left wall at a fixed distance.

PID Controller demo

Depth from Stereo Disparity

School project Python

Given a pair of stereo-rectified images from the KITTI dataset, I build a program that is able to compute the depth map of the scene. The program first compute the disparity map using block matching along horizontal epipolar lines, which is not a state-of-the-art algorithm, so it could not be used in real-time.

A* implementation & Rapidely Exploring Tree

School project Python

As an assignment, we were asked to implement A* to quickly and efficiently compute the shortest path to a randomized target point. As a second assignment, we were asked to complete a similar task using a RRT algorithm.

Obstacle avoidance

School project Unity C#

The goal was to create a simulation where an agent has to explore 4 rooms on each side of a busy street. Randomly generated pedestrians are trying to cross the road. At each given timestep, a pedestrian can choose to change lane, move a bit within a lane, stop completely or decide to do a few step backward. The agent (while not able to avoid pedestrian from running into him) will try to avoid being in the same lane as a pedestrian while completing his task. Once done, he will reach the goal line on the right.

Obstacle avoidance demo