From 136cf75cde61c86f90f799efea7beb87edf590bf Mon Sep 17 00:00:00 2001 From: SparkFun-Documentation-Team <112656947+SparkFun-Documentation-Team@users.noreply.github.com> Date: Wed, 12 Jun 2024 08:14:52 -0600 Subject: [PATCH] Python and Java(FTC) software setup changes --- docs/assets/img/android_studio.png | Bin 0 -> 33066 bytes docs/assets/img/hardware_config.png | Bin 0 -> 90353 bytes docs/contribute.md | 39 ++++ docs/examples-Python.md | 285 ++++++++++++++++++++++++++++ docs/file_issue.md | 47 +++++ docs/resources.md | 12 +- docs/software_setup-FTC.md | 38 +++- docs/software_setup-Python.md | 51 ++++- mkdocs.yml | 9 +- 9 files changed, 468 insertions(+), 13 deletions(-) create mode 100644 docs/assets/img/android_studio.png create mode 100644 docs/assets/img/hardware_config.png create mode 100644 docs/contribute.md create mode 100644 docs/examples-Python.md create mode 100644 docs/file_issue.md diff --git a/docs/assets/img/android_studio.png b/docs/assets/img/android_studio.png new file mode 100644 index 0000000000000000000000000000000000000000..263a34dfcbf678d820b8f6321086e8a74ed62a2f GIT binary patch literal 33066 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 z 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
H!~0jsBS7GU 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 RZd!r=j;o$LnyGB;^KaZ0ifRA= literal 0 HcmV?d00001 diff --git a/docs/contribute.md b/docs/contribute.md new file mode 100644 index 0000000..71955d0 --- /dev/null +++ b/docs/contribute.md @@ -0,0 +1,39 @@ +# Contribute: Make an Augmentation! +Spot an improvement opportunity? Feel free to contribute to our open-source design and documentation. + + +## :material-file-document-multiple: Improve our Documentation +All of this documentation can be modified by you! Please help us make it better. + +* These pages are contained in the [`docs` folder](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/tree/main/docs) of the [SparkFun Optical Tracking Odometry Sensor - PAA5160E1 (Qwiic) repository](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor). + +### Submit a Correction + +1. With a GitHub account, [fork this repository](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/fork). +2. Add your corrections or improvements to the markdown file. +3. File a pull request with your changes, and enjoy making the ~~words~~ ~~worlds~~ world a better place. + * Once received, the documentation specialist will automatically be notified. + * We will review your suggested improvements to make sure they are correct and fit within our documentation standards. + +## :material-cog: Improve our Hardware Design +All of our designs are open-source! Please help us make it better. + +* Our board design files are contained in the [`Hardware` folder](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/tree/main/Hardware) of the [SparkFun Optical Tracking Odometry Sensor - PAA5160E1 (Qwiic) repository](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor). + +1. With a GitHub account, [fork this repository](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/fork). +2. Add your design augmentation(s) +3. File a pull request with your changes, and enjoy making the ~~words~~ ~~worlds~~ world a better place. + 1. Once received, the engineer in charge of the original design will automatically be notified. + 2. We will review your suggested improvement(s) to verify that they are within our board design standards and meet our product design requirements. + 3. If approved, we will flag these changes for our next board revision. Congrats! 🍻 + + !!! info + Even if your suggestion is accepted, these changes may not be immediately available for purchase. We may have to cycle through our current product inventory first. + + +## Contributors :clap: +Let's provide some recognition to the contributors for this project! + +![GitHub Contributors Image](https://contrib.rocks/image?repo=sparkfun) +
+ diff --git a/docs/examples-Python.md b/docs/examples-Python.md new file mode 100644 index 0000000..f55560c --- /dev/null +++ b/docs/examples-Python.md @@ -0,0 +1,285 @@ +--- +icon: simple/python +--- + +!!! attention + + All of the examples require the user to enter a key into the serial monitor before the example starts, which triggers the IMU calibration. + +!!! attention + + The IMU on the Optical Tracking Odometry Sensor includes a gyroscope and accelerometer, which could have an offset. The OTOS performs a quick calibration when it powers up, but it is recommended to perform a more thorough calibration at the start of all your programs. + +###Example 1: Basic Readings + +This first example just does some basic measurements to make sure everything is hooked up correctly. + + +
+[![Optical Tracking Odometry Sensor Python Example 1](assets/img/){ width="600" }](assets/img/ "Click to enlarge") +
Finding Example 1
+
+ +Alternatively, you can expand the link below and copy and paste the code into a shiny new Python file: + +??? "Example 1 Python Code" + ``` + --8<-- "https://raw.githubusercontent.com/sparkfun/Qwiic_OTOS_Py/master/examples/qwiic_otos_ex1_basic_readings.py" + ``` + + + + +
+[![Optical Tracking Odometry Sensor Python Example 1 Output](assets/img/){ width="600" }](assets/img/ "Click to enlarge") +
Example 1 Output
+
+ +Move the sensor around to see how the coordinates change! + + +###Example 2: SetUnits + +This example sets the desired units for linear and angular measurements. Can be either meters or inches for linear, and radians or degrees for angular. If not set, the default is inches and degrees. Note that this setting is not stored in the sensor, it's part of the library, so you need to set at the start of all your programs. + + + + +
+[![Optical Tracking Odometry Sensor Arduino Example 2](assets/img/Arduino_Example_2_Menu.jpg){ width="600" }](assets/img/Arduino_Example_2_Menu.jpg "Click to enlarge") +
Finding Example 2
+
+ +Alternatively, you can expand the link below and copy and paste the code into a shiny Python file: + + + +??? "Example 2 Python Code" + ``` + --8<-- "https://raw.githubusercontent.com/sparkfun/Qwiic_OTOS_Py/master/examples/qwiic_otos_ex2_set_units.py" + ``` + +Notice the following code snippet - this is the section of code that allows you to choose your units: + +
+[![Optical Tracking Odometry Sensor Arduino Example 2 Code Snippet](assets/img/Arduino_Example_2_CodeSnippet.jpg){ width="600" }](assets/img/Arduino_Example_2_CodeSnippet.jpg "Click to enlarge") +
Example 2 Code To Change Units
+
+ + +Make sure you've selected the correct board and port in the Tools menu and then hit the upload button. Once the code has finished uploading, go ahead and open a [Serial Monitor](https://learn.sparkfun.com/tutorials/terminal-basics). You should see something similar to the following. + +
+[![Optical Tracking Odometry Sensor Arduino Example 2](assets/img/Arduino_Example_2_Output.jpg){ width="600" }](assets/img/Arduino_Example_2_Output.jpg "Click to enlarge") +
Example 2 Output
+
+ + +###Example 3: Calibration + +!!! warning + + As of firmware version 1.0, these calibration values will be lost after a power cycle, so you will need to set them each time you power up the sensor. + + +The data from the OTOS will likely have minor scaling errors that can be calibrated out. This is especially important for the angular scalar, because an incorrect angle measurement causes the linear measurements to be rotated by the wrong angle in the firmware, which can lead to very inaccurate tracking. + + + + +
+[![Optical Tracking Odometry Sensor Arduino Example 3](assets/img/Arduino_Example_3_Menu.jpg){ width="600" }](assets/img/Arduino_Example_3_Menu.jpg "Click to enlarge") +
Finding Example 3
+
+ +Alternatively, you can expand the link below and copy and paste the code into a shiny new Python file: + + + +??? "Example 3 Python Code" + ``` + --8<-- "https://raw.githubusercontent.com/sparkfun/Qwiic_OTOS_Py/master/examples/qwiic_otos_ex3_calibration.py" + ``` + + + +Make sure you've selected the correct board and port in the Tools menu and then hit the upload button. Once the code has finished uploading, go ahead and open a [Serial Monitor](https://learn.sparkfun.com/tutorials/terminal-basics). + +Calibrating your bot requires you to move it around a bit. First, set both scalars to 1.0, then calibrate the angular scalar, then the linear scalar. + +To calibrate the angular scalar, spin the robot by multiple rotations (eg. 10) to get a precise error, then set the scalar to the inverse of the error. Remember that the angle wraps from -180 to 180 degrees, so for example, if after 10 rotations counterclockwise(positive rotation), the sensor reports -15 degrees, the required scalar would be 3600/3585 = 1.004. + +
+[![Rotating the Optical Tracking Odometry Sensor](assets/img/SEN-24904-XRP-Rotation.jpg){ width="600" }](assets/img/SEN-24904-XRP-Rotation.jpg "Click to enlarge") +
Rotating the Optical Tracking Odometry Sensor
+
+ + +To calibrate the linear scalar, move the robot a known distance and measure the error; do this multiple times at multiple speeds to get an average, then set the linear scalar to the inverse of the error. For example, if you move the robot 100 inches and the sensor reports 103 inches, set the linear scalar to 100/103 = 0.971. + + +
+[![Moving the Optical Tracking Odometry Sensor](assets/img/SEN-24904-XRP-Distance.jpg){ width="600" }](assets/img/SEN-24904-XRP-Distance.jpg "Click to enlarge") +
Moving the Optical Tracking Odometry Sensor
+
+ + + + +###Example 4: SetOffsetAndPosition + +This example shows how to set the offset for the sensor relative to the center of the robot. The units default to inches and degrees, but if you want to use different units, make sure you specify them before setting the offset. Without setting the offset, the OTOS will report the coordinates of itself. If the offset is set, the OTOS will instead report the coordinates of the center of your robot. + +Note that the OTOS typically starts tracking from the origin, but if your robot starts at some other location, or you have another source of location information from another sensor that's more accurate, you can send the current location to the OTOS and it will continue tracking from there. + +!!! warning + + As of firmware version 1.0, these values will be lost after a power cycle, so you will need to set them each time you power up the sensor. + + +To find Example 4, go to **File** > **Examples** > **SparkFun Qwiic OTOS** > **Example4_SetOffsetAndPosition**: + + +
+[![Optical Tracking Odometry Sensor Arduino Example 4](assets/img/Arduino_Example_4_Menu.jpg){ width="600" }](assets/img/Arduino_Example_4_Menu.jpg "Click to enlarge") +
Finding Example 4
+
+ +Alternatively, you can expand the link below and copy and paste the code into a shiny new Arduino sketch: + + + +??? "Example 4 Arduino Code" + ``` + --8<-- "https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/main/examples/Example4_SetOffsetAndPosition/Example4_SetOffsetAndPosition.ino" + ``` + + +If the sensor is mounted 5 inches to the left (negative X) and 10 inches forward (positive Y) of the center of the robot, and mounted 90 degrees clockwise (negative rotation) from the robot's orientation, the offset would be {-5, 10, -90}. These can be any value, even the angle can be tweaked slightly to compensate for imperfect mounting (eg. 1.3 degrees). + +
+[![The X, Y, and Angular Offset of the Optical Tracking Sensor](assets/img/SEN-24904-XRP-XY-Offset.jpg){ width="600" }](assets/img/SEN-24904-XRP-XY-Offset.jpg "Click to enlarge") +
The X, Y, and Angular Offset of the Optical Tracking Sensor
+
+ + +These four examples cover the basics - there are more examples to explore in the library! + + + + + + + diff --git a/docs/file_issue.md b/docs/file_issue.md new file mode 100644 index 0000000..174d227 --- /dev/null +++ b/docs/file_issue.md @@ -0,0 +1,47 @@ +# Did we make a mistake? + +Spot something wrong? Please let us know. + +!!! attention + This is not where customers should seek assistance on a product. If you require technical assistance or have questions about a product that is not working as expected, please head over to the [SparkFun Technical Assistance](https://www.sparkfun.com/technical_assistance) page for some initial troubleshooting. +
+ [SparkFun Technical Assistance Page](https://www.sparkfun.com/technical_assistance){ .md-button .md-button--primary } +
+ + If you can't find what you need there, you'll need a [Forum Account](https://forum.sparkfun.com/ucp.php?mode=register) to search product forums and post questions. + +## Discrepancies in the Documentation + +All of this documentation can be modified by you! Please help us make it better. + +* The documentation files for these pages are contained in the [`docs` folder](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/tree/main/docs) of the [SparkFun Optical Tracking Odometry Sensor - PAA5160E1 (Qwiic)](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor) repository. + +### Spot something wrong? +If a section of the documentation is incorrect, please [open an issue](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/issues) and let us know. + +### Do you have a suggested correction? +1. With a GitHub account, fork this repo +2. Add your correction(s) or improvement(s) to the markdown file(s) +3. File a pull request with your changes, and enjoy making the ~~words~~ ~~worlds~~ world a better place. + * Once received, the documentation specialist will automatically be notified. + * We will review your suggested improvement(s) to make sure they are correct and fit within our documentation standards. + +## Problems in the Hardware Design + +All of our designs are open-source! Please help us make it better. + +* Our board design files are contained in the [`Hardware` folder](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/tree/main/Hardware) of the [SparkFun Optical Tracking Odometry Sensor - PAA5160E1 (Qwiic)](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor) repository. + +### Does something not make sense? +If part of the design is confusing, please [open an issue](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/issues) and let us know. + +### Did we forget to include an important function of the board? +* Please keep in mind that we may intentionally exclude certain functions of the board to meet our product design requirements. *(For example, our Qwiic Micro boards are intended to fit on a small board layout and only use I2C communication; therefore, we may not have the SPI and interrupt pins available for users.)* +* If part of the board's functionality is missing, please [open an issue](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/issues) and file a feature request. + +### Do you wish to contribute directly to improving the board design? +1. With a GitHub account, Fork this repo +2. Add your design improvement(s) +3. File a pull request with your changes, and enjoy making the ~~words~~ ~~worlds~~ world a better place. + * Once received, the engineer in charge of the original design will automatically be notified. + * We will review your suggested improvement(s), if they are within our board design standards and meet our product design requirements, we will flag these changes for our next board revision. *(Please note, that even if your suggestion is accepted, these changes may not be immediate. We may have to cycle through our current product inventory first.)* diff --git a/docs/resources.md b/docs/resources.md index ee586c5..0136f84 100644 --- a/docs/resources.md +++ b/docs/resources.md @@ -4,9 +4,9 @@ For more resources related to the SparkFun SparkFun Optical Tracking Odometry Sensor, check out the links listed here: * [Product Page](https://www.sparkfun.com/products/24904){ target="_blank" } -* [Schematic (PDF)](assets/board_files/24904_SparkFun_Optical_Tracking_Odometry_Sensor_Schematic.pdf){ target="_blank" } -* [Eagle Files (ZIP)](assets/board_files/24904_SparkFun_Optical_Tracking_Odometry_Sensor_EagleFiles.zip){ target="_blank" } -* [Board Dimensions(PNG)](assets/board_files/24904_SparkFun_Optical_Tracking_Odometry_Sensor_BoardOutline.png){ target="_blank" } +* [Schematic (PDF)](./assets/board_files/24904_SparkFun_Optical_Tracking_Odometry_Sensor_Schematic.pdf){ target="_blank" } +* [Eagle Files (ZIP)](./assets/board_files/24904_SparkFun_Optical_Tracking_Odometry_Sensor_EagleFiles.zip){ target="_blank" } +* [Board Dimensions(PNG)](./assets/board_files/24904_SparkFun_Optical_Tracking_Odometry_Sensor_BoardOutline.png){ target="_blank" } * [Hardware GitHub Repository](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor){ target="_blank" } * [Optical Tracking Odometry Sensor Register Map (PDF)](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/blob/main/Firmware/OTOS_Register_Map.pdf) @@ -30,3 +30,9 @@ First Tech Challenge Resources: * [FTC mounts on Onshape](https://cad.onshape.com/documents/1253798610182bf3a147f431/w/11cc45e6a7c8080b22bb8377/e/d4827c4f09d804607ba1824b){ target="_blank" } * [Instructions for FTC mounts]( https://docs.google.com/document/d/14oHPdummdtDlF2BijsM5kqbD6MTwzaQFkbJ2jo99SUI/edit){ target="_blank" } + +Datasheets: + +* [Optical Tracking Sensor - PAA5160 Datasheet](assets/documentation/PAA5160_Datasheet_General.pdf){ target="_blank" } +* [6-DoF IMU - LSM6DSO Datasheet](assets/documentation/lsm6dso.pdf){ target="_blank" } +* [Microcontroller - STM32C0 Datasheet](assets/documentation/stm32c011d6-3082107.pdf) \ No newline at end of file diff --git a/docs/software_setup-FTC.md b/docs/software_setup-FTC.md index 400c7a8..8752252 100644 --- a/docs/software_setup-FTC.md +++ b/docs/software_setup-FTC.md @@ -2,12 +2,44 @@ icon: first --- -## Java -We are actively working on the Java library for First Tech Challenge Teams, but if you wish to find the files, they are here: +!!! warning + These instructions are for Android Studio users only! Software support may be built into the SDK at a future date for Onbot Java and Blocks users as well, but only Android Studio is supported at this time. + +# Adding the Driver + +In order for the Optical Tracking Odometry Sensor to be recognized in the hardware configuration, you must first add the driver and upload it to the robot. It is also recommended to add the sample OpMode at the same time. + +To do so, you'll need the driver (`SparkFunOTOS.java`) and sample OpMode (`SensorSparkFunOTOS.java`) from the [SparkFun Optical Tracking Odometry Sensor FTC Java Library GitHub Repo](https://github.com/sparkfun/SparkFun_Qwiic_OTOS_FTC_Java_Library). You can download them from the link or click on the button below:
- [SparkFun Optical Tracking Odometry Sensor Java Library GitHub](https://github.com/sparkfun/SparkFun_Qwiic_OTOS_FTC_Java_Library/archive/refs/heads/main.zip){ .md-button .md-button--primary } + [SparkFun Optical Tracking Odometry Sensor FTC Java Library](https://github.com/sparkfun/SparkFun_Qwiic_OTOS_FTC_Java_Library/archive/refs/heads/main.zip){ .md-button .md-button--primary }
+ +Once you have the driver and sample OpMode files, add them to your TeamCode folder like so: + +
+[![Android Studio](assets/img/android_studio.png){ width="600" }](assets/img/android_studio.png "Click to enlarge") +
Android Studio
+
+ + +Then upload the code to your robot like normal. + +# Hardware Configuration + +Make sure you've added the driver and uploaded it to the robot as outlined above. You can edit your robot's hardware configuration from the Driver Station. Select the I2C port that the OTOS is connected to, then tap the "Add" button. From the dropdown, you should see "SparkFun OTOS" like so: + +
+[![Hardware Configuration](assets/img/hardware_config.png){ width="600" }](assets/img/hardware_config.png "Click to enlarge") +
Hardware Configuration
+
+ +!!! warning + If you don't see "SparkFun OTOS" in the dropdown, make sure you have added the driver and uploaded it to your robot. + +Then enter a name for the sensor. The sample OpMode assumes it is named `sensor_otos`, so that is recommended. + +Once done, save your hardware configuration, then you're ready to run the sample OpMode! diff --git a/docs/software_setup-Python.md b/docs/software_setup-Python.md index fb0f021..e2bb0a0 100644 --- a/docs/software_setup-Python.md +++ b/docs/software_setup-Python.md @@ -2,11 +2,58 @@ icon: simple/python --- -## Python -We are actively working on the Python package, but if you wish to find the files, they are here: +!!! attention + If this is your first time working with Python, there are quite a few useful tutorials on getting started. The [Python Programming Section](https://learn.sparkfun.com/tutorials/python-programming-tutorial-getting-started-with-the-raspberry-pi/programming-in-python) of our Getting Started with the Raspberry Pi Tutorial has some good basic information and resources for getting started with Python. +We've written a python package to get you started with the SparkFun Optical Tracking Odometry Sensor. It's been included in the SparkFun Qwiic Python package, which aggregates all Python Qwiic drivers/modules to provide a single entity for Qwiic within a Python environment. The [Qwiic_Py GitHub Library ReadMe](https://github.com/sparkfun/Qwiic_Py) has more information on the Qwiic Python package. + +If you already have your Qwiic Python package installed, you can update it with the following command: + +``` +pip install --upgrade sparkfun-qwiic + +``` + +If you don't have the Qwiic Python package installed already, you can install it with the following command: + +``` +pip install sparkfun-qwiic + +``` + + +If you prefer to install just this package, use the following command: + +``` +pip install sparkfun-qwiic-otos + +``` + + + + + + +If you prefer downloading the code to build and install the package manually, you can grab them from the GitHub Repository.
[SparkFun Optical Tracking Odometry Sensor Python Package GitHub](https://github.com/sparkfun/Qwiic_OTOS_Py/archive/refs/heads/master.zip){ .md-button .md-button--primary }
+ + + + + +In addition to the package provided here, we have written a Python script that allows you to visualize the XRP in real time. Download via the button below. + +
+ [XRP Visualization Script](assets/SparkFun_OTOS_XRP_Visualization.zip){ .md-button .md-button--primary download="SparkFun_OTOS_XRP_Visualization.zip" } +
+ + + +
+[![Visualization Script in Action](assets/img/SEN-24904-Action-GIF-1.gif){ width="600" }](assets/img/SEN-24904-Action-GIF-1.gif "Click to enlarge") +
Visualization Script in Action
+
diff --git a/mkdocs.yml b/mkdocs.yml index d7969aa..12a9ea5 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -15,7 +15,6 @@ copyright: edit_uri: blob/main/docs/ - # Configuration for webpage theme theme: # Theme: https://squidfunk.github.io/mkdocs-material/ @@ -258,8 +257,8 @@ nav: - FTC: hardware_assembly_FTC.md - Software Setup: - Arduino: software_setup-Arduino.md - - Python - Coming Soon: software_setup-Python.md - - FIRST Tech Challenge - Coming Soon: software_setup-FTC.md + - Python: software_setup-Python.md + - FIRST Tech Challenge Java: software_setup-FTC.md - Examples: - Arduino Examples: examples.md # - Python Examples: @@ -267,5 +266,5 @@ nav: - Resources: resources.md - Support: - Troubleshooting: troubleshooting.md - - Submit Issues: github/file_issue.md - - Contribute: github/contribute.md + - Submit Issues: file_issue.md + - Contribute: contribute.md