Sample FTC Blocks Opmodes: Difference between revisions
(Added article content) |
(Added links) |
||
Line 8: | Line 8: | ||
* [https://ortop.org/ftc/BlocksProgramming/Use%20Encoders.blk|Use Motor Encoders to Control Autonomous Driving] Uses motor encoders to control movement of the robot on the playing field. Can be modified to implement other autonomous driving sequences. Also see YouTube video on this subject. | * [https://ortop.org/ftc/BlocksProgramming/Use%20Encoders.blk|Use Motor Encoders to Control Autonomous Driving] Uses motor encoders to control movement of the robot on the playing field. Can be modified to implement other autonomous driving sequences. Also see YouTube video on this subject. | ||
* Detect RELIC RECOVERY VuMark Targets Using Robot Controller Phone’s Camera and display type, relative location and direction | * [https://ortop.org/ftc/BlocksProgramming/VuMarkDetect.blk|Detect RELIC RECOVERY VuMark Targets Using Robot Controller Phone’s Camera and display type, relative location and direction] | ||
* Display REV Color-Distance Sensor Readings | * [https://ortop.org/ftc/BlocksProgramming/REV-Color-Distance-Read.blk|Display REV Color-Distance Sensor Readings] | ||
* Display Modern Robotics Optical Distance Sensor Light Detected Readings | * [https://ortop.org/ftc/BlocksProgramming/ODS-Read.blk|Display Modern Robotics Optical Distance Sensor Light Detected Readings] | ||
* Display Modern Robotics Range Sensor Light Detected Readings | * [https://ortop.org/ftc/BlocksProgramming/MR-RangeSensor-Read.blk|Display Modern Robotics Range Sensor Light Detected Readings] | ||
* Display Modern Robotics Color Sensor Readings | * [https://ortop.org/ftc/BlocksProgramming/MR-Color-Sensor-Read.blk|Display Modern Robotics Color Sensor Readings] | ||
* Follow White Line Using REV Color-Distance Sensor | * [https://ortop.org/ftc/BlocksProgramming/Follow%20White%20Line.blk|Follow White Line Using REV Color-Distance Sensor] | ||
Use the Display REV Color-Distance Sensor Readings op mode above to measure light values for the line and its background. Average them and use this value to adjust threshold in the code for the op mode. This op mode can be adapted to other sensors by referring to the other display programs above. | |||
* Parallel Programming Template — an advanced technique for complex situations. | * [https://ortop.org/ftc/BlocksProgramming/ParallelProgramming.blk|Parallel Programming Template] — an advanced technique for complex situations. | ||
This sample op mode does nothing but includes comments that give hints on how three functions might be executed in pseudo parallel. This approach may be helpful if you need your robot to do two or three things at once during autonomous mode. Each function may need a state variable to help it keep track where it is in performing a sequence of tasks. A state variable can be a numeric variable with a different integer value for each step in the sequence. Each function can check its state variable to determine what it is currently doing and change the variable’s value if it’s time to do something different. | This sample op mode does nothing but includes comments that give hints on how three functions might be executed in pseudo parallel. This approach may be helpful if you need your robot to do two or three things at once during autonomous mode. Each function may need a state variable to help it keep track where it is in performing a sequence of tasks. A state variable can be a numeric variable with a different integer value for each step in the sequence. Each function can check its state variable to determine what it is currently doing and change the variable’s value if it’s time to do something different. | ||
Line 28: | Line 27: | ||
If your robot does a sequence of things in stages with each stage containing certain actions, you will probably find it easier to perform each stage in sequence rather than using the parallel approach in the template above. You can put the code for each stage in the main op mode or put it in a Blocks function, which is called by the main op mode. Either way, you should always check isStopRequested before starting each stage and during any loops. See the video on Ensuring Your Robot Will Stop described above. | If your robot does a sequence of things in stages with each stage containing certain actions, you will probably find it easier to perform each stage in sequence rather than using the parallel approach in the template above. You can put the code for each stage in the main op mode or put it in a Blocks function, which is called by the main op mode. Either way, you should always check isStopRequested before starting each stage and during any loops. See the video on Ensuring Your Robot Will Stop described above. | ||
* Driving forward without encoders, back with encoders, checking for stop requested at each step | * [https://ortop.org/ftc/BlocksProgramming/DriveForwardBackWithEncodersFixed2.blk|Driving forward without encoders, back with encoders, checking for stop requested at each step] | ||
This sample program combines examples of autonomous driving with good practice in monitoring stop requests so the robot will pass inspection and behave well on the field. | This sample program combines examples of autonomous driving with good practice in monitoring stop requests so the robot will pass inspection and behave well on the field. | ||
* Text to Speech Demonstration | * [https://ortop.org/ftc/BlocksProgramming/SpeechDemo.blk|Text to Speech Demonstration] Demonstration of text-to-speech feature included in Blocks Programming. | ||
* Using Tensor Flow to Find and Grab Rover Ruckus Gold Minerals | * [https://ortop.org/ftc/BlocksProgramming/SeekGoldConverge.blk|Using Tensor Flow to Find and Grab Rover Ruckus Gold Minerals] Demonstrates how to use Tensor Flow during the Autonomous Period to find and pick up gold minerals. This file can also be accessed via [https://tinyurl.com/SeekGoldBLK tinyurl.com/SeekGoldBLK] | ||
Here’s a link to a PDF file showing the blocks of this Op Mode that you can display or print: [https://tinyurl.com/SeekGoldPDF|tinyurl.com/SeekGoldPDF] | Here’s a link to a PDF file showing the blocks of this Op Mode that you can display or print: [https://tinyurl.com/SeekGoldPDF|tinyurl.com/SeekGoldPDF] | ||
* Using Tensor Flow to Seek, Find and Grab a Skystone | * [https://drive.google.com/open?id=1k1D8FfesviQeY3lKynrQUcPEDpUbLxkT|Using Tensor Flow to Seek, Find and Grab a Skystone] Demonstrates how to use Tensor Flow during the Autonomous Period to seek, find and touch a SKYSTONE. This file can also be access via https://tinyurl.com/SeekSkystoneBLK Here’s a link to a PDF file showing the blocks of this Op Mode that you can display or print: [https://tinyurl.com/SeekSkystonePrint|tinyurl.com/SeekSkystonePrint] |
Revision as of 22:21, 31 July 2020
Sample Op Mode Programs
As discussed earlier, there are over a dozen sample op modes available from a drop-down menu when you create a new op mode. Here are some additional sample op modes. You can download them to your computer (by right clicking) and then use the Upload Op Mode button on the Blocks main menu to add them to your list of op modes. Review the comments in each sample for information on connecting motors and sensors and setting up a matching config file. All of these op modes are intended to be used during the Autonomous period. Display the op mode by selecting it from the list after you have uploaded it. If it is labeled as TeleOp to the right of its name, change it to Autonomous and Save it. This will cause it to correctly appear in the left menu on the Driver Station menu.
Uses the gyroscope built into the REV Expansion Hub to allow an autonomous op mode to move straight and turn. You can modify it to implement other autonomous driving sequences.
- Motor Encoders to Control Autonomous Driving Uses motor encoders to control movement of the robot on the playing field. Can be modified to implement other autonomous driving sequences. Also see YouTube video on this subject.
Use the Display REV Color-Distance Sensor Readings op mode above to measure light values for the line and its background. Average them and use this value to adjust threshold in the code for the op mode. This op mode can be adapted to other sensors by referring to the other display programs above.
- Programming Template — an advanced technique for complex situations.
This sample op mode does nothing but includes comments that give hints on how three functions might be executed in pseudo parallel. This approach may be helpful if you need your robot to do two or three things at once during autonomous mode. Each function may need a state variable to help it keep track where it is in performing a sequence of tasks. A state variable can be a numeric variable with a different integer value for each step in the sequence. Each function can check its state variable to determine what it is currently doing and change the variable’s value if it’s time to do something different.
- Programming your op mode for the Autonomous Period as a sequence of stages. (Template to be linked later)
If your robot does a sequence of things in stages with each stage containing certain actions, you will probably find it easier to perform each stage in sequence rather than using the parallel approach in the template above. You can put the code for each stage in the main op mode or put it in a Blocks function, which is called by the main op mode. Either way, you should always check isStopRequested before starting each stage and during any loops. See the video on Ensuring Your Robot Will Stop described above.
This sample program combines examples of autonomous driving with good practice in monitoring stop requests so the robot will pass inspection and behave well on the field.
- to Speech Demonstration Demonstration of text-to-speech feature included in Blocks Programming.
- Tensor Flow to Find and Grab Rover Ruckus Gold Minerals Demonstrates how to use Tensor Flow during the Autonomous Period to find and pick up gold minerals. This file can also be accessed via tinyurl.com/SeekGoldBLK
Here’s a link to a PDF file showing the blocks of this Op Mode that you can display or print: [1]
- Tensor Flow to Seek, Find and Grab a Skystone Demonstrates how to use Tensor Flow during the Autonomous Period to seek, find and touch a SKYSTONE. This file can also be access via https://tinyurl.com/SeekSkystoneBLK Here’s a link to a PDF file showing the blocks of this Op Mode that you can display or print: [2]