Досега използвахме алгоритъм за следване на линия, който наричаме "патешко следване на линия" заради движенията на робота. Нека обърнем по-специално внимание на този алгоритъм и видим, колко състояния се съдържат в него.

Необходимо е да се абонирате за FLLCasts.com, за да достъпите това видео
- #885
- 30 Mar 2018
Програмата за следване, в която се използва алгоритъмът за „патешко“ следване на линия, изглежда по следния начин:
и се състои от две състояния:
- Ако засеченият цвят е черен, роботът завива на една страна;
- Ако засеченият цвят е бял, роботът завива на другата страна.
Както можете да прецените, това не води до особена продуктивност. Роботът постоянно се върти наляво или надясно и никога не върви напред, дори когато линията е права. Това прави алгоритъма бавен и неефективен. Отново, за целите на този пример, нека си представим, че роботът следва десния контур на линията.
Нека помислим как бихме могли да добавим състояние, в което роботът върви право напред. Идеята е да имаме три състояния:
- завиване наляво – когато роботът е извън линията:
- завиване надясно – когато роботът е върху линията:
- движение напред – когато роботът е върху контура:
За да постигнем това, обаче, не можем да използваме режима за цвят на сензора за цвят, а режима за отразена светлина. Да кажем, че сме отчели стойностите, които сензорът е засякъл на черно, бяло и върху контура на линията, и те са следните:
- върху линията -> 9%;
- върху контура -> 32%;
- извън линията -> 55%.
Безсмислено е роботът да се движи напред, само когато сензорът отчита 32. Затова ще програмираме робота да се движи напред, когато стойността, която отчита сензорът, е близка до 32. Нека допустимата грешка бъде +/- 5. Така, когато стойността е между 27% и 37%, роботът ще се придвижва напред.
Когато стойността е по-малка от 27%, роботът ще завие надясно, а когато е по-голяма от 37%, ще завие наляво. Като имаме тези три състояния, можем да съставим следния алгоритъм:
- Ако сензорът отчете стойност, по-малка от 27%, това означава, че роботът е върху черна линия и трябва да завие надясно;
- Ако роботът отчете стойност, която е по-голяма от 27%, то роботът е или върху контура, или върху бяло. За да установим, къде се намира роботът, трябва да направим втора проверка, като сравним стойността с 37%. Ако отчетената стойност е по-голяма от 27% и по-малка от 37%, то роботът се намира върху контура и трябва да продължи напред;
- Ако сензорът отчита стойност, по-голяма от 37%, то роботът е върху бяло и трябва да завие наляво;
Отчетете стойностите, които роботът вижда в трите зони, и се опитайте да приложите горния алгоритъм. Опитайте да разделите задачата на по-прости и по-малки задачи.
Курсове и занятия включващи този Урок
Този Урок е използван в следните курсове и занятия.

Instructors Remote Training
If you are working with students and you want to introduce Robotics to your class or you want to mentor a FLL team, but you are insecure about your technical knowledge in the Robotics field, then this is the right place for you. Having in mind teachers' busy schedule, we have design two different schedules and added an option to design one just for you. FLLCasts's Mindstorms EV3 Robotics Online Training is the perfect match for any teacher.
After the completion of each task the participant has to upload his solution for verification.
- 136
- 280:11
- 156

Competition programming
In this episode, we introduce a LEGO Mindstorms EV3 version of competition robot construction. It is a modular construction, with medium motor for additional attachments and two light or colour sensors for orientating on the field.
- 7
- 0
- 8
- 3d_rotation 1

Роботика с LEGO - Ниво 2.0 - Роботи в производството
Третото ниво от учебната програма по LEGO роботика за ученици от пети до дванадесети клас.
Роботите започват да използват по два или три сензора едновременно и учениците създават по-сложни програми за тях. Изучава се действието на диференциала и как той помага на роботи с един задвижващ двигател да завиват. Роботите си взаимодействат като си предават информация или детайли един на друг и учениците изучават задълбочено как да следват линия по-плавно. В края на работния ден роботите излизат от поточната линия и се възстановяват с игра на волейбол.
- 44
- 15:01
- 129

Допълнителни задачи за роботниците
Изглежда имаме още време до крайния срок за роботите. Затова ще си поиграем с подобрение на следването на линия, което ще направи роботите ни да се движат много по-внимателно, за да запазят частите от торти цели!
- 2
- 1
- 3
- 3d_rotation 0

Ниво Д - "Транспорт" - Роботика с LEGO
Петото ниво по програмата за Роботика с LEGO за ученици от трети и четвърти клас.
За първи път се конструират роботи с насочващи колела за завиване и един или два задвижващи двигателя. Задълбочено се изучава работата на механичния диференциал и как той помага на превозните средства да завиват. Учениците изучават работата на сензора за светлина за да програмират по-добри начини за следване на линия. Построява се първият двуколесен робот-мотоциклет.
- 33
- 1:03
- 110

Занятие 5 - Лодка за следване на линия с 3 състояния
Важно е да даваме обратна връзка за учениците си. Стараем се да го правим редовно по време на курса. По-долу следва описание какви рангове пишем училището по роботика и кои аспекти от поведението на учениците ги определят.
Днес трябва да поставите рангове на учениците си според инструкциите тук.
- 5
- 3
- 8
- 3d_rotation 1

Роботика с LEGO - Ниво 2.0 - Роботи в производството
Третото ниво от учебната програма по LEGO роботика за ученици от пети до дванадесети клас.
Роботите започват да използват по два или три сензора едновременно и учениците създават по-сложни програми за тях. Изучава се действието на диференциала и как той помага на роботи с един задвижващ двигател да завиват. Роботите си взаимодействат като си предават информация или детайли един на друг и учениците изучават задълбочено как да следват линия по-плавно. В края на работния ден роботите излизат от поточната линия и се възстановяват с игра на волейбол.
- 44
- 15:01
- 129

Занятие 5 - Робо-Кола
Важно е да даваме обратна връзка за учениците си. Стараем се да го правим редовно по време на курса. По-долу следва описание какви рангове пишем училището по роботика и кои аспекти от поведението на учениците ги определят.
Днес трябва да поставите рангове на учениците си според инструкциите тук.
- 6
- 4
- 11
- 3d_rotation 1

Stay @ Home SPIKE Prime Course
An introduction to the SPIKE Prime set! In this course you will have access to 7 3D instructions for SPIKE Prime robots, exploring the possibilities of the base set. After you build them, you can give them life using our cool programs that do various things, from just moving the robot forward, to finding the closest object to it.
After that, if you are up to the challenge, we have prepared some hard additional tasks. They aim to make you research solutions for modifications to the program and the robot. Of course, you can always make your own additions to the robots and have fun with it!
- 4
- 0:33
- 27