Skip to content

Commit

Permalink
include changes from main, plus new field images and handle merge con…
Browse files Browse the repository at this point in the history
…flict
  • Loading branch information
acharraggi committed Dec 22, 2024
2 parents a783e28 + 9b2f09e commit 1214a11
Show file tree
Hide file tree
Showing 38 changed files with 120 additions and 207 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/pull-request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
build-pdf:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -43,7 +43,7 @@ jobs:
if-no-files-found: error

build-html:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
if-no-files-found: error

spelling-check:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v3
Expand All @@ -84,7 +84,7 @@ jobs:
reporter: "github-check"

link-check:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v3
Expand Down Expand Up @@ -153,7 +153,7 @@ jobs:
retention-days: 7

image-check:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v3
Expand All @@ -170,7 +170,7 @@ jobs:
run: make -C docs/ imagecheck

check-redirect:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Introduction
------------

In the 2023-2024 season, `FIRST Tech Challenge has introduced
AprilTags <https://ftc-docs.firstinspires.org/apriltag-intro>`__ into
AprilTags <https://ftc-docs.firstinspires.org/en/latest/apriltag/vision_portal/apriltag_intro/apriltag-intro.html>`__ into
the season-unique competition. AprilTags were developed by the April
Robotics Laboratory at the University of Michigan and are a visual
fiducial tagging system, built on a similar concept as QR codes, useful
Expand Down Expand Up @@ -75,7 +75,7 @@ to verify that the page printed properly.
For more in-depth information about AprilTag detection values, and
better understanding what they mean, please visit the following website:

- https://ftc-docs.firstinspires.org/apriltag-detection-values
:ref:`Understanding AprilTag Detection Values <apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values:understanding apriltag detection values>`
- :download:`Download and print the official PDF <files/FTCAprilTagSDK82SamplesExtended.pdf>`


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ follows:
Further discussion is provided here:

- https://ftc-docs.firstinspires.org/apriltag-detection-values
:ref:`Understanding AprilTag Detection Values <apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values:understanding apriltag detection values>`

Advanced CPU Management
-----------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ previous run’s results.
Mac OSX users may need special software for Android file transfer.

Next, read and follow the calibration instructions posted at
`ftc-docs <https://ftc-docs.firstinspires.org/camera-calibration>`__.
`ftc-docs <https://ftc-docs.firstinspires.org/en/latest/programming_resources/vision/camera_calibration/camera-calibration.html>`__.
Other calibration programs are widely available online.

Existing Warnings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ positive rotation.

Further discussion is provided here:

- https://ftc-docs.firstinspires.org/apriltag-detection-values
:ref:`Understanding AprilTag Detection Values <apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values:understanding apriltag detection values>`

Note: This article does not discuss the *FIRST* Tech Challenge
:ref:`Field Coordinate System <game_specific_resources/field_coordinate_system/field-coordinate-system:scope>`.
Expand Down Expand Up @@ -373,7 +373,7 @@ follows:
Again, further discussion is provided here:

- https://ftc-docs.firstinspires.org/apriltag-detection-values
:ref:`Understanding AprilTag Detection Values <apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values:understanding apriltag detection values>`

Summary
-------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,8 +237,8 @@ Reference Frames

In the above example. the yaw angle is given as (approximately) -90 degrees.
But the camera is facing in the negative X direction, thus has a heading or yaw
angle of -180 degrees in the official FTC `field coordinate system
<https://ftc-docs.firstinspires.org/en/latest/game_specific_resources/field_coordinate_system/field-coordinate-system.html>`_
angle of -180 degrees in the official FTC
:ref:`field coordinate system <first field coordinate system>`
:

.. figure:: images/50-field-axes.png
Expand All @@ -250,8 +250,7 @@ angle of -180 degrees in the official FTC `field coordinate system

This sample OpMode uses a reference frame (coordinate system) that may be
different than what you expect from other FTC navigation applications,
including `IMU or robot axes
<https://ftc-docs.firstinspires.org/en/latest/programming_resources/imu/imu.html?highlight=field%20coordinates#axes-definition>`_\
including :ref:`IMU or robot axes <imu axes def>`
, odometry device axes, and the FTC field system (shown above). These
differences typically result in basic and obvious changes in axis direction,
axis swapping, and orthogonal angles (90-degree increments).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Sample OpModes:

More discussion of AprilTag pose data is available here:

- https://ftc-docs.firstinspires.org/apriltag-detection-values
:ref:`Understanding AprilTag Detection Values <apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values:understanding apriltag detection values>`

====

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Related Info

More discussion of the AprilTag reference frame is available here:

- https://ftc-docs.firstinspires.org/apriltag-detection-values
:ref:`Understanding AprilTag Detection Values <apriltag/understanding_apriltag_detection_values/understanding-apriltag-detection-values:understanding apriltag detection values>`

This section described the SDK's default AprilTag reference frame. Teams are
welcome to make other calculations, such as the pose of the camera (or robot)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Logitech C310

