PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH [email protected] CENTENNIAL...

12
PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH [email protected] CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming Topics

Transcript of PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH [email protected] CENTENNIAL...

Page 1: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

PLTW CALIFORNIA STATE CONFERENCEFEBRUARY 19, 2015

COLIN [email protected]

CENTENNIAL HIGH SCHOOLBAKERSFIELD, CA

Advanced RobotC Programming Topics

Page 2: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Multi-Tasking

Limitations of Linear programming

Users must be careful with what control structures are being used.

Adding tasks to control different motors/sensors

Sensors can be shared, motors shouldn't

Page 3: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Implementing Multitasking

Works like function declaration

Task can be started or stopped within main() using the StartTask or StopTask functions.

Page 4: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

continued

Finally, the task must be defined

Page 5: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Use of Multi-tasking

• Allows multiple actions to occur ‘simultaneously’• Materials sorter• Emergency shutoff• StopAllTasks function

Page 6: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Proportional Control

Use variables for iterative control of motor speeds

Sensors are required for continuous input

A target value is set and is used to control the speed of the motor(s)

Page 7: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Error

Inside a loop, the ‘distance’ to the target is used to determine the speed of the motor.

This distance to target is often referred to as the error

Page 8: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Proportionality

Instead of a 1:1 ratio between the error and the motor speed, there is often a proportionality constant used to ‘tune’ the response of the motor.

Page 9: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Tuning the Proportionality constant

Page 10: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Code – traditional motor control

Page 11: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Proportional Lift

Page 12: PLTW CALIFORNIA STATE CONFERENCE FEBRUARY 19, 2015 COLIN SMITH COLIN_SMITH@KHSD.K12.CA.US CENTENNIAL HIGH SCHOOL BAKERSFIELD, CA Advanced RobotC Programming.

Additional Resources

• www.vexforum.com• www.robotc.net/education/training/vex/• www.robotc.net/forums/• www.robotc.net/support/webhelpfiles/• www.youtube.com