/Mocap-Drones

Low cost motion capture system for room scale tracking

Primary LanguageTypeScriptMIT LicenseMIT

Mocap Drones

A general purpose motion capture system built from the ground up, used to autonomously fly multiple drones indoors

Dependencies

Install the pseyepy python library: https://github.com/bensondaled/pseyepy

This project requires the sfm (structure from motion) OpenCV module, which requires you to compile OpenCV from source. This is a bit of a pain, but these links should help you get started: SFM dependencies OpenCV module installation guide

cv.sfm is only used 3 times in the codebase for the following functions: fundamentalFromProjections, essentialFromFundamental, motionFromEssential. So really, those functions should just be reimplemented in Python so the sfm module isn't needed. Issue.

install npm and yarn

Runing the code

From the computer_code directory Run yarn install to install node dependencies

Then run yarn run dev to start the webserver. You will be given a url view the frontend interface.

In another terminal window, run python3 api/index.py to start the backend server. This is what receives the camera streams and does motion capture computations.

Documentation

The documentation for this project is admittedly pretty lacking, if anyone would like to put type definitions in the Python code that would be amazing and probably go a long way to helping the readability of the code. Feel free to also use the discussion tab to ask questions.

My blog post has some more information about the drones & camera: joshuabird.com/blog/post/mocap-drones

YouTube Video

Watch this for information about the project & a demo! https://youtu.be/0ql20JKrscQ?si=jkxyOe-iCG7fa5th

Architectural Diagram