Главная Обучение Олимпиады Контакты

 

 


Летняя КШ "КЭШ"


Программа обучения:

Робототехника в виртуальной среде CeeBot4 (34 часа, 7-11 класс)
Составитель: Иванов А.Н.

Программа начального и среднего уровня изучения робототехники.






Содержание изучаемого курса "Робототехника в виртуальной среде CeeBot4"

1. Глава первая

Task 1. Titanium 1
Task 2. Titanium 2
Task 3. Power Cell 1
Task 4. Power Cell 2
Task 5. Power Cell 3
Task 6. Titanium 3


Task 1. Titanium 1

«Program the robot so that it drops the titanium cube on the plate-form. In order to achieve this, it must grab the cube, move 5 meters forward, and drop the cube».

В первом задании от вас требуется научиться пользоваться CeeBot и написать несложную программу. Ваш робот должен перенести куб титаниума (Titanium Cube) на платформу, которая расположена в 5 метрах от робота.

Для того чтобы начать программировать, вам следует щелкнуть на самого робота. Тогда внизу экрана появится небольшое меню.



В этом меню необходимо нажать значок . Откроется окно:



Здесь вы и будете писать программу для вашего робота.
После того, как вы напишите свою программу, нажмите стрелку , которая находится в правом нижнем углу окна, и робот начнет выполнять программу.

Итак, перейдем к первому заданию. Можно получить подсказки, если нажать F1 и вызвать, таким образом, справку.

В справке вам уже дана программа:

grab();
move(5);
drop();

Разберем её.

Команда grab(); обозначает, что нужно что-то взять. Обратите внимание, что при записи команды обязательны круглые скобочки и точка с запятой.

Команда move(5); заставляет робота ехать на столько метров вперед, сколько указано в скобочках. В нашем случае нужно проехать 5 метров вперед, поэтому мы указываем число 5.

И команда drop(); - положить то, что взяли.

Все команды в программе будут выполняться последовательно, такие программы называются линейными.


Task 2. Titanium 2

«Program the robot so that it drops the titanium cube on the plate-form. This time the plate-form is 5 m behind the robot. Just replace the move(5); in the program of the previous exercise by move(-5);. The minus sign means that the robot will move backward».

Во втором задании от вас требуется написать программу, с помощью которой робот будет переносить кубик титаниума на платформу. В отличие от предыдущего задания, в этом задании, платформа находится позади вашего робота.



Научимся правильно пользоваться командой move();. Это очень просто. В скобочках указывается число, обозначающее, сколько нужно проехать. Если мы укажем положительное число, робот поедет вперед. Если отрицательное – назад.

Теперь мы можем написать программу, при выполнении которой, робот отвезет кубик на платформу, находящуюся за ним:

grab();
move(-5);
drop();

Мы опять получили программу из нескольких последовательно выполняющихся команд, т.е. линейную программу.


Task 3. Power Cell 1

«The winged grabber (jet propelled robot with an operating arm) is programmed to fetch a titanium cube behind the mountains. Unfortunately it has got no power cell. Program the wheeled grabber so that it provides the winged grabber with a power cell».

Как говорил Бендер "Без паники, я спасу себя!!!".



Но эта фраза здесь не пройдет. Роботы создаются для того, чтобы помогать. И помогать они должны не только людям, но и себе подобным.

Третье задание заключается в том, что ваш робот должен помочь другому роботу, положив в него заряженную батарею.



Для этого задания вам понадобится новая команда – поворот и следует выполнить такой алгоритм:

взять батарею,
повернуться на 90 градусов влево,
положить батарею.

За поворот отвечает команда turn();. В скобочках мы должны указать число. Оно будет обозначать, на сколько градусов роботу следует повернуться. Если число положительное, робот повернется влево (против часовой стрелки), иначе – вправо (по часовой стрелке).

Получившаяся программа:

grab();
turn(90);
drop();

Теперь мы сможем помочь другому роботу!



Заряженный робот улетает искать титаниум, поэтому придется подождать некоторое время, пока робот не вернется на платформу. Только после этого задание будет выполнено!


Task 4. Power Cell 2

«The winged shooter (jet propelled robot with a fireball canon) is programmed to do some cleaning. Unfortunately it has got no power cell. Program the wheeled grabber so that it provides the winged shooter with a power cell».

