Implemented Nathaniel Simon and Anirudha Majumdar's MonoNav monocular navigation stack.
- Crazyflie 2.1
- Wolfwhoomp monocular camera
- Flow deck v2
- 350mAh LiPo battery
- Video receiver
- Crazyradio PA
Setup and Configuration for Crazyflie
- Setting up the required dependencies:
- Driver Installation and Connectivity
- Install the Crazyradio USB Driver (Zadig for Windows)
- Hardware-Software Integration:
- Linking the Crazyflie hardware and Crazyflie Python library to interact via cfclient.
Setup and Configuration for MonoNav
- Setup a Linux environment
- Install dependencies for MonoNav
- Install dependencies for ZoeDepth
- Update MonoNav code base to be compatible with environment
- ZoeDepth state dict parameter compatability
- OpenCV path
- Configure video stream setup (video receiver and computer)
MonoNav Implementation
- Ran demo data to ensure MonoNav was setup correctly
- Calibrated camera using MonoNav calibrate.py (OpenCV)
- Collected depth data streaming from Crazyflie and mapped environments (available at data/Room and data/Hallway)
Limitations
We were not able to take off our Crazyflie due to a problem with the center of mass on our drone. Therefore, we could not activate the mononav mapping & path planning flight mode. The next step for our project is to 3D print a mound for the camera and execute mononav.