# Projects

Published: August 12, 2019 · Last edited: February 29, 2024
Tags: project

> A selection of some programming projects I completed.

[View this page as HTML](https://jord.in/blog/projects)

## Table of Contents

1. [Passive Underwater Localization using a Compact Acoustic Sensor Array](#passive-underwater-localization-using-a-compact-acoustic-sensor-array)
1. [Enabling Light Shows with Drones](#enabling-light-shows-with-drones)
1. [Light-Weight Messaging Kernel](#light-weight-messaging-kernel)
1. [X-Makina Assembler & Emulator](#x-makina-assembler--emulator)

---

## Passive Underwater Localization using a Compact Acoustic Sensor Array
*January 2021 to April 2023*

*Completed in collaboration with [Fundy Ocean Research Centre for Energy (FORCE)](https://fundyforce.ca) and [JASCO Applied Sciences](https://www.jasco.com/).*

Developed a sensor geometry evaluation and optimiser to minimise localization error. Analysed and mitigated the effect of noise using different processing techniques.

## Enabling Light Shows with Drones
*September 2019 to April 2020*

*Completed in collaboration with [Spiri Robotics](https://spirirobotics.com/).*

Autonomous collaboration between drones to create interesting shapes and patterns. Visualization created in **Java** with [<abbr title="Lightweight Java Game Library" aria-label="Lightweight Java Game Library">LWJGL</abbr>](https://www.lwjgl.org/). Simulation created in **Python** with [<abbr title="Robot Operating System" aria-label="Robot Operating System">ROS</abbr>](https://www.ros.org/).

<video width="826" preload="metadata" loop controls poster="/blog/assets/projects/drone.webp">
  <source src="https://pub-7a509bd9a30f44969f83e2e57fc520e2.r2.dev/blog/projects/drone.webm" type="video/webm">
  <source src="https://pub-7a509bd9a30f44969f83e2e57fc520e2.r2.dev/blog/projects/drone.mp4" type="video/mp4">
</video>

## Light-Weight Messaging Kernel
*September to December 2019*

Kernel (**C**) provides process scheduling and messaging. [UART](https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter) processes used to communicate with model train set and host computer running a map display.

## X-Makina Assembler & Emulator
*May to August 2019*

Assembler (**C++**) converts X-Makina instructions (**ASM**) into [Motorola S-Records](https://en.wikipedia.org/wiki/SREC_(file_format)). Emulator (**C**) includes a [S-Record](https://en.wikipedia.org/wiki/SREC_(file_format)) loader and a complete debugging environment

---

## Links

- [Home](https://jord.in/index.md) ([HTML](https://jord.in/))
- [GitHub](https://github.com/jordin)
- [LinkedIn](https://www.linkedin.com/in/jordin-m/)
- [Resume (CV)](https://jord.in/cv.pdf)
- [Email](mailto:hello@jord.in)
- [RSS](https://jord.in/rss.xml)
