I’ve started playing around with Limelight’s Apriltag detection and I’m getting a little confused about the results I get from a call to get the Target Pose in Robot Space. I have an Apriltag pretty close to directly in front of the limelight about 9 feet. That distance seems to be coming back in the Z coordinate and I would have expected it to be in the Y coordinate according to Limelight’s description of Robot Space coordinates. Can anyone confirm that I’m seeing the correct thing and/or explain to me why this matches the documentation here?
Here’s a pic of what I’m seeing on the Limelight interface.
Limelight uses a different coordinate system for single tag view vs. field space view. If you change the visualizer to robot coordinates in field space, the XYZ will align with the field as it typically would in match.
Thanks for the responses. I’m trying to calculate the pose that will put the robot at a certain point relative to the target (April Tag). My current theory is to get the TargetPose (in robot space), transform the TargetPose by the amount I want to be away from it, and then transform the current robotpose by the transformed TargetPose and that would ultimately be the spot I’d want the robot to drive to. Hopefully that logic makes sense. It seems like I have to be careful when creating the TargetPose based on the array of doubles that is returned from the getTargetPose_robotspace() .
So it is true that limelight Robot Space is NOT using the right hand rule … as z vector is inverted. This seems totally wrong to code it that way with Fwd positive X, Right positive Y should result in z positive as down ( and z negative as up). Only this one coordinate system is not following right hand rule.
from doc ## Robot Space
X+ → Pointing forward (Forward Vector)
Y+ → Pointing toward the robot’s right (Right Vector)
Z+ → Pointing upward (Up Vector)
@Sburnham3 Yeah, I can’t get my head around how this data is supposed to be used. We’ll be meeting today and I hope to do some more data captures to try to figure out the coordinates that we are getting on network tables.
Does anyone have some examples of how targetpose_robotspace from limelight’s network table can be used? I thought it would give me where the AprilTag is in relation to the robot’s frame of reference, but even with the co-ordinate system given in the documentation I can’t make sense of it.