EHSFTC

所属分类:机器人/智能制造
开发工具:Java
文件大小:26378KB
下载次数:0
上传日期:2023-01-24 21:34:03
上 传 者sh-1993
说明:  欢迎来到EHS机器人俱乐部的GitHub存储库,这里也将被用作我们的主要社区中心,意味着...
(Welcome to the EHS robotics club s GitHub repository, this will also be used as our primary community center and means of communication. Also be sure to join our remind for on the go updates @EHSFTC21)

文件列表:
.idea (0, 2021-08-27)
.idea\compiler.xml (170, 2021-08-27)
.idea\jarRepositories.xml (1267, 2021-08-27)
.idea\misc.xml (415, 2021-08-27)
CODE_OF_CONDUCT.md (5231, 2021-08-27)
Cad_Assets (0, 2021-08-27)
Cad_Assets\chk.txt (1, 2021-08-27)
FtcRobotController (0, 2021-08-27)
FtcRobotController\build.gradle (556, 2021-08-27)
FtcRobotController\src (0, 2021-08-27)
FtcRobotController\src\main (0, 2021-08-27)
FtcRobotController\src\main\AndroidManifest.xml (2457, 2021-08-27)
FtcRobotController\src\main\assets (0, 2021-08-27)
FtcRobotController\src\main\assets\FTC_2016-17.dat (682924, 2021-08-27)
FtcRobotController\src\main\assets\FTC_2016-17.xml (444, 2021-08-27)
FtcRobotController\src\main\assets\RelicVuMark.dat (80294, 2021-08-27)
FtcRobotController\src\main\assets\RelicVuMark.xml (176, 2021-08-27)
FtcRobotController\src\main\assets\StonesAndChips.dat (409351, 2021-08-27)
FtcRobotController\src\main\assets\StonesAndChips.xml (285, 2021-08-27)
FtcRobotController\src\main\assets\UltimateGoal.dat (426823, 2021-08-27)
FtcRobotController\src\main\assets\UltimateGoal.tflite (3208920, 2021-08-27)
FtcRobotController\src\main\assets\UltimateGoal.xml (537, 2021-08-27)
FtcRobotController\src\main\java (0, 2021-08-27)
FtcRobotController\src\main\java\org (0, 2021-08-27)
FtcRobotController\src\main\java\org\firstinspires (0, 2021-08-27)
FtcRobotController\src\main\java\org\firstinspires\ftc (0, 2021-08-27)
FtcRobotController\src\main\java\org\firstinspires\ftc\robotcontroller (0, 2021-08-27)
... ...

## NOTICE This repository contains the public FTC SDK for the Ultimate Goal (2020-2021) competition season. Formerly this software project was hosted [here](https://github.com/FIRST-Tech-Challenge/Skystone). Teams who are competing in the Ultimate Goal Challenge should use this [new FtcRobotController repository](https://github.com/FIRST-Tech-Challenge/FtcRobotController) instead of last season's (no longer updated) Skystone repository. ## Welcome! This GitHub repository contains the source code that is used to build an Android app to control a *FIRST* Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer. ## Getting Started If you are new to robotics or new to the *FIRST* Tech Challenge, then you should consider reviewing the [FTC Blocks Tutorial](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Blocks-Tutorial) to get familiar with how to use the control system:       [FTC Blocks Online Tutorial](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Blocks-Tutorial) Even if you are an advanced Java programmer, it is helpful to start with the [FTC Blocks tutorial](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Blocks-Tutorial), and then migrate to the [OnBot Java Tool](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/OnBot-Java-Tutorial) or to [Android Studio](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Android-Studio-Tutorial) afterwards. ## Downloading the Project If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository. * If you are a git user, you can clone the most current version of the repository:

            git clone https://github.com/FIRST-Tech-Challenge/FtcRobotController.git

* Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable. * You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the [Releases](https://github.com/FIRST-Tech-Challenge/FtcRobotController/releases) page for this repository. * The Releases page also contains prebuilt APKs. Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)"). ## Getting Help ### User Documentation and Tutorials *FIRST* maintains online documentation with information and tutorials on how to use the *FIRST* Tech Challenge software and robot control system. You can access this documentation using the following link:       [FtcRobotController Online Documentation](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki) Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the *FIRST* Tech Challenge software and control system. ### Javadoc Reference Material The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website:       [FTC Javadoc Documentation](https://first-tech-challenge.github.io/FtcRobotController) ### Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum:       [FTC Technology Forum](https://ftcforum.firstinspires.org/forum/ftc-technology) ### Sample OpModes This project contains a large selection of Sample OpModes (robot code examples) which can be cut and pasted into your /teamcode folder to be used as-is, or modified to suit your team's needs. Samples Folder:    [/FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples](FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples) The readme.md file located in the [/TeamCode/src/main/java/org/firstinspires/ftc/teamcode](TeamCode/src/main/java/org/firstinspires/ftc/teamcode) folder contains an explanation of the sample naming convention, and instructions on how to copy them to your own project space. # Release Information ## Version 6.2 (20210218-074821) ### Enhancements * Attempts to automatically fix the condition where a Control Hub's internal Expansion Hub is not working by re-flashing its firmware * Makes various improvements to the WiFi Direct pairing screen, especially in landscape mode * Makes the Robot Controller service no longer be categorically restarted when the main activity is brought to foreground * (e.g. the service is no longer restarted simply by viewing the Self Inspect screen and pressing the back button) * It is still restarted if the Settings menu or Configure Robot menu is opened ### Bug fixes * Fixes [FtcRobotController issue #71](https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/71) Cannot open OpModes in v6.1 Blocks offline editor * Fixes [FtcRobotController issue #79](https://github.com/FIRST-Tech-Challenge/FtcRobotController/issues/79) 6.1 causes a soft reboot on the Motorola E5 Play * Fixes issue where the Control Hub OS's watchdog would restart the Robot Controller app if the Control Hub was not able to communicate with its internal Expansion Hub * Fixes certain I2C devices not showing up in the appropriate `HardwareMap` fields (such as `hardwareMap.colorSensor`) * Fixes issue where performing a WiFi factory reset on the Control Hub would not set the WiFi band to 2.4 GHz * Fixes issue where OnBotJava might fail to create a new file if the option to "Setup Code for Configured Hardware" was selected * Fixes issue where performing certain operations after an Op Mode crashes would temporarily break Control/Expansion Hub communication * Fixes issue where a Control Hub with a configured USB-connected Expansion Hub would not work if the Expansion Hub was missing at startup * Fixes potential issues caused by having mismatched Control/Expansion Hub firmware versions * Fixes [ftc_app issue 673](https://github.com/ftctechnh/ftc_app/issues/673) Latest matchlog is being deleted instead of old ones by RobotLog * Fixes ConceptVuforiaUltimateGoalNavigationWebcam sample opmode by correctly orienting camera on robot. * Fixes issue where logcat would be spammed with InterruptedExceptions when stop is requested from the Driver Station (this behavior was accidentally introduced in v5.3). This change has no impact on functionality. * Fixes issue where the blocks editor fails to load if the name of any TeleOp opmode contains an apostrophe. ## Version 6.1 (20201209-113742) * Makes the scan button on the configuration screen update the list of Expansion Hubs connected via RS-485 * Fixes [SkyStone issue #143](https://github.com/FIRST-Tech-Challenge/SkyStone/issues/143) * Improves web interface compatibility with older browser and Android System WebView versions. * Fixes issue in UVC driver where some cameras (e.g. certain MS Lifecams) which reported frame intervals as rounded rather than truncated values (e.g. `666667*100ns` instead of `666666*100ns` for 15FPS) would fail to start streaming. * Adds support in UVC driver for virtual PTZ control * Adds support in UVC driver for gain (ISO) control * Adds support in UVC driver for enabling/disable AE priority. This setting provides a means to tell the camera firmware either * A) It can undershoot the requested frame rate in order to provide a theoretically better image (i.e. with a longer exposure than the inter-frame period of the selected frame rate allows) * B) It *must* meet the inter-frame deadline for the selected frame rate, even if the image may be underexposed as a result * Adds support for the Control Hub OS 1.1.2 Robot Controller watchdog * The Robot Controller app will be restarted if it stops responding for more than 10 seconds * Adds support for using the Driver Station app on Android 10+ * Introduces an automatic TeleOp preselection feature * For details and usage guide, please see [this wiki entry](https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Automatically-Loading-a-Driver-Controlled-Op-Mode) * Shows icon next to OpMode name in the OpMode list dropdown on the Driver Station to indicate the source of the OpMode (i.e. the programming tool used to create it) * Fixes issue where the Driver Station app would exit after displaying the Configuring WiFi Direct screen * Fixes Blocks and OnBotJava prompts when accessed via the REV Hardware Client ## Version 6.0 (20200921-085816) ### Important Notes * Version 6.0 is the version for the Ultimate Goal season. * Requires Android Studio 4.0. * Android Studio users need to be connected to the Internet the first time they build the app (in order to download needed packages for the build). * Version 5.5 was a moderately large off-season, August 2020, drop. It's worth reviewing those release notes below also. * Version 5.5 and greater will not work on older Android 4.x and 5.x phones. Users must upgrade to an approved Android 6.x device or newer. * The default PIDF values for REV motors have been reverted to the default PID values that were used in the 2018-2019 season * This change was made because the 2018-2019 values turned out to work better for many mechanisms * This brings the behavior of the REV motors in line with the behavior of all other motors * If you prefer the 2019-2020 season's behavior for REV motors, here are the PIDF values that were in place, so that you can manually set them in your OpModes:
**HD Hex motors (all gearboxes):** Velocity PIDF values: `P = 1.17`, `I = 0.117`, `F = 11.7` Position PIDF values: `P = 5.0` **Core Hex motor:** Velocity PIDF values: `P = 4.96`, `I = 0.496`, `F = 49.6` Position PIDF values: `P = 5.0` ### New features * Includes TensorFlow inference model and sample op modes to detect Ultimate Goal Starter Stacks (four rings vs single ring stack). * Includes Vuforia Ultimate Goal vision targets and sample op modes. * Introduces a digital zoom feature for TensorFlow object detection (to detect objects more accurately at greater distances). * Adds configuration entry for the REV UltraPlanetary HD Hex motor ### Enhancements * Adds setGain() and getGain() methods to the NormalizedColorSensor interface * By setting the gain of a color sensor, you can adjust for different lighting conditions. For example, if you detect lower color values than expected, you can increase the gain. * The gain value is only applied to the argb() and getNormalizedColors() methods, not to the raw color methods. The getNormalizedColors() method is recommended for ease-of-use and clarity, since argb() has to be converted. * Updates SensorColor Java sample to demonstrate gain usage * Merges SensorREVColorDistance Java sample into SensorColor Java sample, which showcases best practices for all color sensors * Improves retrieving values from the REV Color Sensor V3 * Updates the normalization calculation of the RGB channels * Improves the calculation of the alpha channel (can be used as an overall brightness indicator) * Fixes the default sensor resolution, which caused issues with bright environments * Adds support for changing the resolution and measuring rate of the Broadcom sensor chip * Removes IR readings and calculations not meant for the Broadcom sensor chip ### Bug fixes * Improves reliability of BNO055IMU IMU initialization to prevent random initialization failures (which manifested as `Problem with 'imu'`). ## Version 5.5 (20200824-090813) Version 5.5 requires Android Studio 4.0 or later. ### New features * Adds support for calling custom Java classes from Blocks OpModes (fixes [SkyStone issue #161](https://github.com/FIRST-Tech-Challenge/SkyStone/issues/161)). * Classes must be in the org.firstinspires.ftc.teamcode package. * Methods must be public static and have no more than 21 parameters. * Parameters declared as OpMode, LinearOpMode, Telemetry, and HardwareMap are supported and the argument is provided automatically, regardless of the order of the parameters. On the block, the sockets for those parameters are automatically filled in. * Parameters declared as char or java.lang.Character will accept any block that returns text and will only use the first character in the text. * Parameters declared as boolean or java.lang.Boolean will accept any block that returns boolean. * Parameters declared as byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, or java.lang.Long, will accept any block that returns a number and will round that value to the nearest whole number. * Parameters declared as float, java.lang.Float, double, java.lang.Double will accept any block that returns a number. * Adds telemetry API method for setting display format * Classic * Monospace * HTML (certain tags only) * Adds blocks support for switching cameras. * Adds Blocks support for TensorFlow Object Detection with a custom model. * Adds support for uploading a custom TensorFlow Object Detection model in the Manage page, which is especially useful for Blocks and OnBotJava users. * Shows new Control Hub blink codes when the WiFi band is switched using the Control Hub's button (only possible on Control Hub OS 1.1.2) * Adds new warnings which can be disabled in the Advanced RC Settings * Mismatched app versions warning * Unnecessary 2.4 GHz WiFi usage warning * REV Hub is running outdated firmware (older than version 1.8.2) * Adds support for Sony PS4 gamepad, and reworks how gamepads work on the Driver Station * Removes preference which sets gamepad type based on driver position. Replaced with menu which allows specifying type for gamepads with unknown VID and PID * Attempts to auto-detect gamepad type based on USB VID and PID * If gamepad VID and PID is not known, use type specified by user for that VID and PID * If gamepad VID and PID is not known AND the user has not specified a type for that VID and PID, an educated guess is made about how to map the gamepad * Driver Station will now attempt to automatically recover from a gamepad disconnecting, and re-assign it to the position it was assigned to when it dropped * If only one gamepad is assigned and it drops: it can be recovered * If two gamepads are assigned, and have **different** VID/PID signatures, and only one drops: it will be recovered * If two gamepads are assigned, and have **different** VID/PID signatures, and BOTH drop: both will be recovered * If two gamepads are assigned, and have **the same** VID/PID signatures, and only one drops: it will be recovered * If two gamepads are assigned, and have **the same** VID/PID signatures, and BOTH drop: **neither** will be recovered, because of the ambiguity of the gamepads when they re-appear on the USB bus. * There is currently one known edge case: if there are **two** gamepads with **the same** VID/PID signature plugged in, **but only one is assigned**, and they BOTH drop, it's a 50-50 chance of which one will be chosen for automatic recovery to the assigned position: it is determined by whichever one is re-enumerated first by the USB bus controller. * Adds landscape user interface to Driver Station * New feature: practice timer with audio cues * New feature (Control Hub only): wireless network connection strength indicator (0-5 bars) * New feature (Control Hub only): tapping on the ping/channel display will switch to an alternate display showing radio RX dBm and link speed (tap again to switch back) * The layout will NOT autorotate. You can switch the layout from the Driver Station's settings menu. ### Breaking changes * Removes support for Android versions 4.4 through 5.1 (KitKat and Lollipop). The minSdkVersion is now 23. * Removes the deprecated `LinearOpMode` methods `waitOneFullHardwareCycle()` and `waitForNextHardwareCycle()` ### Enhancements * Handles RS485 address of Control Hub automatically * The Control Hub is automatically given a reserved address * Existing configuration files will continue to work * All addresses in the range of 1-10 are still available for Expansion Hubs * The Control Hub light will now normally be solid green, without blinking to indicate the address * The Control Hub will not be shown on the Expansion Hub Address Change settings page * Improves REV Hub firmware updater * The user can now choose between all available firmware update files * Version 1.8.2 of the REV Hub firmware is bundled into the Robot Controller app. * Text was added to clarify that Expansion Hubs can only be updated via USB. * Firmware update speed was reduced to improve reliability * Allows REV Hub firmware to be updated directly from the Manage webpage * Improves log viewer on Robot Controller * Horizontal scrolling support (no longer word wrapped) * Supports pinch-to-zoom * Uses a monospaced font * Error messages are highlighted * New color scheme * Attempts to force-stop a runaway/stuck OpMode without restarting the entire app * Not all types of runaway conditions are stoppable, but if the user code attempts to talk to hardware during the runaway, the system should be able to capture it. * Makes various tweaks to the Self Inspect screen * Renames "OS version" entry to "Android version" * Renames "WiFi Direct Name" to "WiFi Name" * Adds Control Hub OS version, when viewing the report of a Control Hub * Hides the airplane mode entry, when viewing the report of a Control Hub * Removes check for ZTE Speed Channel Changer * Shows firmware version for **all** Expansion and Control Hubs * Reworks network settings portion of Manage page * All network settings are now applied with a single click * The WiFi Direct channel of phone-based Robot Controllers can now be changed from the Manage page * WiFi channels are filtered by band (2.4 vs 5 GHz) and whether they overlap with other channels * The current WiFi channel is pre-selected on phone-based Robot Controllers, and Control Hubs running OS 1.1.2 or later. * On Control Hubs running OS 1.1.2 or later, you can choose to have the system automatically select a channel on the 5 GHz band * Improves OnBotJava * New light and dark themes replace the old themes (chaos, github, chrome,...) * the new default theme is `light` and will be used when you first update to this version * OnBotJava now has a tabbed editor * Read-only offline mode * Improves function of "exit" menu item on Robot Controller and Driver Station * Now guaranteed to be fully stopped and unloaded from memory * Shows a warning message if a LinearOpMode exists prematurely due to failure to monitor for the start condition * Improves error message shown when the Driver Station and Robot Controller are incompatible with each other * Driver Station OpMode Control Panel now disabled while a Restart Robot is in progress * Disables advanced settings related to WiFi direct when the Robot Controller is a Control Hub. * Tint phone battery icons on Driver Station when low/critical. * Uses names "Control Hub Portal" and "Control Hub" (when appropriate) in new configura ... ...

近期下载者

相关文件


收藏者