Jon's Place

Sunday, December 30, 2018

MicroDrone, and other stuff

Well, its been a long time since I did a real post here - over a year. 2018 is winding down, and I'm working on a couple new robots. I also have some life news.



I started working as a Senior Software Engineer at Google in May, working out of the Kitchener (Waterloo) office. I'm working on a nice mix of hardware and software, with a bit of machine learning thrown in. Lots of cool stuff happening at Google, and I'm enjoying it immensely.

I'm working on a completely new version of Seeker 2x, my newest autonomous mini-sumo robot. I've got a new 4-layer PCB built, and I'm just waiting on a stencil so I can populate one to test it. I had to do another new board because I'm completely re-doing the chassis, and the old one wouldn't fit.



I've also just recently decided to start working on a small autonomous indoor quadcopter drone, which I'm calling MicroDrone. The plan is to use a custom MicroPython board for the flight controller, and a Raspberry Pi Zero W for higher level control. I'm using brushless motors and props from a DJI Spark drone (since MicroDrone is pretty much the same size).



I'm 3D printing the entire chassis, using ABS for now. I'm going to order a new nozzle for my printer so I can print carbon-fiber-reinforced ABS material.



I'll be using laser time-of-flight range sensors on all six sides (front, back, left, right, top, bottom), and I'll be using a down-facing camera connected to the pi zero to do stuff like optical flow-based odometry. In the picture above you can see the two large holes in front of the battery at the bottom - the one next to the battery is for one of the laser sensors, and the one in front is for the down-facing camera.



The flight controller PCB will have a cortex M4 32-bit ARM chip running MicroPython, and a BNO055 9-axis IMU for flight stabilization. The camera and the laser sensors will be connected to the Raspberry Pi Zero,  which will be running Tiny Core Linux.