Skip to content

openFrameworks project that translates LiDAR sensor data from an Hokuyo UST-LX into blob tracking data

License

Notifications You must be signed in to change notification settings

ericheep/meatbags

Repository files navigation

openFrameworks Hokuyo 2D LiDAR blob detection for macOS and Windows

This project implements the Hokuyo UST-LX LiDAR protocol and clusters data to be used as blob detection for creative applications.

installation

You can download a built binary from the releases sidebar or you can compile the software using the openFrameworks architecture.

If compiling from source code, I recommend using the projectGenerator software to import the project into your IDE of choice.

This project was developed with openFrameowrks v0.12.0, it uses the following openFrameworks addons; all included in the main package. Be sure to add them using the projectGenerator application.

  • ofxGui
  • ofxOsc

Additionally, this project uses the ofxDropdown addon and must be included in your addons folder if you're buliding this project from source.

This project also uses a modified version of ofxNetwork that is extended to control which ethernet adapter Meatbags uses to create its TCP connections. This modified version is included in the source code.

use

After opening and closing the application Meatbags will create a batch of JSON files that are automatically loaded on startup with the option to auto-save on exit. These hold the configuration state of the application and allow easy startup for art install scenarios.

Meatbags is meant to be used as companion software to creative coding applications. After a configuration is set it is recommended to toggle headless mode and run Meatbags as a background application. It can be set to send OSC out, the OSC schema is provided below:

/blob index x y width height laserIntensity filterIndex1 filterIndex2 ...
/blobs index1 x y index2 x y ...
/blobsActive index1 index2 ...
/filter index isInhabited blobDistanceToCentroid
/filterBlobs filterIndex blobIndex1 x1 y1 blobIndex2 x2 y2 ...
/generalStatus sensorIndex status
/laserStatus sensorIndex status
/connectionStatus sensorIndex status

Created by artists for artists. This software is provided free for artists to use in their art installs and free for educational purposes. The license is provided on my here. For commercial purposes email me at [email protected].

external code

This project uses the DBSCAN algorithm for clustering the LiDAR measurements received from Hokuyo sensor. A performant C++ implementaion of DBSCAN by Eleobert is used to cluster the streaming LiDAR data.

A C++11 implementation of C++20's std::span is by tcbrindle also used to enable Eleobert's dbscan implementation.

tested sensors

  • Hokuyo UST-10LX
  • Hokuyo UST-20LX

tested operating systems

  • macOS Sequoia 15.4.1
  • Windows 10 Home

todo

  • figure out polling for interfaces
  • add rectangle behind blob info
  • add circle shape to filter options
meatbags

About

openFrameworks project that translates LiDAR sensor data from an Hokuyo UST-LX into blob tracking data

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages