osrf / autodock

ROS packages for automatic docking
Apache License 2.0
89 stars 29 forks source link

[Question] Why do the code use 3 marker instead 1? #11

Closed tugbakara closed 2 years ago

tugbakara commented 2 years ago

I think when the robot gets closer and closer to the marker, aruco vision gets unvisible that's why in code there are 2 plus little one, but I am wondering is there any other reason ? Because almost all other packages are using only one aruco marker.

LKSeng commented 2 years ago

While I cannot speak for the authors of this code, I do think that this package's concept very intriguing.

At further range, this code does not use the orientation derived from the two (outer) aruco markers, instead, relying on the translation of the aruco markers to determine the offset angle and offset distance in the middle. This eliminates the influence of wrongful orientation determination from aruco detect into offset calculation. During last mile, it then uses the aruco determined orientation of the smaller marker to dock itself parallel to the normal to the marker plane.

At further range, the both orientation and distance derived from the middle aruco maker is, relatively speaking, terrible. This steers the robot off to where it is supposed to be.

For avoidance of doubt, in this particular comment, orientation refers to roll, pitch, and yaw. While translation and distance refers to x, y, and z.

Are you able to share the other packages that you've seen that use only one aruco marker?

tugbakara commented 2 years ago

While I cannot speak for the authors of this code, I do think that this package's concept very intriguing.

At further range, this code does not use the orientation derived from the two (outer) aruco markers, instead, relying on the translation of the aruco markers to determine the offset angle and offset distance in the middle. This eliminates the influence of wrongful orientation determination from aruco detect into offset calculation. During last mile, it then uses the aruco determined orientation of the smaller marker to dock itself parallel to the normal to the marker plane.

At further range, the both orientation and distance derived from the middle aruco maker is, relatively speaking, terrible. This steers the robot off to where it is supposed to be.

For avoidance of doubt, in this particular comment, orientation refers to roll, pitch, and yaw. While translation and distance refers to x, y, and z.

Are you able to share the other packages that you've seen that use only one aruco marker?

Thanks for the answer. For example I know neo_docking package