Logitech C310 Camera

The `Logitech C310 <https://www.logitech.com/en-us/products/webcams/c310-hd-webcam.960-000585.html>`__
The `Logitech C310 <https://www.logitech.com/en-us/products/webcams/c310-hd-webcam.html>`__
is available at some online retailers.

**FTC Hot Take:**
Expand Down Expand Up @@ -123,7 +123,7 @@ Microsoft LifeCam HD-3000 v1/v2

Microsoft LifeCam HD-3000 v1/v2

The `Microsoft LifeCam HD-3000 <https://www.microsoft.com/en/accessories/products/webcams/lifecam-hd-3000>`__
The `Microsoft LifeCam HD-3000 <https://www.digitalcameraworld.com/reviews/microsoft-lifecam-hd-3000-review>`__
is available at some online retailers.

**FTC Hot Take:**
Expand Down Expand Up @@ -190,7 +190,7 @@ Arducam Global Shutter 120 FPS
Arducam GS 120 Camera

The `Arducam Global Shutter 120
FPS <https://www.arducam.com/product/arducam-120fps-global-shutter-usb-camera-board-1mp-720p-ov9281-uvc-webcam-module-with-low-distortion-m12-lens-without-microphones-for-computer-laptop-android-device-and-raspberry-pi/>`__
FPS <https://www.arducam.com/product/arducam-100fps-global-shutter-usb-camera-board-1mp-720p-ov9281-uvc-webcam-module-with-low-distortion-m12-lens-without-microphones-for-computer-laptop-android-device-and-raspberry-pi/>`__
is available at some online retailers, including
`Amazon <https://www.amazon.com/Arducam-Distortion-Microphones-Computer-Raspberry/dp/B096M5DKY6>`__.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/cad_resources/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Here are a few tools commonly used by teams:
Software for Beginners

* `Autodesk TinkerCAD <https://www.tinkercad.com/>`__ (free) (desktop)
* `FreeCAD <https://www.freecadweb.org/>`__ (free) (desktop)
* `FreeCAD <https://www.freecad.org/>`__ (free) (desktop)

Software for Intermediate Users

Expand Down
2 changes: 1 addition & 1 deletion docs/source/cad_resources/solidworks/solidworks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ SOLIDWORKS® Training Videos
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Learning content for both the cloud-based and desktop-based tools is managed
through the `3DS online learning portal <https://edu.3ds.com/en/learn/eduspace>`__,
through the `3DS online learning portal <https://eduspace.3ds.com/CompanionManager/public/#/>`__,
which manages access through your 3DEXPERIENCE ID.

Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ pattern. This includes adding the "Color Blob Locator" Processor to the
VisionPortal.

The FTC VisionPortal was introduced in 2023. More information is available
on the `ftc-docs VisionPortal Page <https://ftc-docs.firstinspires.org/apriltag-sdk>`_.
on the :ref:`ftc-docs VisionPortal Page <apriltag/vision_portal/visionportal_overview/visionportal-overview:visionportal overview>`.

Target Color Range
------------------
Expand Down
17 changes: 16 additions & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
'sphinxcontrib.cookiebanner',
'sphinxcontrib.mermaid',
"sphinxext.rediraffe",
"ftcdocs_linkcheckdiff",
# "ftcdocs_linkcheckdiff",
]

autosectionlabel_prefix_document = True
Expand Down Expand Up @@ -275,6 +275,10 @@
},
}

linkcheck_allowed_redirects = {
r'https://ftc-docs\.firstinspires\.org/.*': r'https://ftc-docs\.firstinspires\.org/en/latest/.*'
}

# Firstinspires redirects to login and break our link checker :)
# ftc-ml.firstinspires.org does a redirect that linkcheck hates.
# GitHub links with Javascript Anchors cannot be detected by linkcheck
Expand All @@ -287,11 +291,16 @@
r'https://wiki.dfrobot.com/.*#',
r'https://www.solidworks.com/',
r'https://sketchup.com/',
r'https://eduspace.3ds.com/',
r'https://www.dell.com/',
r'https://april.eecs.umich.edu/',
r'https://www.autodesk.com/',
r'https://knowledge.autodesk.com/',
r'https://www.3dflow.net/',
r'https://stackoverflow.com',
r'http://192.168.43.1',
r'http://192.168.49.1',
r'https://javadoc.io/doc/org.firstinspires.ftc/',
]

latex_documents = [
Expand Down Expand Up @@ -351,6 +360,12 @@ def setup(app):
html_context['github_user'] = 'FIRST-Tech-Challenge'
html_context['github_repo'] = 'ftcdocs'
html_context['github_version'] = 'main/docs/source/'

analytics = {
'gtag': 'G-7B5F7THY9C'
}




# Configure RTD Theme
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,8 @@ brands are reputable and which ones are not? That's not always an easy thing to
determine, however brands such as
`Anker <https://www.anker.com/collections/power-banks>`__,
`Belkin <https://www.belkin.com/products/chargers/portable-chargers-power-banks/>`__,
`Otterbox <https://www.otterbox.com/en-us/power-packs>`__, and
`BioLite <https://www.bioliteenergy.com/collections/usb-battery-banks>`__
`Otterbox <https://www.otterbox.com/en-us/portable-chargers>`__, and
`BioLite <https://www.bioliteenergy.com/collections/portable-battery-banks>`__
are among the most-used brands in the world. *FIRST* Tech Challenge recommends
choosing an internationally reputable brand, even if the brand is more
expensive than a lesser-known brand, as these batteries will be more apt to
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
.. _first field coordinate system:

*FIRST* Tech Challenge Field Coordinate System Definition
=========================================================

.. meta::
:description: This document defines the Field Coordinate System which can be used to specify position on the playing field.
:description: This document defines the FIRST Tech Challenge Field Coordinate System which can be used to specify position on the playing field.

Summary: The *FIRST* Tech Challenge Field Coordinate System is a Cartesian Coordinate System of three dimensions.
The X and Y axes will refer to a position on the field and the Z axis a height above the field.
Expand Down Expand Up @@ -74,17 +76,15 @@ Rotation About Axes
When considering rotations about an axis, consider yourself looking down the
axis from the positive end towards the origin. Positive
rotations are then counterclockwise and negative rotations clockwise.

Imagine looking down the positive Z axis towards the origin.
This would be like standing in the middle of the field
looking down.
A positive rotation about the Z axis would be counterclockwise.


.. figure:: images/image1.jpg
:alt: X, Y and Z coordinate axes
:alt: X, Y and Z coordinate axes.

Counterclockwise rotations about each axis

Imagine looking down the positive Z axis towards the origin.
This would be like standing in the middle of the field looking down.
A positive rotation about the Z axis would be counterclockwise.

Example: a robot spinning clockwise on the Field is making a negative rotation about the Z axis.

Expand All @@ -101,47 +101,43 @@ Below are two examples illustrating the Field Coordinate System for different
Diamond Field
^^^^^^^^^^^^^

In a diamond field configuration the two Alliance walls are adjacent.
The field is rotated 45 degrees such that both Alliances face the audience.
From the audience perspective the field forms a diamond shape.
The Red Wall will be on the right as seen from the audience,
and the blue wall will be on the left.
The Y axis points across the field as seen from the Red Wall.
The X axis points to the blue wall.


.. figure:: images/image2.jpg
:alt: A diamond field with X, Y and Z axes shown
.. figure:: images/first-res-q-field.png
:alt: A diamond field with X, Y and Z axes shown.

The FIRST RES-Q game field

The FIRST RES-Q game field
In a diamond field configuration the two Alliance walls are adjacent.
The field is rotated 45 degrees such that both Alliances face the audience.
From the audience perspective the field forms a diamond shape.
The Red Wall will be on the right as seen from the audience.
The Y axis points across the field as seen from the Red Wall.
The X axis points to the Blue Alliance.

Square Field
^^^^^^^^^^^^

In a square field configuration the two Alliances face each other across the field.
The field is oriented such that the Red Wall is on the right as seen
from the audience, and the blue wall will be on the left.
The Y axis points across the field from the Red Wall to the blue wall.
The X axis points away from the audience to the rear of the field.
.. figure:: images/into-the-deep-field.png
:alt: A square field with X, Y and Z axes shown.

.. figure:: images/image3.jpg
:alt: A square field with X, Y and Z axes shown
The Into The Deep game field

The Cascade Effect game field
In a square field configuration the two Alliances face each other across the field.
The field is oriented such that the Red Wall is on the right as seen from the audience.
The Y axis points across the field from the Red Wall towards the Blue Alliance.
The X axis points away from the audience to the rear of the field.

Coordinate Position Example
---------------------------

Let's consider a robot on the Cascade Effect field at coordinates
(60, -60, 10) in inches. So X = 60, y = -60, and Z = 10.
Measured in inches, the walls would be about 72 inches from the origin.
Cascade Effect was a square field configuration, so
the X axis value of positive 60 would be located close to the rear field wall, away from the audience.
The Y axis value of negative 60 would be located close to the Red Wall, away from the origin.
Together the X and Y values (60, -60) indicate a position in the corner of the field.
That corner is adjacent to the Red Wall and furthest from the audience.
The Z axis value of 10 places the robot on top of the red
ramp that is in that corner in the Cascade Effect game.
Let's consider the coordinates (0, -24, 26) in inches on the Into The Deep field, which is a square field.
Given the order of coordinates then X = 0, Y = -24, and Z = 26.

The X axis value of 0 is located at the origin in the center of the field.
The Y axis value of negative 24 would be located closer to the Red Wall, away from the origin by the width of one tile.
This the center of the wall of the submersible structure on the red side of the field.

The Z axis value of 26 indicates the coordinates refer to the center and top of the Red Alliance "high chamber"
(which is the higher of the two red crossbars).

Measured Values
---------------
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 1214a11

Please sign in to comment.