Aruco Based Localization
I have a large arena of 2x2m on which aruco markers are placed, there is a bot moving on this arena having an aruco marker on it.
I wish to find the actual position of bot aruco marker in cm/m from any one of the arena aruco marker. I know the positions of the area aruco markers from one of the corners of area.
My current approach: I detect markers and then estimatePoseSingleMarker, using the tvec and rvec value of one of the arena marker i generate homogeneous matrix (4x4) ,
ri,j
= rotation matrix generated by cv2.Rodriguez(rvec of arena marker); Axb,Ayb,Azb = tvec of the arean marker
now i take the inverse of this 4x4 matrix and dot product it to the bot marker tvec(trying to change camera coordinate system to arena marker reference system).
Is my approach correct? I wish to get the least error even if the camera is angled with the arena
Look at this chapter: Handbook of Robotics - Chapter 1: Kinematics.