CONTROL SYSTEM GUIDE 2018-2019 FTC - More Than Robots - FIRST Tech Challenge UK
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
TABLE OF CONTENTS About 1 Control System Hardware 2 FTC Control System Hardware Overview 2 Main Power Switch 2 Robot Main Battery 2 Android Device 2 Control Modules 3 Motor and Servo Controllers 3 DC Motors 4 Sensors 5 Wiring the FTC Control System 7 Best Practices for Wiring 7 Mounting the Android Device 7 Wire Management and Strain Relief 8 Documentation 8 Labelling 8 Re-Check Early and Often 8 Check Logs 8 Status Light Quick Reference 8 REV 9 Control System Software 9 FTC Control System Software Overview 9 Android Applications 9 Configuring the Android Device 9 Installing the FIRST® Tech Challenge Applications 9 FTC Robot Controller Overview 10 FTC Driver Station Overview 11 FTC Robot Controller and FTC Driver Station Best Practices 12 FTC Blocks Programming 12 Accessing the Robot Controller Console 12 Creating a Benchtop Test Programme 12 FTC Blocks References 13 Using Actuators 14 Driving a Robot Using Differential Drive 15 Driving a Robot Using Mecanum Drive 15 Controlling Servos 15 On/Off Control of Motors ftc-uk.org More Than Robots™
Using Sensors 16 Encoder 17 REV Robotics Colour Sensor 18 REV Robotics Potentiometer 18 REV Robotics Touch Sensor 19 REV Robotics Magnetic Limit Switch 19 REV Robotics 2m Distance Sensor 19 Driver Station Inputs and Outputs 20 Telemetry 20 Miscellaneous 22 Communicating with other Team Members 22 Control Award 22 ftc-uk.org More Than Robots™
About One goal of FIRST® is to recognise the engineering design process and the journey that a team makes: the phases of problem definition, concept design, system-level design, detailed design, test and verification, and production of the robot. The 2018-2019 FIRST® Tech Challenge Control System guide compiles various FTC® resources into one document and serves as a starting point for anyone who wants to learn more about the control system. It is specifically tailored to rookie teams in the UK and Ireland, as the hardware components mentioned in this guide are the ones in their kit of parts; however, other rookie teams should find the guide equally useful. The guide is broken up into three parts: Control System Hardware, Control System Software, and FTC Blocks Programming. It is vital that the programming section is only approached once the content in the first two sections is understood. The Editor Kaito Arai is a senior (upper sixth) student at the American School in London, where he has respectively competed in the FIRST® Lego League (FLL) and FIRST® Robotics Challenge (FRC) for two and three years. In both programmes, he has taken major programming duties, making him knowledgeable about FIRST® control systems. His experience teaching about FIRST® control systems comes from mentoring FLL teams and educating his FRC team members on programming. 1 ftc-uk.org More Than Robots™
CONTROL SYSTEM HARDWARE FTC Control System Hardware Overview Main Power Switch REV Robotics Switch Cable and Bracket The Robot Main Power Switch must control all power provided by the Robot main battery pack. This is the safest method for Teams and Field personnel to shut down a Robot. Add this switch between the battery and Expansion Hub to have on/off control of the robot. Mount the switch slightly recessed from the outside of the robot so that it is not accidentally turned off by another robot during a match. Robot Main Battery REV Robotics 12V Slim Battery All Robot power is provided by a single 12V Robot main battery. This 10-cell, 12V 3000mAh battery has a low- profile configuration to make it easier to mount on a robot. The Slim Battery pack is wired with an XT30 male connector and an inline 20A replaceable ATC fuse. Android Device Motorola Moto G (2nd Generation) A FIRST® Tech Challenge Robot is controlled by an Android-based platform powered by Snapdragon processors. Teams will use two Android devices to control their Robot. One Android device will be mounted directly onto the Robot and act as a Robot Controller. The other Android device will be connected to a pair of gamepads and will act as the Driver Station 2 ftc-uk.org More Than Robots™
Control Modules REV Robotics Expansion Hub An integrated electronic device with four (4) DC motor channels, six (6) servo channels, eight (8) digital I/O channels, four (4) analogue input channels, and four (4) independent I2C buses. The REV Expansion Hub draws power from an approved 12V battery to power these input/ output channels. The REV Expansion Hub is a hardware controller which can communicate with any computer, including Android tablets/phones and the REV Control Hub. The Expansion Hub is loaded with hardware interface options to enable driving motors and servos, interfacing with sensors, and communicating with other devices via several protocol options. The Hub incorporates ESD and reverse polarity protection and is purpose-built to stand up to the rigors of use in the classroom or on the competition field. In addition to the built- in protections, the Hub also features keyed and locking connectors to prevent connection problems in the heat of competition and is fully Motor and Servo Controllers REV Robotics SPARKmini An electronic device that accepts a PWM control signal (from a servo controller) and supplies 12V power to a DC motor. The SPARKmini is an in-line brushed DC motor controller designed to offer the same performance characteristics as the REV Expansion Hub motor ports but in a 60mm x 22mm footprint. SPARKmini responds to the same control signals as standard RC servos, so connect it to a free servo port and it’s ready to go. Power can be connected to a free XT30 port on the Expansion 3 ftc-uk.org More Than Robots™
DC Motors REV Robotics Core Hex Motor The Core Hex Motor is an FTC legal motor that features a 90-degree orientation and a female output shaft for maximum flexibility and ease of use. Insert any of the REV standard 5mm hex shafts into or through the Core Hex motor to create custom length motor output shafts. The Core Hex motor has a built-in magnetic quadrature encoder which is compatible with 5V or 3.3V logic level devices including the Expansion Hub. REV Robotics HD Hex Motor Version 2 The HD Hex Motor is an FTC legal motor that features a gearbox and an encoder mounted to the back side of the motor. 5mm hex output shaft makes it easy to connect gears, sprockets, wheels, etc. Motor specifications are similar in size and power to other FTC motors with a more convenient output shaft. REV Robotics Smart Robot Servo The REV Smart Robot Servo (SRS) is a configurable metal-geared servo that takes the guesswork out of aligning and adjusting servo- based mechanisms. One SRS can be used as a standard angular servo, a custom angular servo, and a continuous rotation servo by simply changing its settings. 4 ftc-uk.org More Than Robots™
Sensors REV Robotics Core Hex Motor The Core Hex Motor is an FTC legal motor that features a 90-degree orientation and a female output shaft for maximum flexibility and ease of use. Insert any of the REV standard 5mm hex shafts into or through the Core Hex motor to create custom length motor output shafts. The Core Hex motor has a built-in magnetic quadrature encoder which is compatible with 5V or 3.3V logic level devices including the Expansion Hub. REV Robotics Potentiometer The HD Hex Motor is an FTC legal motor that features a gearbox and an encoder mounted to the back side of the motor. 5mm hex output shaft makes it easy to connect gears, sprockets, wheels, etc. Motor specifications are similar in size and power to other FTC motors with a more convenient output shaft. REV Robotics Touch Sensor The REV Smart Robot Servo (SRS) is a configurable metal-geared servo that takes the guesswork out of aligning and adjusting servo- based mechanisms. One SRS can be used as a standard angular servo, a custom angular servo, and a continuous rotation servo by simply changing its settings. 5 ftc-uk.org More Than Robots™
REV Robotics Magnetic Limit Switch The magnetic limit switch is a three-sided active-low digital hall effect switch with three internal hall effect elements located on the top and sides of the sensor. The three elements are connected in parallel so that any one of them will trigger the sensor. Hall effect sensors detect the presence of magnetic fields. The magnetic limit switch is an omni polar momentary switch meaning it will trigger when there is sufficient field strength of either magnetic pole (north or south) detected. REV Robotics 2m Distance Sensor The 2m distance sensor uses the ST Microelectronics VL53L0X Time-of-Flight laser- ranging module to measure distances up to 2 meters with millimetre resolution. Unlike other ranging sensors that rely on the intensity of reflected light, this sensor can measure how long it takes for the light to bounce back, the “time of flight.” This results in much more accurate measurements that are independent of the target’s reflectance. 6 ftc-uk.org More Than Robots™
Wiring the FTC Control System The diagram above shows how different devices connect to the REV Expansion Hub. It is imperative that the devices are connected to the correct type of port, otherwise it will not function properly. Pay special attention to the differences between the analog, digital, and I2C ports, as they are visually identical. Also, give attention to the orientation in which the PWM cable is plugged in: the ground (black) wire should be towards the left side on the REV Expansion Hub Best Practices for Wiring Mounting the Android Device When attaching the Android Phone to the robot, there are many things to keep in mind. 1. It is imperative that the phone is protected from robot-to-robot contact. 2. The phone should be mounted such that it is not in contact with any metal components on the robot. If it is in contact with metal, the phone becomes susceptible to electrostatic discharge (ESD). 3. Similarly, teams should avoid surrounding the phone in metal. If it is mounted at the bottom of a robot and surrounded by metal, the metal can interfere with the phone’s Wi-Fi connection. 4. Make sure that the phone is easily accessible for charging, programming, and emergencies. 7 ftc-uk.org More Than Robots™
5. Make sure that the phone is mounted such that the camera is available for Vuforia if desired. 6. Make sure that all wires connected to the phone are securely mounted and are not in danger of being bumped, damaged, or disconnected. It is essential that there is no chance of stress being placed on the wire that connects to the phone. If the wire is stressed, the phone port could be ruined. Wires should be tied down, and there should be no movement around the port. Phone mounts are available from a variety of different sources for FIRST® Tech Challenge teams. Wire Management and Strain Relief One of the most critical components to robot reliability and maintenance is good wire management and strain relief. Good wire management is comprised of a few components: ●● Make sure cables are the correct length. Any excess wire length is just more to manage. If there is extra wire, secure the extra into a small bundle using separate cable ties before securing the rest of the wire. ●● Ensure that cables are secured close to connection points, with enough slack to avoid putting strain on connectors. This is called strain relief and is critical to minimising the likelihood that a cable comes unplugged or a wire breaks off at a connection point. ●● Secure cables near any moving components. Make sure that all wire runs are secure and protected from moving components, even if the moving components were to bend or over-travel. ●● Secure cables at additional points as necessary to keep wiring neat and clean. Take care to not over secure wires; if wires are secured in too many locations, it may actually make troubleshooting and maintenance more difficult. Documentation A great way to make maintenance easier is to create documentation describing what is connected where on the robot. There are a number of ways of creating this type of documentation which ranges from complete wiring diagrams to excel charts to a quick list of what functions are attached to which channels. Many teams also integrate these lists with labelling. When a wire is accidentally cut, or a mechanism is malfunctioning, or a component burns out, it will be much easier to repair with documentation of what is connected where rather than having to trace the wiring all the way through. Labelling Labelling is a great way to supplement the wiring documentation described above. There are many different strategies to labelling wiring and electronics, all with their own pros and cons. Labels for electronics and flags for wires can be made by hand, using a label maker, or use different Colours of electrical tape or labelling flags to indicate 8 ftc-uk.org More Than Robots™
Re-Check Early and Often Re-check the entire electrical system as thoroughly as possible after playing the first match or two (or doing very vigorous testing). The first few impacts the robot sees may loosen fasteners or expose issues. Create a checklist for re-checking electrical connections on a regular basis. Documentation Take good care of the batteries. A bad battery can easily cause a robot to function poorly, or not at all, during a match. Label all of the batteries to help keep track of usage during the event. Many teams also include information such as the age of the battery on this label. ●● Do not overcharge. Disconnect the battery from the charger once it indicates a full charge. Typical charge time does not exceed 2 hours. Do not charge a battery that hasn’t been discharged significantly. For example, running the robot under minimal load for a few minutes will not significantly discharge the battery. ●● Discharging the battery past 9.0V can reduce the lifespan of the battery and can permanently damage the cells. Periodic dips below 9.0V when under load is expected and OK. For example, don’t forget to unplug the battery when finished running the robot, and don’t run the robot until it completely stops responding. ●● Let the battery cool before and after charging. The battery may feel warm after heavy loading or after charging. This is normal. Check Logs After each match, review the logs to see what the battery voltage and current usage looks like. Once t the normal range of these items is established for the robot, it can help spot potential issues (bad batteries, failing motors, mechanical binding) before they become critical failures. Status Light Quick Reference REV Robotics Expansion Hub Re-check the entire electrical system as thoroughly as possible after playing the first match or two (or doing very vigorous testing). The first few impacts the robot sees may loosen fasteners or expose issues. Create a checklist for re-checking electrical connections on a regular basis. 9 ftc-uk.org More Than Robots™
LED Description Hub Status Solid Blue At Expansion Hub has power; Battery is >7V and is waiting to initialise communications. Solid Blue Hub is waiting for communication with the Driver Station Host. Expansion Hub has power; Battery is >7V. Solid Green Hub has power and active communication with the with one or Android Platform. The number of blue blinks is the more blue same as the Hub’s address. blinks every ~5 Seconds Blinking Blue Keep alive has timed out. The fault will clear when communication resumes. Blinking Orange Battery Voltage is lower than 7V. Either the 12V battery needs to be charged, or the Expansion Hub is running on USB power only. This fault will clear when the battery voltage is raised above 7V. This will not be overwritten by the keepalive timeout pattern. CONTROL SYSTEM SOFTWARE Control System Software Android Applications Robot Controller Application The Robot Controller acts as the “brains” of the robot and does all of the thinking for the robot and tells the robot what to do. Driver Station Application The Driver Station allows a team to communicate remotely using a secure and wireless connection to the Robot Controller and to issue commands to the Robot Controller. Robot Controller Console A programming tool hosted by the Robot Controller. 10 ftc-uk.org More Than Robots™
Configuring the Android Device Checking the Android Version 1. Navigate to Settings > About phone. 2. If the Android version is indicated as 6.0 or higher*, skip to “Naming the Android Device”. Otherwise, go to “Updating the Android Device”. Repeat steps for the other device. * For Motorola Moto G (2nd Generation). For other Android devices, consult in Game Manual Part 1. Updating the Android Device 1. Connect to a Wi-Fi network. 2. Navigate to Settings > About Phone and select System Updates. Follow on- screen instructions to download and install updates. 3. Once updates are complete, refer back to “Checking the Android Version”. Repeat steps for the other device. Naming the Android Device 1. For each device, navigate to Settings > Wi-Fi > Advanced > Wi-Fi Direct > Configure Device. 2. Rename the two devices “[team number]-RC” and “[team number]-DS”, replacing [team number] with the official team number. Wi-Fi Direct inactivity timeout should also be set to “Never Disconnect”. 3. Restart the devices to implement changes. Label the devices with their respective device names to avoid later confusion. Installing the FIRST® Tech Challenge Applications 1. For each Android device, connect to a Wi-Fi network. 2. Navigate to the Play Store and log in to a Google Account, if required, and search “FTC.” 3. Install the FTC Robot Controller app on the ... device and the FTC Driver Station on the ... device. 4. Once the installation is complete, navigate to Settings > Wi-Fi and select the connected Wi-Fi network. Select “Forget” to forget the network. Do not install both applications on the same device, as it could have an adverse effect on network connections! 11 ftc-uk.org More Than Robots™
Configuring Network Settings 1. Navigate to Settings > More then turn Aeroplane mode on. 2. Return to Settings and turn Wi-Fi on. Repeat steps for the other device. Pairing the Android Devices 1. Open Robot Controller and Driver Station on the respective devices. 2. In Driver Station, navigate to Settings > Pair with Robot Controller. Select the Robot Controller and navigate to the main Driver Station screen. 3. Accept the invitation to connect in Robot Controller. Verify that the Network status is displayed as “active, connected” in the Robot Controller. FTC Robot Controller Overview 1. Name of this (Robot Controller) Device 2. Popup menu 3. Name of Active Configuration 4. Network/Robot Status/Op Mode FTC Driver Station Overview 1. Name of this (Driver Station) device 2. Gamepads connected to this device 3. Popup menu 4. Battery level of this (Driver Station) device 5. Name of Active Configuration 6. Name of connected Robot Controller device 7. Ping 8. Battery level of Robot Controller device 9. The voltage of the robot battery 10. Op Mode selection menu 11. Initialise/Enable/Disable menu 12. Output console 12 ftc-uk.org More Than Robots™
Robot Controller and Driver Station Best Practices Before the Competition ●● Do not install any applications other than the FTC Robot Controller and Driver Station on the respective devices.1 ●● One week before the competition, verify that: »» the Android version is 6.0 or higher 2, and »» the Robot Controller and Driver Station applications are version 4.0 or higher and have the same version numbers.* ●● Add retention or strain relief to prevent the gamepad from falling onto the floor and yanking on the USB ports. This helps prevent issues with intermittent controller connections. * Update the Android device and applications as necessary to meet these conditions. 1Ifusing a ZTE speed device, the FTC Wi-Fi Direct Channel Changing App should also be installed on the Robot Controller. 2For Motorola Moto G (2nd Generation). For other Android devices, consult in Game Manual Part 1. At the Competition ●● Charge the Robot Controller and Driver Station devices when in the pit. ●● Disable login passwords or ensure everyone on the drive team knows the password. ●● Do not plan on using internet access to do software updates. There will not be any in the venue, and hotel Wi-Fi varies widely in quality. If updates are necessary, contact a Control System Advisor in the pit. Before each Match ●● Make sure each Android device is on and has the Robot Controller and Driver Station applications open prior to the end of the previous match. ●● Close programmes that aren’t needed during the match when competing. ●● Ensure gamepads are assigned to the correct users. 13 ftc-uk.org More Than Robots™
FTC Blocks Programming This section provides basic code examples using various blocks. The explanations of each sample are intentionally left minimal to encourage inquiry on how each example works and ways in which it could be altered for the robot. Accessing the Robot Controller Console ●● Install Google Chrome on a computer. Other JavaScript-enabled browsers may be used, although Google Chrome is recommended. ●● In Robot Controller or Driver Station, select “Program and Manage”. ●● Connect the computer to the network displayed on the device with the displayed password.Go to the displayed address in the computer’s browser to access the robot controller console. Creating a Benchtop Test Programme The following instructions show how to create and run a basic drivetrain programme. The programme requires motors to be plugged into motor ports 0 and 1 of the REV Expansion Hub and the gamepad to be plugged into the Driver Station. 1. In the Robot Controller or Driver Station, navigate to Configure Robot > New > Expansion Hub Portal 1 > Expansion Hub 1 > Motors. For ports 0 and 1, specify the type of motor attached and respectively name the motors “left_drive” and “right_drive”. Press “Done” three times, then press “Save.” Name the configuration and press “OK.” 2. In the Robot Controller Console, navigate to Blocks > Create New Op Mode. Name the Op Mode and select BasicPOVDrive in the Sample field. Press OK. Press “Save Op Mode.” 3. Press the Start and A button on the gamepad connected to the Driver Station. 4. Select the TeleOp Op Mode and press “INIT.” Press the play button, and the motors should start responding to the joysticks on the gamepad. FTC Blocks References This reference manual provides brief descriptions of each feature of FTC Blocks Programming. Because there are so many features, attempting to read this manual can be overwhelming. It helps to remember that reference manuals are not meant to be read like a tutorial or a training manual. Rather, it should be used more like a dictionary where features can be looked up as needed. The Blocks Programming Reference Manual can be found here: goo.gl/ay2AC7 14 ftc-uk.org More Than Robots™
Using Actuators An actuator is a component of a machine that is responsible for moving and controlling a mechanism or system. In simple terms, it is a “mover.” Configuring Motors In Robot Controller or Driver Station, navigate to Configure Robot > New* > Expansion Hub Portal 1 > Expansion Hub 1 > Motors. *If editing an existing configuration, select “Edit” under the correct configuration name. For each port, specify the motor type attached and the motor name. If no motors are attached to a port, leave the Attached field as “Nothing” and the motor name blank. Setting Parameters The following blocks should be run during initialisation, i.e. outside the loop. Setting Direction The above block can be found under Actuators > DcMotor in the left menu. Select the motor name in the first parameter, and select FORWARD or REVERSE to set the direction. If using the REV HD Hex Motors on the drivetrain, this block is likely needed to make the robot drive functionally. Setting Zero Power Behaviour The above block can be found under Actuators > DcMotor in the left menu. Select the motor name in the first parameter, and select one of the following behaviours in the second parameter: ●● BRAKE: Motor’s axle stops ●● FLOAT: Motor’s axle rotates but does not generate torque 15 ftc-uk.org More Than Robots™
Setting Power The above block can be found under Actuators>DcMotor in the left menu. Select the motor name in the first parameter and enter a numeric value from -1.0 (full reverse) to 1.0 (full forward) to set the power. ●● When the RunMode is RUN_USING_ENCODER or RUN_TO_POSITION the value provided for power is used by the motor controller as the target speed to adjust power levels provided to the motor. The maximum speed is based on the brand and model of the motor specified in the configuration file. Driving a Robot Using Differential Drive There are two ways to control differential drives: ●● Arcade Drive: Two joystick axes respectively control speed and rotation. ●● Tank Drive: Two joystick axes respectively control the left and right speeds. Motors often come in pairs in drivetrains; hence, dual blocks should be used, as they allow two motors to be controlled within one block. Arcade Drive In the example below, the Y-axis of the left joystick controls speed, while the X-axis of the right joystick controls rotation. Tank Drive In the example above, the Y-axis of the left and right joystick respectively control the left and right speeds. 16 ftc-uk.org More Than Robots™
Driving a Robot Using Mecanum Drive In the example below, the X and Y-axis of the left joystick respectively control X and Y speed, while the X-axis of the right joystick controls rotational velocity. Controlling Servos The block below can be found under Actuators>Servo in the left menu. Select the servo name in the first parameter and enter a numeric value from 0 to 180 to set On/Off Control of Motors In the below example, if the value of condition is true, then the motor is on; otherwise, it is off. Replace the condition with other Boolean statements to make the example functional. 17 ftc-uk.org More Than Robots™
Using Sensors A sensor is a device, module, or subsystem whose purpose is to detect events or changes in its environment and send the information to other electronics. REV Robotics Expansion Hub Inertial Measurement Unit (IMU) Use the IMU for the drivetrain to drive straight and turn accurately. Configuring the IMU In Robot Controller or Driver Station, navigate to Configure Robot > New* > Expansion Hub Portal 1 > Expansion Hub 1 > I2C Bus 0. *If editing an existing configuration, select “Edit” under the correct configuration name. Select “REV Expansion Hub IMU” under Attached and name the device. Using the IMU In the example across, the orientation of the robot is read through the REV Expansion Hub’s built-in IMU to make the robot drive straight. Kp, the proportional gain constant, controls how sensitive the drivetrain is to changes in its heading. Larger values make the drivetrain more responsive, but excessively large values will cause the drivetrain to overcorrect itself, creating undesired oscillations. In order to use the IMU, it must be initialised using a set of parameters, which can be set using the blocks under IMU-BNO055.Parameters. For this example, the only important parameter is the Angle Unit. The orientation of the Z-axis of the IMU is measured, as it is the first axis listed in the axesOrder parameter of getAngularOrientation. The Z-axis is the axis perpendicular to the REV Expansion Hub; therefore, the example assumes that the Expansion Hub is laid flat. If the REV Expansion Hub is mounted in a different orientation, change the measured axis to make the example functional. 18 ftc-uk.org More Than Robots™
Encoder Use encoders for the drivetrain to drive straight and to drive exact distances. Alternatively, use encoders on mechanisms to accurately put it in various positions. Configuring the Encoder The encoder is configured automatically when the corresponding motor is configured. It is imperative that the correct motor type is selected when configuring the motor. 19 ftc-uk.org More Than Robots™
Resetting Encoders The block below can be found under Actuators > DcMotor in the left menu. Select the corresponding motor name of the encoder to be reset in the first parameter. Using the Encoder In the above example, the position of the motor is retrieved. Note that the unit of the returned value is in counts. 1 rotation of the output shaft is respectively equivalent to 288 and 1120 counts on the Core Hex and HD Hex Motors. REV Robotics Colour Sensor Use the colour sensor to detect the colour of objects or the robot’s distance from an object. Using the Colour Sensor to Measure Distance In the example below, the distance measured by the sensor is retrieved. Specify the unit of the value as centimetres, inches, metres, or millimetres. REV Robotics Potentiometer Use the potentiometer on mechanisms to accurately put it in various positions. Support for this sensor will be available when REV Robotics provides documentation. 20 ftc-uk.org More Than Robots™
REV Robotics Touch Sensor Use the REV Robotics Touch Sensor to limit a mechanism’s range of motion at a hard stop or use it to detect when the robot has hit an object. Configuring the Touch Sensor In Robot Controller or Driver Station, navigate to Configure Robot > New* > Expansion Hub Portal 1 > Expansion Hub 1 > Digital Devices. *If editing an existing configuration, select “Edit” under the correct configuration name. For each touch sensor, select “Digital Device” as the attached device next to the odd-numbered port of the two channels listed next to the digital port and name the device. Using the Touch Sensor In the example below, the Op Mode is paused until the touch sensor is pressed. Notice how the condition for stopping the loop is either the touch sensor being pressed, or a stop being requested. This is so that pressing the stop button in Driver Station will actually stop the robot. REV Robotics Magnetic Limit Switch Use the REV Robotics Magnetic Limit Switch to detect certain positions of a mechanism. The magnetic limit switch operates within the same principle as the touch sensor in the software. Follow the same instructions as those of the touch sensor to programme the magnetic limit switch. REV Robotics 2m Distance Sensor Use the REV Robotics Distance Sensor to measure an object’s distance from a certain object. Support for this sensor will be available when REV Robotics provides documentation. 21 ftc-uk.org More Than Robots™
Driver Station Inputs and Outputs Assigning Gamepads Press the Start and A button on the gamepad simultaneously to assign a gamepad to User 1. Alternatively, press the Start and B button to assign a gamepad to User 2. In the above example, several gamepad values are retrieved using blocks found under Gamepad on the left menu. Select the gamepad name in the first parameter and gamepad value in the second. Pay close attention to the type of value each gamepad value returns. Telemetry Telemetry is a way to display information about the robot, such as sensor data, motor status, and gamepad state, in the Driver Station. Displaying appropriate data can help spot bugs in the program. 22 ftc-uk.org More Than Robots™
Adding Data The blocks below are found under Utilities>Telemetry in the left menu. The first block adds numeric data, while the second adds textual data. The resulting output of the blocks above would be: key: 123 key: text Replace the number and text parameters with relevant robot data and the key parameter with text that makes the data identifiable. Updating Data If the telemetry data should be updated periodically, place the block below and Telemetry.addData blocks inside the loop. 23 ftc-uk.org More Than Robots™
MISCELLANEOUS Communicating with other Team Members For Software Engineers ●● Update the Project Manager on programming progress every session. ●● Discuss which actuators and sensors are necessary to make drivetrains and mechanisms controllable with the Drivetrain and Manipulator Engineers. ●● Discuss safe programming practices with the Health and Safety Captain. ●● Help the Document Controller record the following in the Engineering Notebook: »» Team goals for control activities »» Strategies for autonomous mode »» Robot performance with and without added sensors »» Requirements for successful autonomous operation »» Performance improvements using algorithms and sensors »» Testing results ●● Give IT support to the Media Coordinator. ●● Discuss autonomous strategies with the Strategy Officer. ●● Discuss wiring of actuators and sensors with the Electrical Engineers. ●● Discuss robot controls with the Drivers. For Electrical Engineers ●● Update the Project Manager on progress with electronics every session. ●● Wire actuators and sensors for drivetrains and mechanisms with the Drivetrain and Manipulator Engineers. ●● Discuss electronics safety with the Health and Safety Captain. ●● Discuss wiring of actuators and sensors with the Software Engineers. ●● Help the Document Controller record details on electronics in the Engineering Notebook. ●● Help the Design Officer CAD electronics. ●● Help the Inventory Specialist keep an inventory of electronics. Control Award This section will be updated after kickoff. 24 ftc-uk.org More Than Robots™
“The kids aren’t building robots, the robots are building the kids” Dean Kamen, Founder ftc-uk.org More Than Robots™
You can also read