ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...
-
Upload
nguyendung -
Category
Documents
-
view
229 -
download
1
Transcript of ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...
![Page 1: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/1.jpg)
ADVANCEDEV3PROGRAMMINGLESSON
UsingtheGyroSensorandDealingwithDrift
BySanjayandArvindSeshan
![Page 2: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/2.jpg)
1. LearnwhattheGyroSensordoes
2. Learnabout2commonproblemswithusingthegyrosensor(driftandlag)
3. Learnwhat“drift”means
4. Learnhowtocorrectfordriftwithagyro“calibration”technique
5. Understandwhyitisimportanttoconsidermultiplesolutionstoaproblemsuchasgyrodrift
Prerequisites:Datawires,Loops,Logic&ComparisonBlocks
Update:Please read the“Gyro SensorRevisited”lesson forimportantupdates (8/6/2017)after you completethis lesson.
©2016EV3Lessons.com
LessonObjectives
8/6/17 2
![Page 3: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/3.jpg)
ì Gyrosensordetectsrotationalmotion
ì Thesensormeasurestherateofrotationindegreespersecond(rate)
ì Italsokeepstrackofthetotalrotationalangleandthereforeletsyoumeasurehowfaryourrobothasturned(angle)
ì Theaccuracyofthesensoris±3degreesfor90degreeturn
©2016EV3Lessons.com
WhatistheGyroSensor?
8/6/17 3
![Page 4: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/4.jpg)
ì Thereare2commonGyroissues– driftandlagì Drift– readingskeepchangingevenwhentherobotisstillì Lag– readingsaredelayed
ì Inthislesson,wefocusonthefirstproblem:drift.ì WewillcoverlagintheGyroTurnlesson
ì Solutiontodrift:gyrocalibrationì Thesourceofthedriftproblemisthatthegyromust“learn”whatis
still.ì Foracolorsensor,youhaveto“teach”therobotwhatisblackand
whiteì Foryourgyro,youneedtocalibratethesensortounderstandwhatis
“still”
©2016EV3Lessons.com
GyroSensorProblems
8/6/17 4
![Page 5: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/5.jpg)
• Thegyroauto-calibrateswhentherobotisturnedonorthegyrowireisconnected.Iftherobotismovingduringcalibration,thegyro“learns”thewrongvaluefor“still”– thiscausesdrift!
• Unfortunately,thereisnogyrocalibrationblock.Thereafewwaystomakethesensorrecalibrate.
©2016EV3Lessons.com
GyroCalibrationtoSolveProblem1:Lag
8/6/17 5
![Page 6: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/6.jpg)
• Thebelowarecriticalnotesforusingthegyrocorrectly!!!!!
• THEROBOTMUSTBESTILLWHENYOURUNANYOFTHESECALIBRATIONPROGRAMS!!!!
• JUSTLIKETHECOLORCALIBRATION,YOUSHOULDN’TRUNTHISEVERYTIMEYOUNEEDTOREADTHEGYRO.YOUSHOULDCALIBRATEINASEPARATEPROGRAMJUSTBEFOREYOURUNYOURPROGRAMORONCEATTHEBEGINNINGOFYOURPROGRAM.
©2016EV3Lessons.com
IMPORTANTNOTES
8/6/17 6
![Page 7: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/7.jpg)
©2016EV3Lessons.com
Calibration:Strategy1
Thegyrorecalibrateswhenitswitchesmodes.So,a“rate”readingfollowedbyan“angle”readingcalibratesthegyro.
Second,addawaitblocktogivethesensorabitoftimetofullyreset.Ourmeasurementsshowthat0.1secondsissufficient.
Notethatintherestofyourprogram,youshouldonlyusethe“angle”modesofthegyro.Usingthe“rate”or“rateandangle”modewillcausethegyrotorecalibrate.
8/6/17 7
![Page 8: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/8.jpg)
©2016EV3Lessons.com
Calibration:Strategy2
Thisversionofthecalibrationleavesthegyroinrate+anglemode.Thisisusefulifyouusetherateoutput.
Thedownsideofthisversionisthatittakeslonger(about3seconds).Also,youcannotusegyroresetanymore!
Notethatintherestofyourprogram,youshouldonlyusethe“rate+angle”modesofthegyro.Usingthe"angle"or“rate”modewillcausethegyrotorecalibrate.Also,***DONOT***usethegyroreset-thisforcesthegyrointoanglemodewhichwillcausealong3secondrecalibration.
8/6/17 8
![Page 9: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/9.jpg)
ì Having afixed timewait forthegyro tocalibratemay not always work.
ì Thegyro returns “Not aNumber”(NaN)until it has actually resetandNaNs arenot >,=,or<any number.This is because they arenot numbers
ì Theonlywayyoucanknowwhenitisfullyresetistomakesureyouaregettingbackarealnumber,insteadofaNot-a-Numbervalueì STEP1:Recalibratethegyroì STEP2:startaloopì STEP3:readangleì STEP4:check angle>=0ì STEP5:check angle<0ì STEP6:ORoutputs ofsteps 4&5ì STEP7:If theoutputofstep 6is true,exitloop
ì Atthis point,thesensor drift should begone.
©2016EV3Lessons.com
Strategy3:Pseudocode
8/6/17 9
![Page 10: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/10.jpg)
©2016EV3Lessons.com
Strategy3Solution
Notethatintherestofyourprogram,youshouldonlyusethe“angle”modesofthegyro.Usingthe“rate”or“rateandangle”modewillcausethegyrotorecalibrate.
Thisversionofthecalibrationleavesthegyroinanglemode.Thisisprobablythemostcommonwaytousethegyro.Thiscodetakesabout0.1sectorun.
8/6/17 10
![Page 11: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/11.jpg)
©2016EV3Lessons.com
Strategy4Solution
Notethatintherestofyourprogram,youshouldonlyusethe“rate+angle”modesofthegyro.Usingthe"angle"or“rate”modewillcausethegyrotorecalibrate.Also,***DONOT***usethegyroreset-thisforcesthegyrointoanglemodewhichwillcausealong3secondrecalibration.
Thisversionofthecalibrationleavesthegyroinrate+anglemode.Thisisusefulifyouusetherateoutput.
8/6/17 11
![Page 12: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/12.jpg)
©2016EV3Lessons.com
DiscussionGuide
1. What are2commonproblems when programming withthegyro?Ans.Gryo drift andGyro lag
2. What does Gyro drift mean?Ans.TheGyro readings keep changing even when therobotis still
3. Canyou move your robotwhen you calibrateyour gyro?Ans.No!!Keep therobotstill.
4. Doyou need tocalibrateyour gryo before every move?Ans.No.Oncebefore you run your entire program
5. Why might it beimportant toconsider multiplesolutions toaproblem?Ans.Inrobotics,there aremultiplewaystosolveaproblem andthere might betradeoffs between thesolutions (e.g.how longthecodetakes torun thecode,canyou useboth rateandanglereadings?)
Update:Please read the“Gyro SensorRevisited”lesson forimportant updates (8/6/2017)
8/6/17 12
![Page 13: ADVANCED EV3 PROGRAMMING LESSON Using the Gyro Sensor ...](https://reader031.fdocuments.in/reader031/viewer/2022022416/586b639e1a28ab21638b5c89/html5/thumbnails/13.jpg)
ì ThistutorialwaswrittenbySanjaySeshan andArvindSeshanandusescodesharedbyHoosierGirlz(http://www.fllhoosiergirlz.com)
ì Morelessonsatwww.ev3lessons.com
©2016EV3Lessons.com
Credits
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
8/6/17 13