Образовательная робототехника: робот vex iq - путешественник

Обзор решения задач начального уровня в образовательной робототехнике связанных с автоматизированным передвижением робота на примере изучения робототехнического комплекта Vex IQ (модель Clawbot IQ With Sensors) на базе языка программирования RobotC.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид статья
Язык русский
Дата добавления 21.01.2018
Размер файла 15,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Образовательная робототехника: робот vex iq - путешественник

Векслер Виталий Абрамович

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

Сегодня образовательная робототехника становится все более популярной среди школьников, в связи со своей ярко выраженной практической направленностью. Обучающийся не только формирует свое «инженерное» мышление, связанное со сборкой моделей роботов, но и развивают алгоритмическую компетентность в следствии интегрированного изучения принципов программирования робота и принципов его сборки.

Одной из интересных задач начального уровня становится задача передвижения робота по комнате. В качестве базовой основы возьмем робототехнический комплект Vex IQ и язык программирования RobotC.

Для решения задач по передвижению робота будем использовать стандартную модель Clawbot IQ With Sensors.

Расположение моторов и датчиков.

Motor Ports:

VEX IQ Port 1:leftMotor

VEX IQ Port 6:rightMotor

VEX IQ Port 10: armMotor

VEX IQ Port 11: clawMotor

Sensor Ports:

VEX IQ Port 2: touchLED (Touch LED)

VEX IQ Port 3: colorDetector(Color Sensor/Hue Mode)

VEX IQ Port 4: gyroSensor (Gyro)

VEX IQ Port 7: distanceMM (Distance)

VEX IQ Port 8: bumpSwitch (Bumper Switch)

Для путешествия поднимем руку-схват робота, освободив датчик touchLED (Touch LED).

Задание 1

Ехать вперед пока не уткнемся в препятствие. После обнаружения препятствия остановиться.

Дополнительные требования

Обращение к датчикам и моторам осуществите по их именам. К порту 2 присоединён датчик touchLED (Touch LED). Робот начнет ехать после нажатия на данный датчик (1 -- нажат, 0 -- не нажат). После нажатия на touchLED раздается звуковой сигнал. К порту 8 подсоединён датчик bumpSwitch (Bumper Switch). Робот должен ехать вперед пока не уткнется датчиком bumpSwitch в препятствие, в этом случае датчик bumpSwitch будет нажат и значение переменной данного сенсора будет равно единице (в не нажатом состоянии оно равно 0).

Вариант решения

task main()

