1 / 14

Машурина Юлия Германовна Гусева Арина Александровна Руководитель:

Робот LEGO рисует геометрические фигуры. Машурина Юлия Германовна Гусева Арина Александровна Руководитель: Сапожникова Наталья Владимировна. Авторы: Машурина Юлия Германовна Гусева Арина Александровна Mashurina Yuliya G . Guseva Arina A .

joelle
Download Presentation

Машурина Юлия Германовна Гусева Арина Александровна Руководитель:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Робот LEGO рисует геометрические фигуры Машурина Юлия Германовна Гусева Арина Александровна Руководитель: Сапожникова Наталья Владимировна

  2. Авторы: Машурина Юлия Германовна Гусева Арина Александровна MashurinaYuliya G. GusevaArina A. Руководитель: Сапожникова Наталья Владимировна, учитель информатики, м.т. 8-911-041-9381, natal_sup@mail.ru Россия, г. Великий Новгород, МАОУ «Гимназия «Эврика», улица Большая Санкт-Петербургская, дом 94, (8-816) 62-84-46; temp3@Yandex.ru

  3. На базе нашей гимназии работает Городская компьютерная школа «Кэш», в которой можно заниматься программированием и робототехникой. Мы занимаемся робототехникой первый год. В декабре мы ездили в Санкт-Петербург на Зимние состязания роботов, участвовали в соревнованиях в номинации «Кегельринг» , но к сожалению не стали призерами, хотя были близки . Но мы не отчаиваемся, сейчас готовимся к «Лабиринту». В Санкт-Петербурге мы увидели выставку роботов и загорелись идеей сделать что-нибудь этакое!!! И решили – наш робот будет рисовать!

  4. Работа посвящена исследованию задач о прокладывании пути гусеничного робота, оснащенного пером (маркером), оставляющим след во время движения робота. В процессе исследования решена задача организации движения и построения роботом основных геометрических фигур методом подбора данных для расчета угла поворота и длительности движения робота. Поставлена задача автоматического расчета роботом данных для поворота на произвольный угол, вычисляемый по математической формуле, что даст возможность осуществлять движение робота по заранее заложенной в программе математической функции. Работа проводилась с использованием роботехнического набора LegoMindstorms NXT 2.0 и средой программированияRobotC.

  5. Задача 1. Сконструировать робота, способного перемещаться по плоскости и оставлять за собой след. а) осуществлен выбор центра тяжести робота; б) первоначально собранный колесный робот был заменен на гусеничный для осуществления более точных поворотов; в) выбрано место крепления маркера таким образом, чтобы при повороте достигалось минимальное отклонение маркера от траектории движения робота.

  6. Задача 2. Написать программу для рисования роботом прямой линии. task main() { motor[motorB] = 100; motor[motorC] = 100; wait1Msec(1000); motor[motorB] = 0; motor[motorC] = 0; } При выполнении этой программы робот движется вперед в течении 1000 миллисекунд и рисует прямую линию.

  7. Задача 3. Написать программу для рисования роботом квадрата. task main() { for(int i=0;i<4;i++){ motor[motorB] = 50; motor[motorC] = 50; wait1Msec(1000); motor[motorC] = -50; wait1Msec(500); motor[motorB] = 0; } } При выполнении этой программы робот рисует квадрат, однако точность движения маркера во время поворота нуждается в доработке.

  8. Задача 4. Написать программу для рисования роботом треугольника. task main() { for(int i=0;i<3;i++){ motor[motorB] = 50; motor[motorC] = 50; wait1Msec(1000); motor[motorC] = -50; wait1Msec(300); motor[motorB] = 0; } } При выполнении этой программы робот рисует треугольник.

  9. Задача 5. Написать программу для рисования роботом окружности. task main() { motor[motorB] = 100; motor[motorC] = 40; wait1Msec(4000); motor[motorC] = 0; motor[motorB] = 0; } При выполнении этой программы робот рисует окружность радиусом примерно 45 сантиметров. Проведен эксперимент по изменению радиуса окружности с помощью изменения скорости моторов.

  10. Задача 6. Написать программу для рисования роботом эллипса. task main() { for(int i=0;i<3;i++){ motor[motorB] = 100; motor[motorC] = 30; wait1Msec(1900); motor[motorB] = 100; motor[motorC] = 60; wait1Msec(5000); } motor[motorC] = 0; motor[motorB] = 0; } При выполнении этой программы робот рисует эллипс. Проведен эксперимент по изменению радиуса кривизны эллипса с помощью изменения скорости моторов.

  11. Задача 7. Написать программу для рисования роботом спирали. task main() { motor[motorB] = 100; motor[motorC] = 50; wait1Msec(5000); motor[motorB] = 100; motor[motorC] = 30; wait1Msec(3500); motor[motorB] = 100; motor[motorC] = 20; wait1Msec(2000); motor[motorB] = 100; motor[motorC] = 10; wait1Msec(1000); motor[motorC] = 0; motor[motorB] = 0; } При выполнении этой программы робот рисует спираль.

  12. Задача 8. Написать программу для перемещения робота из точки (0,0) в точку с произвольными координатами (x,y). task main() {int x0=0; int y0=0; int x=30; inty=50; // (x,y)=(30,50) int d; int alpha; d=sqrt ((x-x0)*(x-x0)+(y-y0)*(y-y0)); alpha=atan((y-y0)/(x-x0)); nMotorEncoder[motorB]=0; motor[motorB] = 100; motor[motorC] = -100; while(nMotorEncoder[motorB]<230/90*alpha);\\ поворот на нужный угол alpha motor[motorB] = 0; motor[motorC] = 0;\\ стоп моторы motor[motorB] = 100;motor[motorC] = 100;\\ движение в заданном направлении на заданную величину d wait1Msec(d*1000); } Опытным путем мы установили, что при повороте робота на 90 градусов энкодер поворачивается на 230 градусов вокруг своей оси. Следовательно повороту на 1 градус соответствует 230/90 оборотов энкодера.

  13. Задача 9. Написать программу для перемещения робота из точки с произвольными координатами (x, y, alpha) в точку с произвольными координатами (x1,y1, alpha1), где alpha – угол поворота робота до начала движения. Эта задача пока не решена, мы работаем над ее решением. Как только это произойдет наш робот сможет автоматически строить заранее заданные в программе графики математических функций и геометрические фигуры.

  14. Литература 1. Филиппов С.А. Робототехника для детей и родителей. – М.: "Наука" , 2011, 263 с. 2. Индустрия развлечений: ПервоРобот. Книга для учителя и сборник проектов. - LEGO Education. 3. Сайтhttp://www.lego.com/education/ 4. Сайтhttp://www.legoengineering.com/ 5. Сайтhttp://legomindstorms.ru/ 6. Cайтhttp://nxtprograms.com 7. Сайт http://www.robotc.net 8. Сайт http://nnxt.blogspot.com

More Related