RobotC for VEX. By Willem Scholten Learning Access Institute

Size: px
Start display at page:

Download "RobotC for VEX. By Willem Scholten Learning Access Institute"

Transcription

1 RobotC for VEX By Willem Scholten Learning Access Institute 1 RobotCgetStarted.key - February 5, 2016

2 RobotC for VEX Section 1 - RobotC How to switch between VEX 2.0 Cortex and VEX IQ Section 2 - RobotC Firmware Updating Section 3 - Establishing VEXnet Link Section 4 - Paring Remote and Cortex Section 5 - RobotC Examples - basic telex robot Section 6 - RobotC and Basic Drive Bot Section 7 - VEX Robotics - RobotC Competition Template 2 RobotCgetStarted.key - February 5, 2016

3 RobotC How to switch between VEX 2.0 Cortex and VEX IQ By Willem Scholten Learning Access Institute 3 RobotCgetStarted.key - February 5, 2016

4 Goto the Robot menu 4 RobotCgetStarted.key - February 5, 2016

5 Goto the Platform Type 5 RobotCgetStarted.key - February 5, 2016

6 Now select platform: VEX 2.0 Cortex (For VEX) VEX IQ 6 RobotCgetStarted.key - February 5, 2016

7 VEX IQ Now select platform Controller Mode: TeleOp - when driven by remote control Autonomous - when driving in autonomous mode 7 RobotCgetStarted.key - February 5, 2016

8 VEX Select Communication mode: VEXnet or USB is typical good, so it will work with field control system as well as via USB cable tethered to Co get DEBUG stream 8 RobotCgetStarted.key - February 5, 2016

9 RobotC - Firmware Updating By Willem Scholten Learning Access Institute 9 RobotCgetStarted.key - February 5, 2016

10 Firmware Updating Turn the Cortex OFF. 1 VEX Cortex USB Port Plug the other end of the USB A-to-A cable into the USB port on the VEX Cortex. 2 Plug the other end into your computer USB port 10 RobotCgetStarted.key - February 5, 2016

11 Firmware Updating Goto Robot -> Download Firmware -> Automatically Update VEX Cortex 11 RobotCgetStarted.key - February 5, 2016

12 Firmware Updating IF all is OK, press the OK button not proceed. IF update is required, the update will be applied, if the cortex is up-to-date you will informed as well 12 RobotCgetStarted.key - February 5, 2016

13 Firmware Updating Turn the VEXnet Remote Control OFF 1 VEX Remote USB Port Plug the other end of the USB A-to-A cable into the USB port on the VEX Remote. 2 Plug the other end into your computer USB port 13 RobotCgetStarted.key - February 5, 2016

14 Firmware Updating 14 RobotCgetStarted.key - February 5, 2016

15 Firmware Updating IF all is OK, press the OK button not proceed. IF update is required, the update will be applied, if the remote is up-to-date you will informed as well 15 RobotCgetStarted.key - February 5, 2016

16 Establish VEXnet Link By Willem Scholten Learning Access Institute 16 RobotCgetStarted.key - February 5, 2016

17 Establish VEXnet Link Connect a Battery to the Cortex Connect a 7.2V robot battery to the Cortex, but do not power it ON. Install Batteries in the VEXnet Remote Control. Remove the battery cover plate on the remote control. Install 6 AAA batteries, and replace the battery cover plate. Do not power the remote control ON. 17 RobotCgetStarted.key - February 5, 2016

18 Establish VEXnet Link 1 Tether the USB port on the VEXnet Remote Control to the USB port on the Cortex using a USB A-to-A cable. 2 VEXnet Remote Control USB Port Plug one end of the USB A-to-A cable into the USB port on the VEXnet Remote Control. 3 VEX Cortex USB Port Plug the other end of the USB A-to-A cable into the USB port on the VEX Cortex. 18 RobotCgetStarted.key - February 5, 2016

19 Establish VEXnet Link Status LEDs The ROBOT and VEXnet LEDs will blink green once the Cortex and VEXnet Remote Control have successfully paired. Power the Cortex ON. After a few seconds, ROBOT and VEXnet LEDs will blink green, indicating that the Cortex and VEXnet Remote Control have successfully paired. 19 RobotCgetStarted.key - February 5, 2016

20 Establish VEXnet Link Turn the Cortex OFF. Remove the USB A-to-A cable from the VEXnet Remote Control and Cortex. 20 RobotCgetStarted.key - February 5, 2016

21 Establish VEXnet Link VEXnet USB Keys Insert VEXnet USB Keys into the VEXnet Remote Control and Cortex. Note: It does not matter which VEXnet USB Key you insert into the Cortex versus the VEXnet Remote Control. Pairing the Cortex and VEXnet Remote Control establishes the link; the VEXnet USB Keys act as antennas for the link. 21 RobotCgetStarted.key - February 5, 2016

22 Establish VEXnet Link Power the Cortex and Remote Control ON. After roughly 15 seconds, the ROBOT and VEXnet LED s will blink green, indicating that the VEXnet communication link has been established. Turn the Cortex ON. Turn the VEXnet Remote Control ON 22 RobotCgetStarted.key - February 5, 2016

23 Establish VEXnet Link Status LEDs After roughly 10 seconds, the ROBOT and VEXnet status LEDs will start blinking green. With the VEXnet link established, you should power OFF your Cortex and VEXnet Remote Control to preserve battery. 23 RobotCgetStarted.key - February 5, 2016

24 RobotC Examples For VEX Cortex Using Remote Control in TeleOp 24 RobotCgetStarted.key - February 5, 2016

25 Typical Program Layout A basic RobotC program - either Telop or Autonomous consists of four key blocks: #pragma section - define the motors and sensors Program Description Comment Block Task Main() Functions 25 RobotCgetStarted.key - February 5, 2016

26 Pragma Section #pragma section - define the motors and sensors #pragma config(sensor, dgtl1, limitswitchup, sensortouch) #pragma config(sensor, dgtl2, limitswitchdown, sensortouch) #pragma config(motor, port2, rightmotor, tmotorservocontinuousrotation, openloop, reversed) #pragma config(motor, port3, leftmotor, tmotorservocontinuousrotation, openloop) #pragma config(motor, port6, armmotor, tmotorservocontinuousrotation, openloop) //*!!Code automatically generated by 'ROBOTC' configuration wizard!!*// The motor and sensor definitions must be at the top of the program, and is created using the Motor and Sensor painter in the RobotC programming toolbar. 26 RobotCgetStarted.key - February 5, 2016

27 Pragma Section #pragma config(sensor, dgtl1, limitswitchup, sensortouch) #pragma config(sensor, dgtl2, limitswitchdown, sensortouch) Two limit switches are defined, plugged into the digital port #1 and #2 on the Cortex 27 RobotCgetStarted.key - February 5, 2016

28 Pragma Section #pragma config(motor, port2, rightmotor, tmotorservocontinuousrotation, openloop, reversed) #pragma config(motor, port3, leftmotor, tmotorservocontinuousrotation, openloop) #pragma config(motor, port6, armmotor, tmotorservocontinuousrotation, openloop) Three motors are defined - two are for the drive train, and notice one is set to reverse. A third motor is for the lifting arm movement. 28 RobotCgetStarted.key - February 5, 2016

