// Page under construction (Actually, this page has been abandoned since early 2022…) //
“If you built a project and did not write about it, did you really build a project?”
Overview
- ROS: Worked on the open-source Robot Operating System (ROS) as a summer intern in 2022. What was really cool about this experience was that I got to work directly with NASA on their VIPER lunar rover project, supporting their use of ROS2 and Gazebo on their simulation, ground control, and autonomy systems.
- ROS is essentially the de-facto standard for writing robot software and can be found in Roombas, Boston Dynamic’s spot, industrial robot arms, and even in space!
- Intern Presentation Slides
- Presentation at August 2022 Gazebo Community Meeting
- REP2012: Service Introspection: Enabling service introspection, i.e. allowing for
ros2 service echo
andros2 bag record --services
. This highly requested feature has been absent from ROS since the introduction of ROS services in ~2011 and I’m excited to have been able to help make it a reality. See meta-ticket- Lots of changes to
rcl
core ROS library androsidl
(and associated libs) code generation pipeline plus implementing support inrclpy
andrclcpp
client libraries and adding tooling - Helped introduce mypy compliance in rclpy, ParameterClient, fixing race conditions in certain edge cases when shutting down an
rclpy
node, lots of miscellaneous maintenance tickets, and improving test coverage - Wrote a vim plugin for the empy templating engine: ihasdapie/empy.vim
- Lots of changes to
- aUToronto, UofT’s self-driving car team: I’ve been a part of this team since 2020 and in doing so have worn many hats. Here are some of them:
- Trajectory motion planning lead: designed, implemented, and deployed local trajectory motion planning algorithms to generate kinematically feasible trajectories
- DLA lead, creating a inference engine to run YOLOv5 in real-time across 4 cameras with NVIDIA TensorRT
- Simulation & Testing co-lead, working on automated integration testing & associated ROS/ROS2 tooling Demo below
- GrocerCheck:
Github
, Pitch Deck A website to help people reduce contact at grocery stores and essential services. Got some press coverage too!- CBC Piece
- CBC Piece, but in French
- CBC TV piece can be found below
- Daily Hive: Toronto, Vancouver, Seattle
- Seattle Pi
- CBM Press (Korean News)
- Salam Vancouver (Iranian News)
- Fairchild TV: Interview broadcast on national Chinese TV
- btrnt:
"Bot or not"
: A chrome extension that implements GLTR to use machine learning to detect and combat AI-generated text. Demo below. - The Humerus Bot A bot that leverages large NLP ML models to play Cards against Humanity, a popular humor-based card game. Demo below.
- gws: A simple web server implemented in 111 lines of
go
used for serving my personal website.Github
- dotfiles: Config files I spend too much time on.
- LivePopularTimes GrocerCheck backend data collection library
- bettermotherfuckinghugowebsite A minimal hugo template inspired by http://bettermotherfuckingwebsite.com/ – now with modern conveniences.
- BC Parks Foundation: ‘discoverparks’ platform currently in public alpha.
- And more!