Это задание практически не отличается от предыдущего. Теперь мы должны зарядить робота, который запрограммирован на уборку! Единственное отличие от предыдущего задания будет состоять в том, что робот, которому нужна помощь, находится справа от вашего робота и поэтому нужно лишь изменить число в команде поворота, а алгоритм программы предыдущего задания оставить прежним.



Так как теперь нужно повернуть вправо, а не влево, укажем отрицательное число:

grab();
turn(-90);
drop();

Это задание используется для закрепления и лучшего понимания команды turn();.


Task 5. Power Cell 3

«The wheeled grabber in front is programmed so that it produces new power cells. Unfortunately its own power cell is empty. Program the wheeled grabber behind so that it switches the power cell of its colleague».

“— Где куриный бульон, который мы просили?
— Вот тебе курица, вода и огонь. Дальше сама справишься.” - Futurama.



Человек не сможет выжить без еды, поэтому ему нужно её добывать. Для него это некая энергия, без которой он не может существовать. Роботу, как и человеку, тоже нужна энергия. Поэтому, это задание заключается в том, что мы должны заменить батарею роботу, который будет производить из куба титаниума новые батареи. Для того, чтобы это сделать, потребуется усложнить нашу предыдущую программу, в которой мы просто вставляли новую батарею.

Теперь мы должны вначале вытащить старую батарею, убрать её в сторону, а после чего взять новую батарею и положить её в робота.



Используем несколько раз команду turn(); и предыдущие программы:

grab(); //* Возьмём разряженную батарею.
turn(90); //* Повернёмся влево на 90 градусов, для того чтобы положить батарею в сторону.
drop(); //* Положим батарею.
turn(-180); //* Повернёмся к новой, заряженной батарее.
grab(); //* Возьмём её.
turn(90); //* Повернёмся к роботу.
drop(); //* И положим в него заряженную батарею.

Наша программа усложнилась. Стало больше действий для робота, но алгоритм по-прежнему остался линейным, так как все действия выполняются последовательно. Кстати, это не единственное решение! Например, в приведенной программе во второй строке мы делаем поворот влево на 90 градусов, а можем повернуть на 180 градусов, ведь разряженную батарею можно положить в любом месте. Если вы решите так сделать, то в четвертой и шестой строках нужно изменить значение угла!


Task 6. Titanium 3

«Produce a titanium cube. Program the robot so that it drops a chunk of titanium ore (brown and more or less round) on the converter (plate-form), and move it back 3 m so that the converter can get down to work. The ore chunk is 5 m in front of the present robot position, the converter is 5 m behind».

Теперь вы должны произвести титановый куб. Для этого есть специальный конвертер (Converter), который находится на платформе, позади робота.



Производиться куб будет из титановой руды (Titanium Ore), она расположена перед роботом.

До руды нужно доехать 5 метров (как указано в задании) и взять её. После чего развернуть робота передом к конвертеру, отвезти туда руду, проехав 10 метров (так как до конвертера 5 метров и до руды тоже 5 метров) и положить её.

Вспомним команду move(); и используем её для передвижения. Если задать в скобочках положительное число, то робот поедет вперед, иначе - назад. Вспомним команду turn(); и используем её для поворота. Если вы хотите, чтобы ваш робот повернулся налево, укажите положительное число. Если вы хотите чтобы он повернулся вправо – отрицательное число. Вспомним еще две команды: команда grab(); для того чтобы что-то взять и команда drop(); , чтобы положить то, что взяли.

Итак, в итоге мы будем иметь такую программу:

move(5);
grab();
turn(180);
move(10);
drop();
move(-3);



В этом задании мы использовали все те команды, которые изучили, начиная с первого задания этой главы. Эти команды нужно помнить в течение всей обучающей игры, так как они будут все время использоваться.

Теперь можно подвести итоги первой главы. Мы знаем 4 команды:

grab(); //* Взять что-либо.

drop(); //* Положить то, что взяли.

move();
//* Ехать столько метров, сколько указано в скобочках. Если указано положительное число, то ехать вперед, иначе назад.

turn();
//*Повернуть на столько градусов, сколько указано в скобочках. Если указано положительное число, повернуть налево. Если указано отрицательное число – направо.

Не начав добиваться цели, к ней не придешь…


Вы можете послать свое сообщение по электронному адресу temp3@yandex.ru или посетить раздел Контакты.

 
Copyright © 2020 апр
Великий Новгород