{

while (getTouchLEDValue(touchLED) == 0 {}

playSound(soundAirWrench);

while(getBumperValue(bumpSwitch) == 0)

{

setMotorSpeed(leftMotor, 127);

setMotorSpeed(rightMotor, 127);

sleep(2000);

}

}

Задание 2

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

Вариант решения

task main()

{

while (getTouchLEDValue(touchLED) == 0)

{}

playSound(soundAirWrench);

repeat (forever)

{

if(getBumperValue(bumpSwitch) == 0)

{

setMotorSpeed(leftMotor, 127);

setMotorSpeed(rightMotor, 127);

sleep(20);

}

else

{

setMotorSpeed(leftMotor, -127);

setMotorSpeed(rightMotor, -127);

sleep(500);

setMotorSpeed(leftMotor, 127);

setMotorSpeed(rightMotor, 0);

sleep(1500);

}

}

}

Задание 3

Обращение к датчикам и моторам осуществите по их портам. Встретив препятствие, робот отъедет назад и развернется влево.

Вариант решения

task main()

{

repeat(forever)

{

if (SensorValue[port8]==0)

{

motor[port1] = 127;

motor[port6]=127;

wait1Msec(100);

}

else

{

motor[port1] = -60;

motor[port6]=-60;

wait1Msec(400);

motor[port1] = 60;

motor[port6]=-60;

wait1Msec(400);

}

}

}

Задание 4

Для упрощения программного кода, используйте возможности функций в программном коде. Осуществите поворот случайным образом, скорости моторов при каждом новом развороте должны завесить от случайных чисел.

Дополнительно

Используйте функции:

Srand

void srand(const long nSeedValue)

Генератор псевдослучайных чисел инициализируется с использованием аргумента, переданного как nSeedValue. Для каждого другого начального значения, используемого при вызове srand, можно ожидать, что генератор псевдослучайных чисел генерирует другую последовательность результатов в последующих вызовах rand.

srand (nSysTime) -- аргументом генерации может выступить системное время.

Rand

word rand()

Возвращает псевдослучайное целое число в диапазоне от 0 до не менее 32 767 (в зависимости от платформы). Типичным способом генерации псевдослучайных чисел в определенном диапазоне с использованием rand является использование по модулю возвращаемого значения диапазоном диапазона и добавление начального значения диапазона:

· ? (значение% 100) находится в диапазоне от 0 до 99

· ? (значение% 100 + 1) находится в диапазоне от 1 до 100

· ? (значение% 30 + 1985) находится в диапазоне от 1985 до 2014 года

Обратите внимание, однако, что эта модульная операция не генерирует по-настоящему равномерно распределенное случайное число в промежутке, но, как правило, это хорошее приближение для коротких промежутков.

Вариант решения

void move(long lm, long rm, long tm)

motor[port1] = lm;

motor[port6]= rm;

wait1Msec(tm);

task main()

repeat(forever)

{

if (SensorValue[port8]==0)

{

move(127,127,100);

}

else

{

move(-60,-60,400);

srand(nSysTime);

move(rand() % 61 ,-1*rand() % 61,400);

}

}

Задание 5

Используйте конструкцию робота, в котором датчик расстояния прямо смотрит на правую сторону. Возможно использование Clawbot IQ With Sensors. Переставьте местами датчики colorDetector (Color Sensor/Hue Mode)и distanceMM (Distance). Раздвиньте щупальца схвата, чтобы они не мешали датчику. Зайдите в раздел «Motor and Sensor Setup» и отметьте произведенные изменения. В более идеальном варианте желательно переделать конструкцию чтобы датчик прямо смотрел на стену.

Новая конфигурация датчиков:

#pragma config(Sensor, port2,touchLED, sensorVexIQ_LED)

#pragma config(Sensor, port3,distanceMM, sensorVexIQ_Distance)

#pragma config(Sensor, port4,gyroSensor, sensorVexIQ_Gyro)

#pragma config(Sensor, port7,colorDetector,sensorVexIQ_ColorHue)

#pragma config(Sensor, port8,bumpSwitch, sensorVexIQ_Touch)

#pragma config(Motor,motor1,leftMotor, tmotorVexIQ, openLoop, driveLeft, encoder)

#pragma config(Motor,motor6,rightMotor,tmotorVexIQ, openLoop, reversed, driveRight, encoder)

#pragma config(Motor,motor10, armMotor,tmotorVexIQ, openLoop, encoder)

#pragma config(Motor,motor11, clawMotor, tmotorVexIQ, openLoop, encoder)

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

Вариант решения

task main()

{

float u, k=1;

int L=SensorValue[port3]; // замер первоначального расстояния

while(true)

{

u=k*(SensorValue[port3]-L); // управляющее воздействие

motor[motor1]=60+u;

motor[motor6]=60-u;

wait1Msec(1);

}

}

Если SensorValue[port3] = L то робот едет прямо, иначе его скорость корректируется.

Для более устойчивого движения предлагается следующий вариант.

task main()

{

float u, k1=2, k2=10;

int Sold, L;

Sold=L=SensorValue[port3];

while(true)

{

u= k1*(SensorValue[port3]-L) + k2*(SensorValue[port3]-Sold);

motor[motor1]=60+u;

motor[motor6]=60-u;

Sold=SensorValue[port3];

wait1Msec(1);

}

}

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

Список литературы

1. Филиппов С.А. Робототехника для детей и родителей. - СПб.: Наука, 2013. 319 с.

2. Филиппов С.А. Основы робототехники на базе конструктора Lego Mindstorm NXT. Занятие 6. Ориентация на местности: объезжаем стены // Компьютерные инструменты в школе. - № 6. 2010. - С. 43 - 50.

3. Горнов О.А. Основы робототехники и программирования с Vex EDR. - М: Издательство «Экзамен», 2016. - 160 с.

Размещено на Allbest.ru

...

Подобные документы

  • Concept and functional features of piezoelectric sensors, the scope of its application. Designing with piezoelectric sensors. Piezo-vibration sensor Parallax 605–00004 and Bosch 608–00112: overview, technical characteristic, accessories, installations.

    контрольная работа [1,1 M], добавлен 27.05.2013

  • Что такое робот, истоки робототехники и классификация роботов. Проектирование робота для разминирования различных технических объектов. Технические расчеты движения и координирования руки и различных сил действующих на нее, особенности корпуса и головы.

    курсовая работа [128,0 K], добавлен 12.08.2010

  • Существующие разработки змеевидных роботов и их природные прототипы: движение змей в природе, его механизация. Змеевидный робот Кевина Доулинга и Дору Михалачи, принципы управления ими. Разработка системы управления для змеевидного робота – "Змеелок".

    дипломная работа [4,3 M], добавлен 03.02.2012

  • Механизм подъема промышленного робота. Определение параметров рабочих траекторий. Расчет рабочей нагрузки. Расчетная модель привода. Выбор двигателей и редукторов. Выбор передаточного числа редуктора и проверка пары двигатель-редуктор на нагрев.

    курсовая работа [1,0 M], добавлен 18.08.2013

  • Обзор генераторов сигналов. Структурная схема и элементная база устройства. Разработка печатной платы модуля для изучения генератора сигналов на базе прямого цифрового синтеза. Выбор технологии производства. Конструкторский расчет; алгоритм программы.

    дипломная работа [1,7 M], добавлен 25.04.2015

  • Характеристика микропроцессорного комплекта серии КР580. Микросхема КР580ВК28 - системный контролер для управляющих сигналов. Контроллер клавиатуры и дисплея КР580ВВ79. Планирование адресного пространства памяти, построение схем дешифрации адресов памяти.

    курсовая работа [1,0 M], добавлен 23.11.2010

  • Разработка конструкции исполнительных механизмов платформы шагающего робота. Разработка универсальных контроллеров и системы управления высокого уровня. Проектирование базовых алгоритмов управления, обеспечивающих автономное и супервизорное управление.

    дипломная работа [6,3 M], добавлен 07.07.2012

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

    дипломная работа [728,0 K], добавлен 13.06.2012

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

    курсовая работа [142,0 K], добавлен 30.01.2013

  • Классификация навигационных систем; телевизионная, оптическая, индукционная и радиационная системы измерения угловых координат. Системы измерения дальности и скорости, поиска и обнаружения. Разработка и реализация системы навигации мобильного робота.

    дипломная работа [457,8 K], добавлен 10.06.2010

  • Сравнительный анализ между классическими и квантовыми нейронами. Построение квантовой нейронной сети. Однослойный и многослойный персептроны. Алгоритм обратного распространения "Back Propagation". Робототехника как направление искусственного интеллекта.

    магистерская работа [1,7 M], добавлен 26.12.2012

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

    курсовая работа [972,1 K], добавлен 20.10.2013

  • Функціональна схема мікроконтролера ATMega8. Розробка робота на базі мікроконтролера ATMega8 з можливістю керування електродвигунами за допомогою програми. Функціональна і принципова схеми пристрою з вибором додаткових елементів, алгоритм його роботи.

    курсовая работа [1,3 M], добавлен 08.10.2012

  • Методы и этапы конструирования радиоэлектронной аппаратуры. Роль языка программирования в автоматизированных системах машинного проектирования. Краткая характеристика вычислительных машин, используемых при решении задач автоматизации проектирования РЭА.

    реферат [27,0 K], добавлен 25.09.2010

  • Эффективность применения средств комплексной автоматизации производственных процессов. Принципы построения робототехнических систем. Степени подвижности манипулятора робота. Критерии компактности и классификационные признаки промышленных роботов.

    дипломная работа [1,2 M], добавлен 28.09.2015

  • Рассмотрение принципов организации Deep Packet Inspection в телекоммуникации. Проведение исследований нейронных сетей. Выбор оптимальной модели для решения задач классификации мультимедийного трафика. Изучение вопросов безопасности жизнедеятельности.

    дипломная работа [1,0 M], добавлен 22.06.2015

  • Характеристика одно- и двухканального уровнемера жидкости ВК1700. Датчики уровня (первичные преобразователи) ВК1700. Системы измерительные гамма для объемного учета жидкостей на базе контроллера ГАММА-10. Сигнализатор уровня ультразвуковой СУР-6.

    курсовая работа [662,7 K], добавлен 01.10.2011

  • Системы искусственного интеллекта как предпосылки создания робототехники. Теоретические основы систем искусственного интеллекта, особенности их прикладных задач. История и основные перспективы развития робототехники. Современное состояние роботизации.

    курсовая работа [435,3 K], добавлен 14.04.2014

  • Исследование и выбор промышленного робота для лазерной резки; анализ технологического процесса; конструкция лазерного излучателя. Разработка общей структуры системы управления промышленным роботом как механической системой, технологическое использование.

    дипломная работа [2,0 M], добавлен 12.07.2013

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

    курсовая работа [1,0 M], добавлен 26.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.