• [1]FIRST Official Team Resources • [2]Official Game Q&A [3] FIRST Tech Challenge Docs Logo 0.3.0 [4][ ] • [7]About the FIRST Tech Challenge • [8]Gracious Professionalism® Getting Started • [9]New Teams • [10]Returning Teams • [11]Coach (Administrative) Resources • [12]Technical Mentor Resources Game and Season-Specific Resources • [13]FIRST Tech Challenge Blog • [14]FIRST Tech Challenge Tech Tips • [15]AI Innovation Corner • [16]Competition Manual • [17]Game Q&A System • [18]Playing Field Resources • [19]Field Coordinate System Software Development Kit (SDK) • [20]Laptop Requirements • [21]SDK Overview • [22]Updating Components Control System Resources • [23]Control System Introduction • [24]Hardware Component Overview • [25]Hardware and Software Configuration • [26]FIRST Tech Challenge Self-Inspect • [27]Old Self-Inspect • [28]Programming Resources □ [29]Programming Tutorials □ [30]Supporting Documentation □ [31]AprilTag Programming ☆ [32]AprilTag Introduction ○ [33]Introduction ○ [34]What is AprilTag? ○ [35]AprilTag Pose ○ [36]Navigation ○ [37]Annotations ○ [38]AprilTag Axes ○ [39]Advanced Use ○ [40]Summary ☆ [41]VisionPortal Overview ☆ [42]Webcams for VisionPortal ☆ [43]Understanding AprilTag Values ☆ [44]AprilTag Localization ☆ [45]AprilTag Test Images ☆ [46]AprilTag Challenges in DECODE presented by RTX □ [47]Vision Programming □ [48]Camera Color Processing □ [49]Advanced Topics □ [50]Additional FIRST Website Resources AprilTag Resources • [51]AprilTag Introduction □ [52]Introduction □ [53]What is AprilTag? □ [54]AprilTag Pose □ [55]Navigation □ [56]Annotations □ [57]AprilTag Axes □ [58]Advanced Use □ [59]Summary • [60]VisionPortal Overview • [61]Webcams for VisionPortal • [62]Understanding AprilTag Values • [63]AprilTag Localization • [64]AprilTag Test Images CAD Resources • [65]Computer Aided Design (CAD) Electrostatic Discharge • [66]Managing ESD Effects Manufacturing • [67]Manufacturing Methods Team Resources • [68]Common Team FAQs • [69]Team Complimentary Software • [70]Team Discounts • [71]Team Resources FTC Docs • [72]Booklets • [73]Archive • [74]Site Feedback Form • [75]Contributing to FTC Docs [76]FIRST Tech Challenge Docs • [77] • [78]Programming Resources • AprilTag Introduction • • [79] Edit on GitHub ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ AprilTag Introduction[80] Introduction[81] A popular camera-based technology is AprilTag, a scanned image similar to a QR Code. Its effectiveness and quick set-up on custom Signal Sleeves led to wide adoption in POWERPLAY (2022-2023) by FIRST Tech Challenge teams, especially those programming in Java. [82]Dual Detection Photo Credit: Mike Silversides[83] Those POWERPLAY teams, including those using FTC Blocks, learned how to use several resources: • AprilTag: an open-source technology for evaluating formatted images • EasyOpenCV: a FIRST Tech Challenge-optimized interface with OpenCV, an image processing library • myBlocks: custom Blocks created in OnBot Java (OBJ) Now these three areas are provided, or bundled, in the FIRST Tech Challenge Software Development Kit (SDK), starting with version 8.2. Namely, key capabilities of AprilTag and EasyOpenCV are available to the Robot Controller (RC) and Driver Station (DS) apps, without special downloads. And AprilTag features are included in FTC Blocks, without needing custom myBlocks. The AprilTag features work on webcams and on Android RC phone cameras. A single OpMode can use AprilTag and Color Processing. In FIRST Tech Challenge, AprilTag is ready for the spotlight! What is AprilTag?[84] Developed at the [85]University of Michigan, AprilTag is like a 2D barcode or a simplified QR Code. It contains a numeric ID code and can be used for location and orientation. [86]AprilTag Robots AprilTags on Robots. Photo Credit: University of Michigan[87] AprilTag is a type of visual fiducial, or fiducial marker, containing information and designed for easy recognition. [88]Tag Families A sample of different AprilTag families[89] The above samples represent different formats, or families. A project typically uses a single AprilTag family. FIRST Tech Challenge uses a common family called 36h11. A PDF showing the numbers 0 through 20 from the 36h11 family can be downloaded here: • [90]AprilTag PDF 0-20 Each number is the ID code of that tag. Here’s an AprilTag representing ID code 2. The SDK software recognizes and overlays the ID code onto the image (small blue rectangle ID 02). [91]Tag02 Preview Stream output showing the detected tag ID 02[92] The above image shows a camera preview image, called LiveView, from a Robot Controller device (Control Hub or RC phone). The AprilTag family 36h11 has a capacity of 587 ID codes. To see them all, follow this link: • [93]https://github.com/rgov/apriltag-pdfs/tree/main/tag36h11/us_letter/ 100mm The square AprilTag pattern contains smaller black and white squares, each called a pixel. A 36h11 tag contains 10 x 10 pixels, including an outer border of all white pixels and an inner border of all black pixels. Tag size is measured across the outside edge of the inner border which comprises the black pixels for 36h11. [94]Tag Size Figure demonstrating the tag size measurement[95] The above image shows a complete AprilTag with outer white border. From the 36h11 family, its ID code is 42. AprilTag Pose[96] Beyond ID code, the new SDK also provides pose data, namely position and orientation (rotation) from the camera’s point of view. This requires a flat AprilTag, which was not possible with curved POWERPLAY Signal Sleeves. Let’s look again at the camera preview image, called LiveView, from a Robot Controller device (Control Hub or RC phone). [97]LiveView Image LiveView Image with additional markings for explanation purposes[98] Imagine a laser beam pointing straight outward from the center of the camera lens. Its 3-dimensional path appears (to the camera) as a single point, indicated by the green star. You can see that the center of the AprilTag ( yellow star) is offset from that “laser beam”. That translation offset can break down into three traditional components (X, Y and Z distances), along axes at 90 degrees to each other: • X distance (horizontal orange line) is from the center, to the right • Y distance (not shown) is from the lens center, outwards • Z distance (vertical orange line) is from the center, upwards The SDK provides these distances in the real world, not just reporting how many pixels on the screen. Very useful! You can also see that the AprilTag’s flat face is not parallel to the plane of the camera. That rotation offset can break down into three angles about the X, Y and Z axes. This is discussed further in the section below, called AprilTag Axes. In summary, the SDK evaluates the AprilTag image and performs “pose estimation” , providing an estimated X, Y and Z distance between the tag and the camera, along with an estimated angle of rotation around those axes. A closer or larger AprilTag can yield a more accurate estimate of pose. To provide good pose estimates, each RC phone camera or webcam requires calibration data, for a specific resolution. The SDK contains such data for a limited number of webcams and resolutions. Teams can generate their own data, called lens intrinsics, using a provided procedure. Navigation[99] OpModes use AprilTag pose to achieve navigation: evaluating inputs and driving to a destination. An OpMode can use pose data to drive towards the tag, or drive to a target position and orientation relative to the tag. (The new SDK provides Java Sample OpModes RobotAutoDriveToAprilTagOmni.java and RobotAutoDriveToAprilTagTank.java .) Another navigation possibility is mentioned below under Advanced Use. Navigation is best done with continuous pose estimates, if the AprilTag remains within the camera’s field of view. Namely, an OpMode “while() loop” should regularly read the updated pose data, to guide the robot’s driving actions. The SDK supports multiple cameras, switchable or simultaneous. This can help if the robot changes direction, or you wish to navigate using another AprilTag (or Color Processing). Other sensors can also be used for navigation, such as drive motor encoders, REV Hub IMU, deadwheel encoders, color/distance sensors, ultrasonic sensors, and more. It’s also possible to evaluate non-AprilTag images from the same camera and/or a second camera. For example, the SDK can estimate the horizontal angle (or Bearing) of an object detected with Color Processing, another vision technology employed in FIRST Tech Challenge. Advanced teams might consider active camera pointing control, to keep an AprilTag or other object in view. Annotations[100] In the preview (RC phone screen or DS Camera Stream), an official recognized AprilTag will display a colored border and its numeric ID code. These annotations allow easy visual confirmation of recognition: [101]Simple Annotations Two AprilTags with different metadata being detected and annotations displayed [102] In the above [103]DS Camera Stream preview, the left-side AprilTag was recognized from a tag Library (default or customized). A Library tag has pre-loaded information (called Metadata) including its tag size, which allows pose estimation. These are annotated by default with a colored border. The right-side AprilTag was not in a tag Library. It has no Metadata, so the SDK can provide only its numeric ID code, shown here as ID 03. Such tags are not annotated by default with a colored border. Note: Camera Stream displays a snapshot of the camera’s view, on the Driver Station device. It’s available only during the INIT phase of an OpMode, and also shows any AprilTag (or Color Processing) annotations. Instructions are posted here: • [104]Camera Stream Image Preview Documentation Optional annotations include colored axes at the tag center, and a colored box projecting from the tag image: [105]Optional Annotations LiveView with additional annotations enabled[106] The above image shows a preview (called LiveView) on an Android Robot Controller (RC) phone. The REV Control Hub does generate an RC preview, which can be seen with an HDMI external monitor, or with scrcpy which can be found here: • [107]https://github.com/Genymobile/scrcpy AprilTag Axes[108] The SDK now provides the underlying pose data as follows: • Position is based on X, Y and Z distance from the camera lens to the AprilTag. • Orientation is based on rotation about those axes, using the right-hand rule. Note: the optional red-green-blue annotated axes represent the tag’s frame of reference, unrelated to SDK pose data. That annotation indicates only a successful AprilTag recognition. Here are the axis designations in the new SDK: • Y axis points straight outward from the camera lens center • X axis points to the right, perpendicular to the Y axis • Z axis points upward, perpendicular to Y and X If the camera is upright and pointing forward on the robot, these axes are consistent with the Robot Coordinate System used for [109]IMU navigation. Note: these axes are different than the official AprilTag [110]definitions, even from the camera’s frame of reference. The SDK provides AprilTag rotation data as follows: • Pitch is the measure of rotation about the X axis • Roll is the measure of rotation about the Y axis • Heading, or Yaw, is the measure of rotation about the Z axis Rotation follows the traditional right-hand rule: with the thumb pointing along the positive axis, the fingers curl in the direction of positive rotation. Further discussion is provided here: [111]Understanding AprilTag Detection Values Note: This article does not discuss the FIRST Tech Challenge [112]Field Coordinate System. Your OpModes might relate robot orientation to the overall field or [113] ‘global coordinates’ for navigation, but that’s beyond this AprilTag introduction. Advanced Use[114] Option 1 If a tag’s position and orientation on the game field are specified in advance, the tag’s pose data could be used by an advanced OpMode to calculate the robot’s position on the field. This conversion math, an exercise for the reader, can allow a robot to use the tag’s pose data in real-time to navigate to the desired location on the field. Option 2 Vision processing can consume significant CPU resources and USB communications bandwidth. FIRST Tech Challenge teams may balance the benefits of higher resolution and speed (frames-per-second) against the risk of overloading CPU and bandwidth resources. The SDK 8.2 or later provides numerous tools to manage this balance: • select the camera resolution • disable and enable the RC preview (called LiveView) • disable and enable the AprilTag (or Color Processing) processor • close the camera stream • select a compressed video streaming format • measure frames-per-second • set decimation (down-sampling) • select a pose solver algorithm Option 3 Clearer camera images can improve AprilTag (and Color Processing) vision processing. The SDK offers powerful webcam controls (Exposure, Gain, Focus, and more), also available in FTC Blocks! These controls can be applied under various lighting conditions. Exposure and Gain are adjusted together. The SDK offers Java Sample OpMode ConceptAprilTagOptimizeExposure.java. Option 4 The frame of reference described above in AprilTag Axes is calculated and provided by default in the 8.2 SDK or later. Advanced teams may prefer to perform their own pose calculations, based on raw values from the AprilTag/ EasyOpenCV pipeline. Those raw values are available to Java and Blocks programmers. The Java version is shown here: for (AprilTagDetection detection : aprilTag.getDetections()) { Orientation rot = Orientation.getOrientation(detection.rawPose.R, AxesReference.INTRINSIC, AxesOrder.XYZ, AngleUnit.DEGREES); // Original source data double poseX = detection.rawPose.x; double poseY = detection.rawPose.y; double poseZ = detection.rawPose.z; double poseAX = rot.firstAngle; double poseAY = rot.secondAngle; double poseAZ = rot.thirdAngle; } These raw values are converted by the SDK to the default interface, as follows: if (detection.rawPose != null) { detection.ftcPose = new AprilTagPoseFtc(); detection.ftcPose.x = detection.rawPose.x; detection.ftcPose.y = detection.rawPose.z; detection.ftcPose.z = -detection.rawPose.y; Orientation rot = Orientation.getOrientation(detection.rawPose.R, AxesReference.INTRINSIC, AxesOrder.YXZ, outputUnitsAngle); detection.ftcPose.yaw = -rot.firstAngle; detection.ftcPose.roll = rot.thirdAngle; detection.ftcPose.pitch = rot.secondAngle; detection.ftcPose.range = Math.hypot(detection.ftcPose.x, detection.ftcPose.y); detection.ftcPose.bearing = outputUnitsAngle.fromUnit(AngleUnit.RADIANS, Math.atan2(-detection.ftcPose.x, detection.ftcPose.y)); detection.ftcPose.elevation = outputUnitsAngle.fromUnit(AngleUnit.RADIANS, Math.atan2(detection.ftcPose.z, detection.ftcPose.y)); } Again, further discussion is provided here: [115]Understanding AprilTag Detection Values Summary[116] AprilTag is a popular camera-based technology, using a scanned image similar to a QR Code. The SDK version 8.2 or later includes key capabilities of AprilTag and EasyOpenCV, a FIRST Tech Challenge-optimized interface with OpenCV for image processing. These methods are packaged for convenient use by Java and Blocks programmers. By default, the SDK can detect the ID code for any AprilTag in the 36h11 family. For AprilTags in a default or custom tag Library, the interface provides calculated pose estimates (position and rotation) from the camera’s frame of reference. The source data is also available for advanced teams. The AprilTag features work on Android RC phone cameras, and on webcams. Each camera requires calibration data, for a specific resolution, to provide good pose estimates. Multiple cameras are supported, and a single OpMode can use AprilTag and Color Processing. AprilTag detection is improved with webcam Camera Controls, available also in FTC Blocks. In FIRST Tech Challenge, AprilTag is ready to take CENTERSTAGE! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Much credit to: • EasyOpenCV developer [117]@Windwoes • FTC Blocks developer [118]@lizlooney • FTC navigation expert [119]@gearsincorg • and the smart people at [120]UMich/AprilTag. Questions, comments and corrections to [121]westsiderobotics@verizon.net [122] Previous [123]Next ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ © 2025 FIRST [124]Terms of Service [125]Privacy Policy [126]Report an Incident Season Presenting Sponsor RTX References: [1] https://ftc-resources.firstinspires.org/ftc/game [2] https://ftc-qa.firstinspires.org/ [3] https://ftc-docs.firstinspires.org/en/latest/index.html [7] https://ftc-docs.firstinspires.org/en/latest/overview/ftcoverview.html [8] https://ftc-docs.firstinspires.org/en/latest/gracious_professionalism/gp.html [9] https://ftc-docs.firstinspires.org/en/latest/persona_pages/rookie_teams/rookie_teams.html [10] https://ftc-docs.firstinspires.org/en/latest/persona_pages/veteran_teams/veteran_teams.html [11] https://ftc-docs.firstinspires.org/en/latest/persona_pages/coach_admin/coach_admin.html [12] https://ftc-docs.firstinspires.org/en/latest/persona_pages/mentor_tech/mentor_tech.html [13] https://ftc-docs.firstinspires.org/en/latest/game_specific_resources/blog/blog.html [14] https://ftc-docs.firstinspires.org/en/latest/tech_tips/tech-tips.html [15] https://ftc-docs.firstinspires.org/en/latest/ai/innovation_corner/innovation-corner.html [16] https://ftc-docs.firstinspires.org/en/latest/manuals/game_manuals/game_manuals.html [17] https://ftc-docs.firstinspires.org/en/latest/game_specific_resources/ftcqa/ftcqa.html [18] https://ftc-docs.firstinspires.org/en/latest/game_specific_resources/playing_field_resources/playing_field_resources.html [19] https://ftc-docs.firstinspires.org/en/latest/game_specific_resources/field_coordinate_system/field-coordinate-system.html [20] https://ftc-docs.firstinspires.org/en/latest/programming_resources/laptops/laptops.html [21] https://ftc-docs.firstinspires.org/en/latest/ftc_sdk/overview/index.html [22] https://ftc-docs.firstinspires.org/en/latest/ftc_sdk/updating/index.html [23] https://ftc-docs.firstinspires.org/en/latest/programming_resources/shared/control_system_intro/The-FTC-Control-System.html [24] https://ftc-docs.firstinspires.org/en/latest/control_hard_compon/index.html [25] https://ftc-docs.firstinspires.org/en/latest/hardware_and_software_configuration/index.html [26] https://ftc-docs.firstinspires.org/en/latest/hardware_and_software_configuration/self_inspect/new-self-inspect.html [27] https://ftc-docs.firstinspires.org/en/latest/hardware_and_software_configuration/self_inspect/self-inspect.html [28] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html [29] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#programming-tutorials [30] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#supporting-documentation [31] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#apriltag-programming [32] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html# [33] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#introduction [34] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#what-is-apriltag [35] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-pose [36] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#navigation [37] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#annotations [38] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-axes [39] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#advanced-use [40] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#summary [41] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_overview/visionportal-overview.html [42] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_webcams/visionportal-webcams.html [43] https://ftc-docs.firstinspires.org/en/latest/apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values.html [44] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_localization/apriltag-localization.html [45] https://ftc-docs.firstinspires.org/en/latest/apriltag/opmode_test_images/opmode-test-images.html [46] https://ftc-docs.firstinspires.org/en/latest/apriltag/apriltag_tips/decode_apriltag/decode-apriltag.html [47] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#vision-programming [48] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#camera-color-processing [49] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#advanced-topics [50] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html#additional-first-website-resources [51] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html# [52] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#introduction [53] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#what-is-apriltag [54] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-pose [55] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#navigation [56] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#annotations [57] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-axes [58] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#advanced-use [59] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#summary [60] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_overview/visionportal-overview.html [61] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_webcams/visionportal-webcams.html [62] https://ftc-docs.firstinspires.org/en/latest/apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values.html [63] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_localization/apriltag-localization.html [64] https://ftc-docs.firstinspires.org/en/latest/apriltag/opmode_test_images/opmode-test-images.html [65] https://ftc-docs.firstinspires.org/en/latest/cad_resources/index.html [66] https://ftc-docs.firstinspires.org/en/latest/hardware_and_software_configuration/configuring/managing_esd/managing-esd.html [67] https://ftc-docs.firstinspires.org/en/latest/manufacturing/index.html [68] https://ftc-docs.firstinspires.org/en/latest/faq/faqs.html [69] https://ftc-docs.firstinspires.org/en/latest/sponsors/software/software.html [70] https://ftc-docs.firstinspires.org/en/latest/sponsors/discounts/discounts.html [71] https://ftc-docs.firstinspires.org/en/latest/team_resources/team_resources.html [72] https://ftc-docs.firstinspires.org/en/latest/booklets/index.html [73] https://ftc-docs.firstinspires.org/projects/ftcdocs-archive/en/latest/index.html [74] https://ftc-docs.firstinspires.org/en/latest/ftc_docs/form/form.html [75] https://ftc-docs.firstinspires.org/en/latest/contrib/index.html [76] https://ftc-docs.firstinspires.org/en/latest/index.html [77] https://ftc-docs.firstinspires.org/en/latest/index.html [78] https://ftc-docs.firstinspires.org/en/latest/programming_resources/index.html [79] https://github.com/FIRST-Tech-Challenge/ftcdocs/blob/main/docs/source/apriltag/vision_portal/apriltag_intro/apriltag-intro.rst [80] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-introduction [81] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#introduction [82] https://ftc-docs.firstinspires.org/en/latest/_images/005-AprilTag-Worlds.png [83] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id1 [84] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#what-is-apriltag [85] https://april.eecs.umich.edu/software/apriltag [86] https://ftc-docs.firstinspires.org/en/latest/_images/010-apriltagrobots.png [87] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id2 [88] https://ftc-docs.firstinspires.org/en/latest/_images/020-Sample-Tags.png [89] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id3 [90] https://ftc-docs.firstinspires.org/en/latest/_downloads/ba0d87cc0d392ad0bad054d4b81e9077/AprilTag_0-20_family36h11.pdf [91] https://ftc-docs.firstinspires.org/en/latest/_images/080-CH-LiveView-ID-code.png [92] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id4 [93] https://github.com/rgov/apriltag-pdfs/tree/main/tag36h11/us_letter/100mm [94] https://ftc-docs.firstinspires.org/en/latest/_images/100-Tag-size-42.png [95] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id5 [96] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-pose [97] https://ftc-docs.firstinspires.org/en/latest/_images/200-CH-LiveView-offsets-crop.png [98] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id6 [99] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#navigation [100] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#annotations [101] https://ftc-docs.firstinspires.org/en/latest/_images/280-DS-preview.png [102] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id7 [103] https://ftc-docs.firstinspires.org/en/latest/hardware_and_software_configuration/configuring/configuring_external_webcam/configuring-external-webcam.html#image-preview [104] https://ftc-docs.firstinspires.org/en/latest/hardware_and_software_configuration/configuring/configuring_external_webcam/configuring-external-webcam.html#image-preview [105] https://ftc-docs.firstinspires.org/en/latest/_images/300-RC-preview.png [106] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#id8 [107] https://github.com/Genymobile/scrcpy [108] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#apriltag-axes [109] https://ftc-docs.firstinspires.org/en/latest/programming_resources/imu/imu.html#axes-definition [110] https://github.com/AprilRobotics/apriltag/wiki/AprilTag-User-Guide#coordinate-system [111] https://ftc-docs.firstinspires.org/en/latest/apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values.html#understanding-apriltag-detection-values [112] https://ftc-docs.firstinspires.org/en/latest/game_specific_resources/field_coordinate_system/field-coordinate-system.html#scope [113] https://ftc-docs.firstinspires.org/en/latest/_downloads/7b8fbccb111a19eb3efa9eb3685a25fe/FTC-Global-Coordinates.png [114] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#advanced-use [115] https://ftc-docs.firstinspires.org/en/latest/apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values.html#understanding-apriltag-detection-values [116] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html#summary [117] https://github.com/Windwoes [118] https://github.com/lizlooney [119] https://github.com/gearsincorg [120] https://april.eecs.umich.edu/software/apriltag [121] mailto:westsiderobotics%40verizon.net [122] https://ftc-docs.firstinspires.org/en/latest/programming_resources/shared/managing_smartphone_rc/Managing-a-Smartphone-Robot-Controller.html [123] https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/visionportal_overview/visionportal-overview.html [124] https://ftc-docs.firstinspires.org/en/latest/tos/tos.html [125] https://www.firstinspires.org/privacy-policy [126] https://www.firstinspires.org/programs/youth-protection-program