Git Product home page Git Product logo

deboliveira / mocaprasp Goto Github PK

View Code? Open in Web Editor NEW
23.0 4.0 4.0 34.51 MB

Motion capture arena using only Raspberry Pi and open source libraries

License: GNU Affero General Public License v3.0

Python 0.77% Shell 0.01% Jupyter Notebook 99.23%
blob-detection motion-capture motion-tracking open-source optical-tracking optitrack visual-object-tracking visual-odometry raspberry-pi raspberry-pi-4

mocaprasp's People

Contributors

deboliveira avatar loolirer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mocaprasp's Issues

"data" directory missing

There should be an empty directory named "data" in central - serverv2Test.py crashes if it does not find it.

[FEATURE] Automated client start

Starting any kind of capture with the clients is very inconvenient. It requires VNC viewer open, and you have to manually hit the run.sh in each rasp.

It would be convenient if there was an automated process, controlled just by the server terminal that could start all processes. That would speed up testing and debugging.

[BUG] Drop in the number of interpolated pictures

There is a drop in the interpolated picture numbers when there are more than 6 markers on the scene.

For $2\leq N \leq 6$ markers in a 10 seconds capture, the number of interpolated pics is 995 constantly.

For 7 markers, this drops down to roughly ~570 interpolated pics.

For 8 markers, this drops even further to ~65 interpolated pics!

Test captures only works for 4 markers

The serverv2Test.py and debugOnline.ipynb in central only allows 4 markers in the test capture - anything different than that will crash the program.

It's essencial for the test captures to allow any number of markers for further studies.

[FEATURE] Change plots to plotly

Plotly seems to be a fast, interactive and intuitive module for plotting. I personally find matplotlib's syntax not really intuitive and kinda hard to start getting on it.

General rename and documentation clean-up

I think a general rename would be more beneficial for a more intuitive labeling to directories and files - shorter and direct names would be appreciated.

This will require a throughout modification in the program files and documentation to make everything functional.

I suggest too deleting the "old" directory since it's not been used anymore.

[FEATURE] Project demo

Hello,

Thanks for your nice project, i looking for a replacement system about vives trackers (without tracker and hand controller to be more free on body movements on steamvr)

Do you have a video demo sample to see the accuracy details and rate capture ?

Other idea, later might use a server (connect to all RPI) version for PC with GPU (that manage all stream and optimise with IA process the capture to improove the system)

Best regards.

[BUG] Failed to Enable Connection: Out of resources

Describe the bug
Every time the calibCapture.py code is run, a long error pops up with the end of it saying "picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources". We tried many solutions and weren't able to fix the error. Not sure if its a software or hardware issue. Could indicate a problem with the system while trying to establish a connection.

To Reproduce

  1. Go to MoCapRasp repository
  2. Click on the calib file
  3. Scroll down to calibCapture.py
  4. Run the code
  5. See error

Expected behavior
The expected behavior of the code is to initialize the Raspberry Pi camera, start the camera preview in a specified window, set up camera settings (shutter speed, exposure mode, color effects, etc), and continuously capture images every 5 seconds.

(this is the complete error that is shown)

mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x255aea0 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled
Traceback (most recent call last):
File "/home/pi/MoCapRasp/calib/calibCapture.py", line 8, in
with picamera.PiCamera(resolution=(4608,2592), framerate=15,
File "/usr/lib/python3/dist-packages/picamera/camera.py", line 433, in init
self._init_preview()
File "/usr/lib/python3/dist-packages/picamera/camera.py", line 512, in _init_preview
self._preview = PiNullSink(
File "/usr/lib/python3/dist-packages/picamera/renderers.py", line 558, in init
self.renderer.inputs[0].connect(source).enable()
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2210, in enable
mmal_check(
File "/usr/lib/python3/dist-packages/picamera/exc.py", line 184, in mmal_check
raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources

Clients can't find the Server automatically

The watch.py script in collect sends messages to the Server via a fixed IP adress (192.168.0.104) in lines 59, 87, and 91.

However, this adress can change when restarting the router or modifying settings on the local network!

Then i suggest changing the code so that it can locate the Server's IP via it's hostname, since it won't change frequently.

[FEATURE] Easier setup in new machines

As it is right now, it's tiresome installing all the packages and modules necessary to setup python correctly to start using the code on new machines.

Maybe a preset Virtual Enviroment would be a good start to solve this!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.