Mechatronics Engineering Course Projects
For our lab on path planning, we implemented PRM and A* algorithms. We were able to generate a roadmap, and plan to different waypoints. Testing in simulation using Gazebo and (I believe) the real world.
Along with our Sensor Fusion course, the Mobile Robotics course covered state estimation, with methods such as KF/EKF and particle filters.
For our final Sensor Fusion project of the term, my group developed a system to control a LIDAR and 3D camera to monitor a workspace, detect humans, and halt operation if needed. The system ensures that each direction was scanned in a timely manner to detect intrusions. Testing in simulation with Gazebo.
The final project of our Digital Controls course involved designing a controller to control the position of a ball on a beam, where the beam could be tilted by moving a motor. The full project ultimately involved modelling, model identification, controller design, and translation to a digital controller.
The final project of our Multivariable Controls course involved controlling a 2D robotic arm with modelling errors and process noise to touch several points along a square. If I recall correctly, it was implemented with linearization, an EKF, and LQR control.
edX Online Course Projects
Dynamics and Control – Quadrotor Control
This project involved generating a trajectory for a quadrotor given waypoints, as well as control signals. The controllers needed to be tuned to achieve a maximum cumulative error in any dimension.
This course covered topics on simulation, such as integration strategies, collision detection, physics, and constraints.
Software Development – Capstone Course
The capstone course involved the development of a query engine. This involved the reading of data on courses and rooms at UBC, parsing queries, providing results, and (not yet done) creating a web interface.
I enjoyed the testing aspect of development, which ranged from creating tests to cover hidden implementations, meeting code coverage requirements, and more.