Download presentation
Published byMarilynn Robbins Modified over 9 years ago
1
ROBOTC for VEX On-Site Professional Development
2
Troubleshooting Student: My robot won’t stop turning.
3
Troubleshooting Student: I used the auto straightening code, and it compiles, it isn’t working, it’s just being weird.
4
Troubleshooting Student: One of my encoders is counting down even though it’s spinning forward.
5
Troubleshooting Student: My code won’t compile.
6
Radio Control
7
Radio Control An out-of-box VEX Microcontroller comes with basic built-in Radio Control functionality The Radio Control Transmitter can be configured to allow some customization of that built-in functionality Still very limited customizability and usefulness! The ROBOTC firmware enables full customization of how the Radio Control Transmitter signals controls the VEX By default ROBOTC turns off reception from the transmitter to save battery life during autonomous programming One line of code turns it back on
8
Radio Control One Transmitter continuously sends out 6 separate values over 6 separate channels Values range from -127 to 127 Doesn’t something else have values that range from -127 to 127? The “crystal” number must match on the transmitter and receiver The crystal is what controls the frequency of the transmission One transmitter can control multiple robots, so be careful in your classrooms 13 different crystals/frequencies are available
9
Radio Control Reset Since the Radio Control Transmitter can be configured, there’s the possibility that it’s configured inappropriately for our purposes. Watch the Radio Control Setup and Values and Axes (Part 1) Videos in TRC4V, found in Radio Control > Control Mapping Be sure to follow along with the Radio Control Setup Video!
10
Radio Control Signals
11
Radio Control Direct Value Mapping Program Flow Tracing
Values from the transmitter are directly used to control the motors (1:1 ratio) Program Flow Tracing Radio Control with Wait States Radio Control with a Loop (real-time control) Indirect Value Mapping Values from the transmitter are modified before being used to control motors Can make the robot easier to control Appropriate in situations that require more “delicate” movements Notice: the robot reads the right side of the equal sign first
12
Advanced Radio Control
Attach the Arm! Use the Transmitter buttons to control the arm The Transmitter buttons send values of -127, 0, or 127 Would direct mapping or indirect mapping be most appropriate for controlling the arm? Why? More loop control please? Is remote controlling the robot forever always appropriate? Question: Where would the wait statement go if we wanted the robot to be remote controlled for a controlled amount of time? Answer: Nowhere! We need something else. Solution: Timers Can be thought of as internal stopwatches (4 available) Like encoders, timers should be “cleared” anytime before they are used Watch where you clear them!
13
Advanced Radio Control
Wasting Time? The time it takes to turn on the VEX and start Radio Control is wasted time. Could we make the robot wait to start it’s timer until we were ready? Any ideas? Wait for a Transmitter Button press The robot won’t start the timer until we say so The robot also can’t move until we says so Program Flow Trace Could this idea also be used to make a “more friendly” start button on a non-radio controlled robot? Other ideas of how to improve radio control? Use the buttons to initiate common actions Turn 90 degrees, move straight forward, ect
14
Advanced Radio Control
Assigning a function to a button press Auto pickup
15
Radio Control Challenges
TRC4V Videos (recommended) Watch remaining Control Mapping videos 3-5 Race to the Finish Remember to Journal Remember to Pseudocode Shut off your transmitter when it’s not in use! Drastically saves the battery life (and your ears) The transmitter is always transmitting, even if the robot isn’t on
16
Advanced Radio Control Challenges
TRC4V Videos (recommended) Watch remaining Radio Control Videos (Control Mapping, Timers, Buttons sections) Minefield Level 1 Challenge Remember to Pseudocode Remember to Journal RoboDunk First try it Tele-Operated, then Autonomously
17
Competition Templates
VEX Competitions have a “Field Management System” in place Manages when robots are enabled/disabled Determines whether the robots are in autonomous/tele-operated mode A Competition Template is available that can be programmed in to work with the Field Management System Contains autonomous and tele-operated sections Found in the Sample Programs > Competition folder
18
Troubleshooting Student: My loop should only be running for 1 minute, but it never stops.
19
Touch Sensors Touch Sensor Check How they work Two Types
Front sensor plugged into A/D 1 Rear Sensor plugged into A/D 4 How they work Digital sensor - Pressed or Released Watch out for “bouncing” Two Types Limit Switches – on Squarebot 3.0 Bumper Switches Setting them up ROBOTC Motors and Sensors Setup window Using them The SensorValue[] command
20
Touch Sensors Start Button Fine-tuned arm control
Remember back to how we used the Transmitter button to start the timer portion of the program. How would we implement the same thing with the limit switch? Fine-tuned arm control Using the limit switches to tell the robot when it has reached it’s minimum and maximum points
21
Touch Sensor Challenges
Quick-tap Challenge Incorporating Sensors, Variables, Loops, If Statements, Timers, Boolean Logic, Pseudocoding, and FUN all into one activity Addition & Subtraction Everything you just learned, but with another twist
22
The Ultrasonic Rangefinder
Ultrasonic Rangefinder Check Input wire plugged into A/D Port 5 Output wire plugged into INT Port 1 How they work Similar to how bats and submarines work Digital sensor – but returns distance values between 0 & 255 (Can also return values of -1 or -2 if used improperly) Resolution is in inches (a value of 5 = 5 inches away) Setting them up ROBOTC Motors and Sensors Setup window Using them Be careful not to use them immediately as your program starts – they take time to initialize and will return negative values The SensorValue[] command
23
The Ultrasonic Rangefinder
Forward until Near Move forward until the robot is “near” an object, then stop Thresholds Automatic Pick-up Forward until Near + picking up the mine Assign to a button
24
Sensor Challenges TRC4V Videos (recommended)
Watch Remaining Sensing Section Videos Minefield Level 2 Challenge Remember to Pseudocode Remember to Journal The two are not mutually exclusive! The Speed of Sound Sonic Scanner Level 2 (Start)
25
Potentiometers Potentiometer Check How they work Setting them up
Sensor plugged into A/D 1 How they work Analog sensor Measures rotation of a shaft between 0 and ~265 degrees Returns values 0 – ~1023 Internal mechanical stop Setting them up ROBOTC Motors and Sensors Setup window Using Analog and Digital Sensors Using them The SensorValue[] command
26
Potentiometers Variable Speed Program Arm Control
Use the rotation of the potentiometer to control how fast the robots motors spin Arm Control Instead of using the limit switches, use the potentiometer to control how far the arm is allowed to swing up and down
27
Servo Motors Very similar in appearance to the normal motor
Very different in operation Rotates between 0 and 120 degrees Where the motor is set to a “power value” the servo is set to a “position value” -127 = 0 degrees, 0 = 60 degrees, 127 = 120 degrees, ect Servo motors are programmed exactly the same way as normal motors in ROBOTC, so the programmer must know the hardware and intent
28
Pneumatics
29
Pneumatics Solenoids operate as Digital Outputs
Are plugged into Analog/Digital Ports Are set to open by setting them to 1 Are set to close by setting them back to 0 Demo in ROBOTC
30
End of Day Challenge Minefield Level 2
Incorporate an autonomous scoring behavior before your tele-operated code begins One “mine” should always be in the same place, near the goal
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.