Skip to content

dakhnod/Aruco-MQTT

 
 

Repository files navigation

Aruco Android

It is an application to detect Aruco Markers and stream the data to MQTT.

screenshot_home

Usage

When any of the two applications reports an error with the camera, try giving it camera permissions by hand (through the OS settings).

Open the calibration app and tap on the image, until the thin text on the bottom left shows 15/15 pictures. If there is no text, just take 15 pictures, before clicking on OK. Save the file somewhere on the SD card.

Afterwards, you can open the main App. It will ask for the calibration file first.

Also, it will complaining about not having camera permissions. Give the permissions manually.

Then, you can tap on the wrench and set your settings. Setting coordinates for the origin marker shifts the whole coordinate system.

Currently, coordinates are only published when the origin marker is visible. Coordinates of other markers than the origin will be aligned to the origins coordinate system. The origin marker will not be published via MQTT, since it's location is known (0, 0 by default)

If no markers are found, change the dictionary type.

I made minimal effort to make this work, so feel free to open an issue if something is broken.

GLHF!

Credits

This application is mostly made here: https://github.com/RivoLink/Aruco-Android I only inserted the configuration, added the coordinate normalization and MQTT stuff.

This application uses:

  • opencv-contrib for computer vision, see LICENSE,
  • aruco, module from opencv-contrib, for aruco markers detection.
  • rajawali, for 3D models renderer.

See more about opencv, and aruco from:

License

As stated above, opencv-contrib uses the BSD license. For details, see LICENSE.

About

Aruco Android is an application to detect Aruco Markers, and try to render a 3D model above it.

Setting

If you have No Implementation Found or library "libopencv_java3.so" not found, instead of master, use feature/all-platforms

git fetch origin
git checkout feature/all-platforms
git pull origin feature/all-platforms

Alternative method: copy all the native opencv libraries into the project, for this:

Using

Camera must be calibrated before detect markers, for that,

  • compile and run camera-calibration projet,
  • present the calibration board to the camera
  • capture between 15 and 20 images, and
  • click on calibrate menu.

Each frame must contain at least 10 markers

screenshot_home

After that, compile app project and enjoy...

screenshot_home

Contributions

You can help turn this application into Augmented Reality, there are some bugs on the positioning of the 3D model above marker.

screenshot_home

Thank you :)

Similar application

You can see in the repository below another marker detection application which uses Vuforia library.

https://github.com/RivoLink/Vuforia-Android

About

AruCo / MQTT bridge app

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%