Ask Your Question

Measuring position and mutual angle between two ArUco markers

asked 2018-01-05 08:30:57 -0500

bienq gravatar image

updated 2018-01-05 08:49:18 -0500

Hello everyone, I'm student of automation and robotics control who is interested image processing. Now I am working on my first project this is a drawing a robot controlled by vision. The robot is built on the basis of the Arduino platform. If you are interested how this looks like photo below:

image description

To make the method of drawing as accurate as possible I used stepper motors such as in 3D printer, but I don't have any feedback information about the robot's position in the real world. A camera connected to Raspberry Pi hangs on the ceiling and control the whole workingspace. So I thought that it would be a good idea to control it using the mutual position of the two ArUco markers on the table. First will be reference mark stationary lying on the corner of the table with coordinates (x,y) x = 0, y = 0 with mm or cm not pixcels! The second one will be on top of the robot and I also need an angle beetwen them in order to control robot properly.

I need something like this, but in mm or cm not pixcels - but this person didn't share source code :/

By now I have prototype of robot and program in C++ which can detect ArUco markers, draw (x,y,z) axis on them, have coordinates of their corners and also camera matrix, rotation and translation vector and distance coefficients.

Unfortunately I'm stuck in a place and I do not know how to go about it... I will be grateful for the restaurant advice and tips. Thanks in advance :)

edit retag flag offensive close merge delete


Here is link convert to c++ measure angle

supra56 gravatar imagesupra56 ( 2018-01-05 08:51:43 -0500 )edit

Error 404 page not found :/

bienq gravatar imagebienq ( 2018-01-05 08:58:03 -0500 )edit
supra56 gravatar imagesupra56 ( 2018-01-05 09:18:45 -0500 )edit

At the of line should be my7R0

supra56 gravatar imagesupra56 ( 2018-01-05 09:25:58 -0500 )edit

It does not work for me, maybe I cannot open this link in Poland

bienq gravatar imagebienq ( 2018-01-05 09:34:50 -0500 )edit

Ok! On youtube, search for Quenaz Eller or Measuring Angles in OpenCV + C++ (updated: 01/21/2017)

supra56 gravatar imagesupra56 ( 2018-01-05 09:41:37 -0500 )edit

I'm away for now.

supra56 gravatar imagesupra56 ( 2018-01-05 09:44:40 -0500 )edit

Pdnotebook do shared code. He is probablies using older OpenCV version 1 And I converted from OpenCV v1 to OpenCV 3.x.x with newest api You can see me on youtube. The other guy(Eller), usually converted to c++. He is sharing coe too.

supra56 gravatar imagesupra56 ( 2018-01-05 20:45:05 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2018-07-19 18:46:17 -0500

lacks gravatar image

If you would like to have your coordinate system in the cm/mm domain instead of pixels you will need to change coordinate systems. You can convert between the two if you have the following two pieces of information.

  1. Size of the piece of paper.
  2. Resolution of Camera.

If your paper is 11 inches long and 1280 pix fills screen, it is simple math operation to convert pixels into inches.

11inches/1280 pixels = SOL

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-01-05 08:30:57 -0500

Seen: 899 times

Last updated: Jan 05 '18