29 Program Description /* *\ * - Dual Joystick Control with Arm - 2 Remotes - * * ROBOTC on VEX 2.0 Cortex * * * * This program uses the Left and the Right joysticks on Remote Control 1 to run the robot using * * "tank control". The Group 6 buttons on the top-right of Remote Control 2 are used to raise and * * lower the arm. * * * * ROBOT CONFIGURATION * * NOTES: * * 1) Ch1 is the X axis and Ch2 is the Y axis for the RIGHT joystick. * * 2) Ch3 is the Y axis and Ch4 is the X axis for the LEFT joystick. * * * * MOTORS & SENSORS: * * [I/O Port] [Name] [Type] [Description] * * Motor - Port 2 rightmotor VEX Motor Right motor * * Motor - Port 3 leftmotor VEX Motor Left motor * * Motor - Port 6 armmotor VEX Motor Arm motor * \* */ Put a clear description of what your program does in the top, including any major revisions you may have made, and who is the author of the code. 29 RobotCgetStarted.key - February 5, 2016

30 task Main() task main() { while(1 == 1) { //Driving Motor Control with Remote Control 1 motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; //Arm Control with Remote Control 2 - allow up movement // as long as the upper limit switch is not pressed if(vexrt[btn6uxmtr2] == 1 && SensorValue(limitSwitchUp) == 0) { motor[armmotor] = 40; } // Allow down movement as long as bottom limit switch is not pressed else if(vexrt[btn6dxmtr2] == 1 && SensorValue(limitSwitchDown) == 0) { motor[armmotor] = -40; } else { motor[armmotor] = 0; } } } task Main() is the main control task which is excited. Any robot control events you want to occur must be within this task statement. 30 RobotCgetStarted.key - February 5, 2016

31 Btn7U Btn7L Btn7D Btn7R Btn8L Btn8U Btn8D Btn8R Ch4 (X-axis) Ch1 (X-axis) Ch3 (Y-axis) Ch2 (Y-axis) Btn6U Btn6D Btn5U Btn5D 31 RobotCgetStarted.key - February 5, 2016

32 task Main() task main() { while(1 == 1) { //Driving Motor Control with Remote Control 1 motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; //Arm Control with Remote Control 2 - allow up movement // as long as the upper limit switch is not pressed if(vexrt[btn6uxmtr2] == 1 && SensorValue(limitSwitchUp) == 0) { motor[armmotor] = 40; } // Allow down movement as long as bottom limit switch is not pressed else if(vexrt[btn6dxmtr2] == 1 && SensorValue(limitSwitchDown) == 0) { motor[armmotor] = -40; } else { motor[armmotor] = 0; } } } while( 1 == 1) This is an infinite execute loop. It is needed to continuously readout the Button actions on the Remote Control. If you don t have this, the buttons would be read once and that is the end of it. 32 RobotCgetStarted.key - February 5, 2016

33 task Main() task main() { while(1 == 1) { //Driving Motor Control with Remote Control 1 motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; //Arm Control with Remote Control 2 - allow up movement // as long as the upper limit switch is not pressed if(vexrt[btn6uxmtr2] == 1 && SensorValue(limitSwitchUp) == 0) { motor[armmotor] = 40; } // Allow down movement as long as bottom limit switch is not pressed else if(vexrt[btn6dxmtr2] == 1 && SensorValue(limitSwitchDown) == 0) { motor[armmotor] = -40; } else { motor[armmotor] = 0; } } } First in the loop, we control the drive motors. leftmotor is controlled by JoyStick Ch3 (Left JoyStick Y- axis), the rightmotor is controlled by JoyStick Ch2 (Left JoyStick X- axis). The position of the JoyStick which is from is halted, does effectively driving the robot at half speed. 33 RobotCgetStarted.key - February 5, 2016

34 task Main() task main() { while(1 == 1) { //Driving Motor Control with Remote Control 1 motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; //Arm Control with Remote Control 2 - allow up movement // as long as the upper limit switch is not pressed if(vexrt[btn6uxmtr2] == 1 && SensorValue(limitSwitchUp) == 0) { motor[armmotor] = 40; } // Allow down movement as long as bottom limit switch is not pressed else if(vexrt[btn6dxmtr2] == 1 && SensorValue(limitSwitchDown) == 0) { motor[armmotor] = -40; } else { motor[armmotor] = 0; } } } Second - Now we read the action on Button Group 6 and control the armmotor. Notice -we swapped to Remote Control #2 - the partner remote. But notice we are not just reading the RemoteControl state we are also adding in the state of two limitswitches. 34 RobotCgetStarted.key - February 5, 2016

35 task Main() if(vexrt[btn6uxmtr2] == 1 && SensorValue(limitSwitchUp) == 0) Address button on Remote 2 Append Xmtr2 to any button name and you are on the second (partner) remote. && - logic AND Get the State of the limitswitch 0 = not pressed 1 = pressed In this scenario, when Btn6U on Remote 2, is pressed and as long as the limitswitch is not depressed you can move the arm up. As soon as the limitswitch is pressed, you can press Btn6U all you want, but there will be no longer a motor movement upwards. 35 RobotCgetStarted.key - February 5, 2016

36 RobotC and Basic Drive Bot By Willem Scholten Learning Access Institute 36 RobotCgetStarted.key - February 5, 2016

37 Basic Drive Bot Setup 37 RobotCgetStarted.key - February 5, 2016

38 Basic Drive Bot Setup Things to note: Two mother used for driving LEFT DRIVE MOTOR and RIGHT DRIVE MOTOR Two motors used for actuators - CLAW MOTOR and ARM MOTOR 38 RobotCgetStarted.key - February 5, 2016

39 Basic Drive Bot Setup 39 RobotCgetStarted.key - February 5, 2016

40 Basic Drive Bot Setup NOTE: the LEFT and RIGHT DRIVE MOTORS are directly connected to either port #1 or port #10. These ports have build in speed control. Ports 2-9 are 3 wire ports and any MOTOR plugged in to those require the use of a PWM motor controller RobotCgetStarted.key - February 5, 2016

41 Basic Drive Bot Setup Motor Controller Module The Motor Controller 29 regulates the speed of a VEX motor based on a signal it receives from a VEX Microcontroller. This allows for control of any VEX motor that doesn t have a built- in motor controller, such as the VEX 2-wire motors. 41 RobotCgetStarted.key - February 5, 2016

42 Basic Drive Bot Setup 42 RobotCgetStarted.key - February 5, 2016

43 Basic Drive Bot Setup 43 RobotCgetStarted.key - February 5, 2016

44 Basic Drive Bot Setup RobotC setup and configuration for the Basic Drive Bot Assuming motors are wired as shown in previous slides (Remember that can be any robot of your design as long as the motors are functioning and performing the tasks as shown) You have RobotC installed on your computer, and configured for VEX Cortex as shown earlier. 44 RobotCgetStarted.key - February 5, 2016

45 Basic Drive Bot Setup Steps we need to undertake in RobotC: 1 - define all the motors and connections 2 - create basic drive code using a while loop which continuously reads the remote control, and send actions to the motors based on the state of buttons and joysticks on the controller. 45 RobotCgetStarted.key - February 5, 2016

46 Basic Drive Bot Setup 46 RobotCgetStarted.key - February 5, 2016

47 Basic Drive Bot Setup Start a NEW PROGRAM 47 RobotCgetStarted.key - February 5, 2016

48 Basic Drive Bot Setup Define your CORTEX setup 48 RobotCgetStarted.key - February 5, 2016

49 Basic Drive Bot Setup Define which ports the motors are plugged into When done, apply / and press OK This will create a special section in your code called #pragma 49 RobotCgetStarted.key - February 5, 2016

50 Basic Drive Bot Setup #PRAGMA section which is auto generated for you 50 RobotCgetStarted.key - February 5, 2016

51 Basic Drive Bot Setup Robot Definition Pragma Section Define your Robot configuration - motors, sensors etc while 1 == 1 Read continuously the state of the buttons, and take actions Main control loop - run forever and scan the remote for any button changes, and act upon them This program does not end until you turn off the power 51 RobotCgetStarted.key - February 5, 2016

52 Basic Drive Bot Setup while 1 == 1 Define your Robot configuration - motors, sensors etc LEFT and RIGHT motor get input for speed directly from Joystick IF vexrt[btn5u] == 1 T Take Action F In the main loop there are IF THEN ELSE statements for each button you want to define and an action associated with it. 52 RobotCgetStarted.key - February 5, 2016

53 #pragma config(motor, port1, leftmotor, tmotorvex393_hbridge, openloop, reversed) #pragma config(motor, port6, clawmotor, tmotorvex393_mc29, openloop, reversed) #pragma config(motor, port7, armmotor, tmotorvex393_mc29, openloop, reversed) #pragma config(motor, port10, rightmotor, tmotorvex393_hbridge, openloop) //*!!Code automatically generated by 'ROBOTC' configuration wizard!!*// task main () { while(1 == 1) { //Driving Motor Control motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; // Raise, lower or do not move arm if(vexrt[btn5u] == 1) //If button 5U is pressed... { motor[armmotor] = 127; //...raise the arm. } else if(vexrt[btn5d] == 1) //Else, if button 5D is pressed... { motor[armmotor] = -127; //...lower the arm. } else //Else (neither button is pressed)... { motor[armmotor] = 0; //...stop the arm. } } } // Open, close or do not more claw if(vexrt[btn6u] == 1) //If Button 6U is pressed... { motor[clawmotor] = 127; //...close the gripper. } else if(vexrt[btn6d] == 1) //Else, if button 6D is pressed... { motor[clawmotor] = -127; //...open the gripper. } else //Else (neither button is pressed)... { motor[clawmotor] = 0; //...stop the gripper. } 53 RobotCgetStarted.key - February 5, 2016

54 VEX Robotics - RobotC Competition Template By Willem Scholten Learning Access Institute 54 RobotCgetStarted.key - February 5, 2016

55 VEXnet Competition Code Things to remember: You must name your Robot - this must be your team number You must use the supplied Competition Template for your code If you are doing the Skill Challenge, you must also use the Skill Challenge Template for that code 55 RobotCgetStarted.key - February 5, 2016

56 VEXnet Competition Code Set your Robot name - Robot -> Advanced Tools -> Rename Robot (make sure your PC is communicating with the Cortex when doing this) Set the new name - it should be your team number! 56 RobotCgetStarted.key - February 5, 2016

57 VEXnet Competition Code Writing Competition Code: Open the the competition_template from the Sample file menu Once opened - first do a Save As and re-name the template to something else and stored on your computer in a folder you can remember. 57 RobotCgetStarted.key - February 5, 2016

58 Competition Code filename: VEXcompetitionV01.c 58 RobotCgetStarted.key - February 5, 2016

59 VEXnet Competition Code Robot Definition Pragma Section Competition System Pragma Section Pre-Autonomous Section Define your Robot configuration - motors, sensors etc In this section you should not change ANYTHING if you do your robot will not connect or interface with competition control system Code that runs one at power up to preposition a claw for example Autonomous Task Section Code that runs during the autonomous portion of the competition User Control Task Section Code that runs during the Tele-op portion of the competition - make sure you ahem a while(true) loop reading constantly the remote control buttons! 59 RobotCgetStarted.key - February 5, 2016

60 VEXnet Competition Code Robot definitions created using the the Motor and Sensor Setup Wizard -> should match exactly what you have configured on your robot and plugged into the Cortex Controller #pragma config(motor, port1, leftmotor, tmotorvex393_hbridge, openloop) #pragma config(motor, port10, rightmotor, tmotorvex393_hbridge, openloop, reversed) //*!!Code automatically generated by 'ROBOTC' configuration wizard!!*// 60 RobotCgetStarted.key - February 5, 2016

61 VEXnet Competition Code In this section you should not change ANYTHING if you do your robot will not connect or interface with competition control system //*!!Code automatically generated by 'ROBOTC' configuration wizard!!*// #pragma platform(vex) //Competition Control and Duration Settings #pragma competitioncontrol(competition) #pragma autonomousduration(20) #pragma usercontrolduration(120) #include "Vex_Competition_Includes.c" //Main competition background code...do not modify! ///////////////////////////////////////////////////////////////////////////////////////// 61 RobotCgetStarted.key - February 5, 2016

62 VEXnet Competition Code Code that runs one at power up - in this case we move the robot forward for 3 seconds at half speed - in reality this should be for pre-positioning say a servo to have claw grab the cube. ///////////////////////////////////////////////////////////////////////////////////////// // // Pre-Autonomous Functions // // You may want to perform some actions before the competition starts. Do them in the // following function. // ///////////////////////////////////////////////////////////////////////////////////////// void pre_auton() { // Set bstoptasksbetweenmodes to false if you want to keep user created tasks running between // Autonomous and Tele-Op modes. You will need to manage all user created tasks if set to false. bstoptasksbetweenmodes = true; // All activities that occur before the competition starts // Example: clearing encoders, setting servo positions,... // Willem: in this case we just have the robot move forward a bit to demonstrate // how the pre_autorun works. wait1msec(2000); // Robot waits for 2000 milliseconds before executing program } // Move forward at half power for 3 seconds motor[rightmotor] = 60; // Motor on port2 is run at full (127) power forward motor[leftmotor] = 60; // Motor on port3 is run at full (127) power forward wait1msec(3000); // Robot runs previous code for 3000 milliseconds 62 RobotCgetStarted.key - February 5, 2016

63 VEXnet Competition Code Read this parameter carefully - and do NOT remove it. If you wanted to run the Pre-Autnomous function again between the control system switching from Autonomous to User Controlled, then set this to false but be careful, and test test test before doing so! // Set bstoptasksbetweenmodes to false if you want to keep user created tasks running between // Autonomous and Tele-Op modes. You will need to manage all user created tasks if set to false. bstoptasksbetweenmodes = true; 63 RobotCgetStarted.key - February 5, 2016

64 VEXnet Competition Code ///////////////////////////////////////////////////////////////////////////////////////// // // Autonomous Task // // This task is used to control your robot during the autonomous phase of a VEX Competition. // You must modify the code to add your own robot specific commands here. // ///////////////////////////////////////////////////////////////////////////////////////// task autonomous() { //... // Insert user code here. //... } //AutonomousCodePlaceholderForTesting(); // Remove this function call once you have "real" code. // Willem: We are going to a pivot turn to the right the not the left // Turn Right at full power for 0.75 seconds motor[rightmotor] = -127; // Motor on port2 is run at full (-127) power reverse motor[leftmotor] = 127; // Motor on port3 is run at full (127) power forward wait1msec(750); // Robot runs previous code for 750 milliseconds before moving on // Turn Left at full power for 0.75 seconds motor[rightmotor] = 127; // Motor on port2 is run at full (127) power forward motor[leftmotor] = -127; // Motor on port3 is run at full (-127) power reverse wait1msec(750); // Robot runs previous code for 750 milliseconds before moving on motor[rightmotor] = 0; motor[leftmotor] = 0; 64 RobotCgetStarted.key - February 5, 2016

65 VEXnet Competition Code By default this function call is not commented out, however as soon as you have your own code block in the Autonomous Task() section (blue code in previous slide) you MUST comment it out. You will get a warning message when compiling, but you can safely ignore this! (The message will be: WARNING: Unreferenced function AutonomousCodePlaceholderForTesting) //AutonomousCodePlaceholderForTesting(); // Remove this function call once you have "real" code. 65 RobotCgetStarted.key - February 5, 2016

66 VEXnet Competition Code Sample Autonomous Code - make a pivot turn to the right, then a pivot turn to the left. NOTICE: the motors are deliberately stopped when we want to, if we do not do this the motors will keep on running until the timer expires the autonomous period of the game! // Willem: We are going to a pivot turn to the right the not the left // Turn Right at full power for 0.75 seconds motor[rightmotor] = -127; // Motor on port2 is run at full (-127) power reverse motor[leftmotor] = 127; // Motor on port3 is run at full (127) power forward wait1msec(750); // Robot runs previous code for 750 milliseconds before moving on // Turn Left at full power for 0.75 seconds motor[rightmotor] = 127; // Motor on port2 is run at full (127) power forward motor[leftmotor] = -127; // Motor on port3 is run at full (-127) power reverse wait1msec(750); // Robot runs previous code for 750 milliseconds before moving on motor[rightmotor] = 0; motor[leftmotor] = 0; 66 RobotCgetStarted.key - February 5, 2016

67 VEXnet Competition Code ///////////////////////////////////////////////////////////////////////////////////////// // // User Control Task // // This task is used to control your robot during the user control phase of a VEX Competition. // You must modify the code to add your own robot specific commands here. // ///////////////////////////////////////////////////////////////////////////////////////// task usercontrol() { // User control code here, inside the loop while (true) { // This is the main execution loop for the user control program. Each time through the loop // your program should update motor + servo values based on feedback from the joysticks. //... // Insert user code here. This is where you use the joystick values to update your motors, etc. //... //UserControlCodePlaceholderForTesting(); // Remove this function call once you have "real" code. // Willem: We are just inserting a basic tank control remote program here to demonstrate how it works //Driving Motor Control motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; } } 67 RobotCgetStarted.key - February 5, 2016

68 VEXnet Competition Code By default this function call is not commented out, however as soon as you have your own code block in the Usercontrol Task() section (green code in previous slide) you MUST comment it out. You will get a warning message when compiling, but you can safely ignore this! (The message will be: WARNING: Unreferenced function UserControlcodePlaceholderForTesting) //UserControlCodePlaceholderForTesting(); // Remove this function call once you have "real" code. 68 RobotCgetStarted.key - February 5, 2016

69 VEXnet Competition Code while (true) { // This is the main execution loop for the user control program. Each time through the loop // your program should update motor + servo values based on feedback from the joysticks. } //... // Insert user code here. This is where you use the joystick values to update your motors, etc. //... //UserControlCodePlaceholderForTesting(); // Remove this function call once you have "real" code. // Willem: We are just inserting a basic tank control remote program here to demonstrate how it works //Driving Motor Control motor[leftmotor] = vexrt[ch3] / 2; motor[rightmotor] = vexrt[ch2] / 2; Main While loop reading constantly the Remote Control - all you code acting upon the various buttons of your remotes MUST be within this loop. Simple code driving the robot using the two joysticks on the remote control. Every button you want to use must be defined here with actions. 69 RobotCgetStarted.key - February 5, 2016

VEX Robot Remote Control Set-Up

VEX Robot Remote Control Set-Up VEX Robot Remote Control Set-Up Note: Before proceeding with the VEXnet joystick setup on the following pages, complete these steps: 1) Open the RobotC program 2) Select File > Open Sample Program 3) Select

More information

2

2 1 2 3 4 5 6 7 8 9 Robot C Settings for Programming in VEX IQ Text Mode Setup the software for Vex IQ: Platform Tab: Platform Type [Vex Robotics] [VEX IQ] Quick

More information

RobotC. Remote Control

RobotC. Remote Control RobotC Remote Control Learning Objectives: Focusing on Virtual World with Physical Examples Understand Real-Time Joystick Mapping Understand how to use timers Understand how to incorporate buttons into

More information

K Force The Kristin Robotics Team Introductory Programming Tutorial 2014 For use with the teams squarebot training robots.

K Force The Kristin Robotics Team Introductory Programming Tutorial 2014 For use with the teams squarebot training robots. K Force The Kristin Robotics Team Introductory Programming Tutorial 2014 For use with the teams squarebot training robots. K Force Squarebot Programming Course - 2014 Robot moves forward for two seconds

More information

Getting Started in RobotC. // Comment task main() motor[] {} wait1msec() ; = Header Code Compile Download Run

Getting Started in RobotC. // Comment task main() motor[] {} wait1msec() ; = Header Code Compile Download Run Getting Started in RobotC // Comment task main() motor[] {} wait1msec() ; = Header Code Compile Download Run Learning Objectives Explore Computer Programming using by controlling a virtual robot. Understand

More information

Programming Preset Heights in ROBOTC for VEX Robotics By George Gillard

Programming Preset Heights in ROBOTC for VEX Robotics By George Gillard Programming Preset Heights in ROBOTC for VEX Robotics By George Gillard Introduction Programming a button that lifts an arm (or other mechanism for that matter) to a specific preprogrammed point can be

More information

Testing VEX Cortex Robots using VEXnet

Testing VEX Cortex Robots using VEXnet Testing VEX Cortex Robots using VEXnet This document is an inspection guide for VEX Cortex based robots. Use this document to test if a robot is competition ready. Method I. Using the ROBOTC Competition

More information

ROBOTC Basic Programming

ROBOTC Basic Programming ROBOTC Basic Programming Open ROBOTC and create a new file Check Compiler Target If you plan to download code to a robot, select the Physical Robot opbon. If you plan to download code to a virtual robot,

More information

VEX Startup and Configuration Procedures

VEX Startup and Configuration Procedures VEX Startup and Configuration Procedures Power Up Open RobotC Step 2 Plug battery into the Cortex power port. The plug is keyed to only install one way. Black wire will face to the outside of the Cortex.

More information

TETRIX Getting Started Guide FTC Extension

TETRIX Getting Started Guide FTC Extension Introduction In this guide, code created with the FTC templates will be explored and then run using the Field Control Software (FCS). An FTC game begins with an autonomous period where only autonomous

More information

Activity Basic Inputs Programming - VEX Clawbot

Activity Basic Inputs Programming - VEX Clawbot Activity 3.1.3 Basic Inputs Programming - VEX Clawbot Introduction Inputs are devices which provide a processor with environmental information to make decisions. These devices have the capacity to sense

More information

Activity Basic Outputs Programming VEX

Activity Basic Outputs Programming VEX Activity 3.1.2 Basic Outputs Programming VEX Introduction Computer programs are used in many applications in our daily life. Devices that are controlled by a processor are called outputs. These devices

More information

Getting Started in RobotC. // Comment task main() motor[] {} wait1msec() ; = Header Code Compile Download Run

Getting Started in RobotC. // Comment task main() motor[] {} wait1msec() ; = Header Code Compile Download Run Getting Started in RobotC // Comment task main() motor[] {} wait1msec() ; = Header Code Compile Download Run Understand Motion Learning Objectives Motors: How they work and respond. Fuses: Understand why

More information

TETRIX Getting Started Guide FTC Extension

TETRIX Getting Started Guide FTC Extension TeleOp Programming TETRIX Getting Started Guide FTC Extension Introduction In this guide, a TETRIX with LEGO MINDSTORMS robot with an arm and gripper extension will be programmed to be controlled by a

More information

Activity Basic Outputs Programming VEX

Activity Basic Outputs Programming VEX Activity 3.1.2 Basic Outputs Programming VEX Introduction Computer programs are used in many applications in our daily life. Devices that are controlled by a processor are called outputs. These devices

More information

Robotics Jumpstart Training II. EasyC: Software & Firmware Updates

Robotics Jumpstart Training II. EasyC: Software & Firmware Updates Robotics Jumpstart Training II EasyC: Software & Firmware Updates Objectives: Learn how to update EasyC Current Version: 4.2.1.9 Learn how to update Firmware VEX Joystick (Controller) VEX Microcontroller

More information

Activity Basic Outputs Programming Answer Key (VEX) Introduction

Activity Basic Outputs Programming Answer Key (VEX) Introduction Activity 1.2.3 Basic Outputs Programming Answer Key (VEX) Introduction Computer programs are used in many applications in our daily life. Devices that are controlled by a processor are called outputs.

More information

MS4SSA Robotics Module:

MS4SSA Robotics Module: MS4SSA Robotics Module: Programming and Sensors Brad Miller and Kim Hollan What are we doing today? Talk about why to program robots Learn about basic RobotC programming Learn how to make the robot move

More information

Step 1: Connect the Cortex to your PC

Step 1: Connect the Cortex to your PC This is a guide for configuring the VEX Cortex system to be programmed wirelessly using a VEXNet connection. These steps are required the first time you use your computer to program a specific VEX Cortex,

More information

TETRIX Getting Started Guide FTC Extension. Programming Guide (ROBOTC ) Autonomous Programming

TETRIX Getting Started Guide FTC Extension. Programming Guide (ROBOTC ) Autonomous Programming Introduction In this guide, a TETRIX with LEGO MINDSTORMS robot with an arm and gripper extension will be programmed to move forward until it detects an object, slow down as it approaches the object, and

More information

CORTEX Microcontroller and Joystick User Guide

CORTEX Microcontroller and Joystick User Guide This is a User Guide for using the VEX CORTEX Microcontroller and VEX Joystick. Refer to the VEX Wiki (http://www.vexforum.com/wiki/index.php/vex_cortex_microcontroller) for updates to this document. 1.

More information

Troubleshooting ROBOTC with Cortex

Troubleshooting ROBOTC with Cortex This guide is to designed to be used by a student or teacher as a reference for help troubleshooting ROBOTC software issues. Troubleshooting Topics Computer will not Recognize the VEX Cortex Not able to

More information

VEX/RobotC Video Trainer Assignments

VEX/RobotC Video Trainer Assignments VEX/RobotC Video Trainer Assignments Mr. Holmes Mechatronics I To view the VEX videos assigned for homework, click on the following link to access the Vex Video Trainer: http://www.education.rec.ri.cmu.edu/products/teaching_robotc_cortex/

More information

Electronics Workshop. Jessie Liu

Electronics Workshop. Jessie Liu Electronics Workshop Jessie Liu 1 Return Kit Servos Servo Extensions Controller Analog USB/Tether Serial WiFi key (2) (2) Digital i/o Servo Power Adaptor AAA Battery Charger motors/ servos (4) Servo Mounting

More information

Brought to you by WIRED Les Quiocho September 30, 2017

Brought to you by WIRED Les Quiocho September 30, 2017 Brought to you by WIRED Les Quiocho September 30, 2017 Objectives To learn where to find necessary resources To recognize the basic electronic components of the BEST returnables kit To understand the software

More information

Robot Design Workshop: VEX Hardware & Robot Building Basics

Robot Design Workshop: VEX Hardware & Robot Building Basics Robot Design Workshop: VEX Hardware & Robot Building Basics Nik Kukert Bison BEST Robotics 1 Basics Only use parts supplied in the consumable and returnable kits (or approved optional items) Robots containing

More information

Robotics Education & Competition Foundation

Robotics Education & Competition Foundation Robotics Education & Competition Foundation VRC Event Troubleshooting Guide When Things Go Wrong NOW What? BEFORE YOU START YOUR EVENT Always set up the night before an event if possible. Always test the

More information

BEST Control System. Dave Wilkerson. September 12, 2015

BEST Control System. Dave Wilkerson. September 12, 2015 BEST Control System BEST Robotics, Inc. Dave Wilkerson September 12, 2015 Copyright 2012 BEST Robotics, Inc. All rights reserved. 1 Servos Joystick Return Kit AAA Battery Charger Analog WiFi key USB/Tether

More information

VEX ARM Cortex -based Microcontroller and VEXnet Joystick User Guide

VEX ARM Cortex -based Microcontroller and VEXnet Joystick User Guide 1. VEX ARM Cortex -based Microcontroller and VEXnet Joystick Pairing Procedure: a. The Joystick must first be paired to the VEX ARM Cortex -based Microcontroller before they will work using VEXnet Keys.

More information

CORTEX Microcontroller and Joystick Quick Start Guide

CORTEX Microcontroller and Joystick Quick Start Guide This is a Quick Start Guide for using the VEX CORTEX and VEX Joystick. Refer to the VEX Wiki for updates to this document. 1. Basic connections; batteries, microcontroller, joysticks and VEXnet keys. a.

More information

Activity Inputs and Outputs VEX

Activity Inputs and Outputs VEX Activity 3.1.1 Inputs and Outputs VEX Introduction Robots are similar to humans if you consider that both use inputs and outputs to sense and react to the world. Most humans use five senses to perceive

More information

Movement using Shaft Encoders

Movement using Shaft Encoders Movement using Shaft Encoders Configure (Motors and Sensors Setup) We will look at the following in this section SensorValue[] while Conditions (, =,!=, ==) Quadrature/Shaft/Rotation Encoder 360

More information

Activity While Loops and If-Else Structures VEX

Activity While Loops and If-Else Structures VEX Activity 3.1.4 While Loops and If-Else Structures VEX Introduction One of the powerful attributes of a computer program is its ability to make decisions. Although it can be argued that only humans are

More information

Activity Inputs and Outputs VEX

Activity Inputs and Outputs VEX Activity 3.1.1 Inputs and Outputs VEX Introduction Robots are similar to humans if you consider that both use inputs and outputs to sense and react to the world. Most humans use five senses to perceive

More information

MS4SSA Robotics Module:

MS4SSA Robotics Module: Robotics Module: Programming and Sensors Kim Hollan Why Program a Robot? Building a robot teaches many valuable skills; however, the learning doesn t stop there Programming also teaches valuable life skills

More information

Activity While Loops and If-Else Structures Answer Key (VEX) Introduction

Activity While Loops and If-Else Structures Answer Key (VEX) Introduction Activity 1.2.5 While Loops and If-Else Structures Answer Key (VEX) Introduction One of the powerful attributes of a computer program is its ability to make decisions. Although it can be argued that only

More information

These instructions use a standard Robot Configuration based on the PushBot tutorial from FIRST. The Robot setup is as follows:

These instructions use a standard Robot Configuration based on the PushBot tutorial from FIRST. The Robot setup is as follows: Introduction to Robotics and Engineering Marist School Resource: FTC_Android_Programming Description: These instructions will take you through downloading and setting up the Android Studio and FTC Robot

More information

TETRIX Getting Started Guide. Harvester and Transporter Programming Guide (ROBOTC )

TETRIX Getting Started Guide. Harvester and Transporter Programming Guide (ROBOTC ) Introduction: In this guide, the Ranger Bot will be programmed to follow a line, pick up an object using the harvester, and put the object into the transporter. It will also count the number of objects

More information

Activity Basic Inputs Programming VEX

Activity Basic Inputs Programming VEX Activity 3.1.3 Basic Inputs Programming VEX Introduction Inputs are devices which provide a processor with environmental information to make decisions. These devices have the capacity to sense the environment

More information

Activity Basic Inputs Programming VEX

Activity Basic Inputs Programming VEX Activity 3.1.3 Basic Inputs Programming VEX Introduction Inputs are devices which provide a processor with environmental information to make decisions. These devices have the capacity to sense the environment

More information

Creating a robot project

Creating a robot project Creating a robot project Liquid error: No route matches {:action=>"show", :controller=>"spaces/chapters", :space_id=>"3120", :manual_id=>"7952", :id=>nil} Launching WindRiver Workbench WindRiver Workbench

More information

Competitive VEX Robot Designer. Terminal Objective 1.3: operate the Tumbler using a jumper pin

Competitive VEX Robot Designer. Terminal Objective 1.3: operate the Tumbler using a jumper pin Skill Set 1: Driver/Operator Competitive VEX Robot Designer Terminal Objective 1.3: operate the Tumbler using a jumper pin Performance Objective: Using a Cortex microcontroller and EasyC V4, operate the

More information

RobotC Basics. FTC Team 2843 SSI Robotics October 6, 2012 Capitol College FTC Workshop

RobotC Basics. FTC Team 2843 SSI Robotics October 6, 2012 Capitol College FTC Workshop RobotC Basics FTC Team 2843 SSI Robotics October 6, 2012 Capitol College FTC Workshop Agenda The Brick Sample Setup Template Multi Click Program Cancel Configuration (Pragmas) Joystick Data (get data)

More information

2. Within your four student group, form a two student team known as Team A and a two student team known as Team B.

2. Within your four student group, form a two student team known as Team A and a two student team known as Team B. Introduction Inputs are devices which provide a processor with environmental information to make decisions. These devices have the capacity to sense the environment in a variety of ways such as physical

More information

Marble Sorter Project

Marble Sorter Project Marble Sorter Project Ryan Stewart Jinsung Jeon Kenneth Accos Angela Colmenero Principles of Engineering Mckinney High School 02/16/16 Table of Contents Brainstorming Ideas.2-5 Decision Matrix..6 Gantt

More information

Activity Basic Inputs Programming Answer Key (VEX)

Activity Basic Inputs Programming Answer Key (VEX) Activity 1.2.4 Basic Inputs Programming Answer Key (VEX) Introduction Inputs are devices which provide a processor with environmental information to make decisions. These devices have the capacity to sense

More information

The "Hello world" of FRC robot programming

The Hello world of FRC robot programming The "Hello world" of FRC robot programming Here's how to create the shortest possible robot program that actually does something useful. In this case, it provides tank steering in teleop mode and drives

More information

The Beginners Guide to ROBOTC. Volume 2, 3 rd Edition Written by George Gillard Published: 18-July-2016

The Beginners Guide to ROBOTC. Volume 2, 3 rd Edition Written by George Gillard Published: 18-July-2016 The Beginners Guide to ROBOTC Volume 2, 3 rd Edition Written by George Gillard Published: 18-July-2016 Introduction ROBOTC is an application used for programming robots. There are many different versions

More information

VEX Robotics - VEXnet Firmware Upgrade Utility Operating Instructions and Installation

VEX Robotics - VEXnet Firmware Upgrade Utility Operating Instructions and Installation This document will guide you through the VEXnet Firmware Upgrade Utility Operating Instructions and Installation. The Tool is for updating firmware (Master Code) in the VEXnet 1.5 TX and RX Units and the

More information

Experiment 4.A. Speed and Position Control. ECEN 2270 Electronics Design Laboratory 1

Experiment 4.A. Speed and Position Control. ECEN 2270 Electronics Design Laboratory 1 .A Speed and Position Control Electronics Design Laboratory 1 Procedures 4.A.0 4.A.1 4.A.2 4.A.3 4.A.4 Turn in your Pre-Lab before doing anything else Speed controller for second wheel Test Arduino Connect

More information

Programming With easyc Kevin Barrett September 12, 2015

Programming With easyc Kevin Barrett September 12, 2015 BEST Robotic, Inc. easyc Team Training Programming With easyc Kevin Barrett September 12, 2015 1 What You ll Need Minimum System Requirements Windows XP/Vista/Win7, Mac not supported PIII-450MHz+, 256MB+

More information

16-311: Getting Started with ROBOTC and the. LEGO Mindstorms NXT. Aurora Qian, Billy Zhu

16-311: Getting Started with ROBOTC and the. LEGO Mindstorms NXT. Aurora Qian, Billy Zhu 16-311: Getting Started with ROBOTC and the LEGO Mindstorms NXT Aurora Qian, Billy Zhu May, 2016 Table of Contents 1. Download and Install 2. License Activation 3. Wireless Connection 4. Running Programs

More information

VEX U Robotics. Old Dominion University

VEX U Robotics. Old Dominion University VEX U Robotics Old Dominion University Mechanical & Aerospace Engineering Department MAE 435 - Project Design & Management II Spring 2017 February 27, 2017 Midterm Report Michael Cataldo Martin Garcia

More information

Last Updated: ROBOTBUILDER

Last Updated: ROBOTBUILDER Last Updated: 12-01-2016 ROBOTBUILDER Table of Contents The basic steps to create a robot program...4 Overview of RobotBuilder...5 Starting RobotBuilder... 12 The RobotBuilder user interface... 14 Setting

More information

BEST Generic Kit Notes GMKR00002 Revision 7; August 2011

BEST Generic Kit Notes GMKR00002 Revision 7; August 2011 GMKR00002 Revision 7; August 2011 1.0 Introduction This document is for information only. Although it is consistent with the rules, please see the Generic Game Rules document for the official rules. All

More information

VEX Robotics A Primer

VEX Robotics A Primer 2015 Andrew Dahlen andrew.dahlen@northlandcollege.edu VEX Robotics A Primer 2015 HI-TEC Conference Workshop July 27 th 2015 Portland Oregon Background VEX Robotics Overview 360 VEX Robotics Competition

More information

INTRODUCTION TABLE OF CONTENTS 1 INTRODUCTION WELCOME TO THE 2009 FRC CONTROL SYSTEM Suggestions for Getting Started 2

INTRODUCTION TABLE OF CONTENTS 1 INTRODUCTION WELCOME TO THE 2009 FRC CONTROL SYSTEM Suggestions for Getting Started 2 Section 1 INTRODUCTION TABLE OF CONTENTS 1 INTRODUCTION 2 1.1 WELCOME TO THE 2009 FRC CONTROL SYSTEM 2 1.1.1 Suggestions for Getting Started 2 1.2 TECHNICAL SUPPORT FOR THE 2009 FRC CONTROL SYSTEM 2 1.3

More information

Innovation First, Inc Full-Size Robot Controller Reference Guide

Innovation First, Inc Full-Size Robot Controller Reference Guide 2004 Full-Size Robot Controller Reference Guide 2.19.2004 www.innovationfirst.com Page 2 Table of Contents 1. Robot Controller Overview... 3 2. Main Power Input... 4 3. Battery Backup Power... 4 4. PROGRAM...

More information

Advanced RobotC. Sensors and Autonomous Coding Teams 5233 Vector and 5293 Rexbotics

Advanced RobotC. Sensors and Autonomous Coding Teams 5233 Vector and 5293 Rexbotics Advanced RobotC Sensors and Autonomous Coding Teams 5233 Vector and 5293 Rexbotics jcagle@chapelgateacademy.org Setup Select platform NXT + TETRIX/MATRIX Create New Autonomous Configure Robot with your

More information

BEST Generic Kit Usage Guide GMKR00002 Revision 9; August 2013

BEST Generic Kit Usage Guide GMKR00002 Revision 9; August 2013 GMKR00002 Revision 9; August 2013 1.0 Introduction This document is for information only. Although it is consistent with the rules, please see the Generic Game Rules document for the official rules. All

More information

! Before you start, make sure you have the right parts available. Set these parts on a table, and put all other parts away for now.

! Before you start, make sure you have the right parts available. Set these parts on a table, and put all other parts away for now. Tank Tread Drivetrain Before you start, make sure you have the right parts available. Set these parts on a table, and put all other parts away for now. Brain & Battery 4 1x standoffs 4 2x2 black connectors

More information

SPARTAN ROBOTICS FRC 971

SPARTAN ROBOTICS FRC 971 SPARTAN ROBOTICS FRC 971 Controls Documentation 2015 Design Goals Create a reliable and effective system for controlling and debugging robot code that provides greater flexibility and higher performance

More information

PS2 Wireless Owners Manual. By Robosoft Systems

PS2 Wireless Owners Manual. By Robosoft Systems PS2 Wireless Owners Manual By Robosoft Systems Know your Board Symbol Device U1 P89V51RD2 Microcontroller U2 L298 Motor Driver 1 U3 L298 Motor Driver 2 U4 74HCT2400 Inverting buffer PS2 PS2 connector BATTRY

More information

BEST Generic Kit Usage Guide GMKR00002 Revision 13; August 2017

BEST Generic Kit Usage Guide GMKR00002 Revision 13; August 2017 GMKR00002 Revision 13; 1.0 Introduction This document is for information only. Although it is consistent with the rules, please see the Generic Game Rules document for the official rules. All Returnable

More information

BEST Generic Kit Notes GMKR00002 Revision 5; August 2010

BEST Generic Kit Notes GMKR00002 Revision 5; August 2010 GMKR00002 Revision 5; 1.0 Introduction All Returnable Kit items, including boxes and packing, must be returned at the conclusion of the contest. This equipment will be used again next year; so do not modify

More information

Download Program. Setup ROBOTC. task main() { motor[motorc] = 100; wait1msec(3000);

Download Program. Setup ROBOTC. task main() { motor[motorc] = 100; wait1msec(3000); Your robot is ready to go! All that s left is for you to tell it what to do by sending it a program. A program is a set of commands that tell the robot what to do and how to react to its environment. Once

More information

Activity Variables and Functions VEX

Activity Variables and Functions VEX Activity 3.1.5 Variables and Functions VEX Introduction A program can accomplish a given task in any number of ways. Programs can quickly grow to an unmanageable size so variables and functions provide

More information

TETRIX Getting Started Guide. Launcher Programming Guide (ROBOTC )

TETRIX Getting Started Guide. Launcher Programming Guide (ROBOTC ) Introduction: In this guide, the Ranger Bot will be programmed to follow a line while carrying a ball. Upon sensing a bin with its ultrasonic sensor, it will launch the ball into the bin. This guide is

More information

Command and Control Tutorial

Command and Control Tutorial Command and Control Tutorial Introduction Command and Control is a new LabVIEW template added for the 2016 season which organizes robot code into commands and controllers for a collection of robot-specific

More information

The Power Turtle Drivetrain

The Power Turtle Drivetrain The Power Turtle Drivetrain Before you start, make sure you have the right parts available. Set these parts on a table, and put all other parts away for now. Brain & Battery 4 small gears 1 4x8 plate 4

More information

FRC Driver Station LabVIEW Dashboard

FRC Driver Station LabVIEW Dashboard FRC Driver Station LabVIEW Dashboard The Dashboard application installed and launched by the FRC Driver Station is a LabVIEW program designed to provide teams with basic feedback from their robot, with

More information

COMMAND BASED PROGRAMMING

COMMAND BASED PROGRAMMING COMMAND BASED PROGRAMMING Last Updated: 09-11-2016 Table of Contents Command based programming...4 What is Command based programming?...5 Creating a command based robot project in C++... 10 Installing

More information

Competitive VEX Robot Designer. Terminal Objective 5.1: program functions for VEX Robots

Competitive VEX Robot Designer. Terminal Objective 5.1: program functions for VEX Robots Skill Set 5: Programmer II Competitive VEX Robot Designer Terminal Objective 5.1: program functions for VEX Robots Performance Objective: Using a bumper switch, line follower, and potentiometer, program

More information

Autonomous Programming FTC Challenge Workshops VCU School of Engineering September 24, 2016 Presented by: Team 8297 Geared UP!

Autonomous Programming FTC Challenge Workshops VCU School of Engineering September 24, 2016 Presented by: Team 8297 Geared UP! Autonomous Programming 2016-2017 FTC Challenge Workshops VCU School of Engineering September 24, 2016 Presented by: Team 8297 Geared UP! Autonomous in VELOCITY VORTEX The Match starts with a 30 second

More information

Practical 4: RTC on FPGA

Practical 4: RTC on FPGA Practical 4: RTC on FPGA EEE4084F 2015-04-13 Background This practical is divided into two parts. The first is a tutorial that shows you how to set up a new FPGA project in Xilinx ISE. The second is a

More information

RCX Tutorial. Commands Sensor Watchers Stack Controllers My Commands

RCX Tutorial. Commands Sensor Watchers Stack Controllers My Commands RCX Tutorial Commands Sensor Watchers Stack Controllers My Commands The following is a list of commands available to you for programming the robot (See advanced below) On Turns motors (connected to ports

More information

Intro to Android Studio

Intro to Android Studio Intro to Android Studio Presenters Knut Peterson, Project Manager, Robo Raiders Jamari Morrison, Programming Lead, Robo Raiders Learning Goals How component mapping works Combining flow charting with programming

More information

Innovation First, Inc. Operator Interface Reference Guide

Innovation First, Inc. Operator Interface Reference Guide 11.8.2002 www.innovationfirst.com Page 2 Table of Contents 1. Operator Interface Basics...3 2. Input Power...4 3. RS-422 Radio...4 4. Operator Interface Ports 1, 2, 3, and 4...4 5. Tether Port...11 6.

More information

EV3 Programming Workshop for FLL Coaches

EV3 Programming Workshop for FLL Coaches EV3 Programming Workshop for FLL Coaches Tony Ayad 2017 Outline This workshop is intended for FLL coaches who are interested in learning about Mindstorms EV3 programming language. Programming EV3 Controller

More information

Autonomous Parking. LEGOeducation.com/MINDSTORMS. Duration Minutes. Learning Objectives Students will: Di culty Beginner

Autonomous Parking. LEGOeducation.com/MINDSTORMS. Duration Minutes. Learning Objectives Students will: Di culty Beginner Autonomous Parking Design cars that can park themselves safely without driver intervention. Learning Objectives Students will: Understand that algorithms are capable of carrying out a series of instructions

More information

Autonomy/Encoders Forward for Distance

Autonomy/Encoders Forward for Distance nomy/encoders Forward for Distance In this lesson, you will learn how to use an Encoder to more accurately control the distance that the robot will travel. 1. Your robot should have one encoder hooked

More information

Robot Code Review. Welcome!

Robot Code Review. Welcome! Robot Code Review Welcome! Basic robot code knowledge review Two phases in each game: Autonomous The robot runs on preprogrammed instructions Teleoperated The robot runs on commands as given by a driver

More information

Six Omni Wheel Chain Drivetrain

Six Omni Wheel Chain Drivetrain Six Omni Wheel Chain Drivetrain Before you start, make sure you have the right parts available. Set these parts on a table, and put all other parts away for now. [Note, this can be built with only 4 omni

More information

FTC Control Systems + Java The Gifted Gears

FTC Control Systems + Java The Gifted Gears FTC Control Systems + Java 101 Outline Control Systems REV Modern Robotics Phones and Phone Setup Programming Options and Setup Navigating Android Studios Java! OpModes Basics Actuators Teleop What Am

More information

Getting Started with FTC Using RobotC

Getting Started with FTC Using RobotC Oregon Robotics Tournament and Outreach Program Getting Started with FTC Using RobotC 2008 Opening doors to the worlds of science and technology for Oregon s s youth Instructors Coordinator Robot C for

More information

This is an inspection failure, not meeting the requirement of >10k Ohm between either PD battery post and chassis.

This is an inspection failure, not meeting the requirement of >10k Ohm between either PD battery post and chassis. Troubleshooting This is a document put together by CSA Laura Rhodes that contains a lot of information about troubleshooting steps for a lot of common control system problems encountered at events. No

More information

Robotics Adventure Book Scouter manual STEM 1

Robotics Adventure Book Scouter manual STEM 1 Robotics Robotics Adventure Book Scouter Manual Robotics Adventure Book Scouter manual STEM 1 A word with our Scouters: This activity is designed around a space exploration theme. Your Scouts will learn

More information

Colin Harman and Jonathan Kim

Colin Harman and Jonathan Kim Colin Harman and Jonathan Kim 2-6-10 Getting RobotC 1. Go to robotc.net/robofest 2. Enter coach information including Robofestteam ID 3. The coach will get an email with a link to download RobotC(90-day

More information

Don t Steal My BBC micro:bit Alarm!

Don t Steal My BBC micro:bit Alarm! Description This is a simple tutorial demonstrating how to use the output pins on the BBC micro:bit and use the built in accelerometer to control a buzzer when the BBC micro:bit is moved. Learn how to:

More information

logic table of contents: squarebot logic subsystem 7.1 parts & assembly concepts to understand 7 subsystems interfaces 7 logic subsystem inventory 7

logic table of contents: squarebot logic subsystem 7.1 parts & assembly concepts to understand 7 subsystems interfaces 7 logic subsystem inventory 7 logic table of contents: squarebot logic subsystem 7.1 parts & assembly concepts to understand 7 subsystems interfaces 7 logic subsystem inventory 7 7 1 The Vex Micro Controller coordinates the flow of

More information

Communicating with the BOE-BOT

Communicating with the BOE-BOT ME 1030 Name: Due date: Introduction to Mechanical Engineering BOE BOT Collected Assignment #1 Communicating with the BOE-BOT Reading Assignment: 1. Refer to the following sections in the BOE BOT Textbook

More information

Preliminary Design Report. Project Title: Human-Powered Sub. Team Name: Depth Perception

Preliminary Design Report. Project Title: Human-Powered Sub. Team Name: Depth Perception EEL 4924 Electrical Engineering Design (Senior Design) Preliminary Design Report 31 January 2011 Project Title: Team Name: Depth Perception Team Members: Name: Jared Korn Email: ex.malfunction@gmail.com

More information

Autodesk's VEX Robotics Curriculum. Unit 12: Object Manipulation

Autodesk's VEX Robotics Curriculum. Unit 12: Object Manipulation Autodesk's VEX Robotics Curriculum Unit 12: Object Manipulation 1 Overview Object manipulation is one of the primary objectives in most mobile robotic development today. In Unit 12: Object Manipulation,

More information

Chapter 1: Getting Started

Chapter 1: Getting Started Chapter 1: Getting Started Hello, and welcome to RBE 1001! This book will help you learn about how to use your Arduino to control a robot, including how to use various types of motors and sensors with

More information

//#define HTIRS2_DSP_MODE = 1200;

//#define HTIRS2_DSP_MODE = 1200; #pragma config(hubs, S1, HTMotor, HTMotor, HTMotor, HTMotor) #pragma config(hubs, S2, HTServo, none, none, none) #pragma config(sensor, S1,, sensori2cmuxcontroller) #pragma config(sensor, S2,, sensori2cmuxcontroller)

More information

Choosing a Base Class

Choosing a Base Class Choosing a Base Class There a number of base classes (starting points) for your robot program. Each base class sets the style and structure of your program. Be sure to read through this section before

More information

Pitstop Fuel Timer. Operating Manual

Pitstop Fuel Timer. Operating Manual Pitstop Fuel Timer Operating Manual Doug Shelby Engineering Revised: 8/25/2013 Table Of Contents 1. System Description:... 2 2. Software Installation:... 2 3. Hardware Installation:... 2 4. Driver Installation:...

More information

Digital Camera Controller

Digital Camera Controller SHUTTERBUG PRO Digital Camera Controller ShutterBug Pro is a tiny accessory that helps take digital or film camera snapshots. It is ideal for photographers that need to remotely snap photos or to time

More information

Block Programming Guide

Block Programming Guide f Block Programming Guide FIRST Global Block Programming Guide - Rev 1 Copyright 2018 REV Robotics, LLC TABLE OF CONTENTS 1 Getting Started... 1 1.1 Prerequisites... 1 2 Introduction... 2 2.1 What is an

More information

Scout. Quick Start Guide. WiFi Mobile Robot Development Platform with Multi-DOF Gripping Arms

Scout. Quick Start Guide. WiFi Mobile Robot Development Platform with Multi-DOF Gripping Arms WiFi Mobile Robot Development Platform with Multi-DOF Gripping Arms Scout Quick Start Guide Copyright 2001-2010, WARNINGS Do NOT power on the robot before reading and fully understanding the operation

More information