Да, я тоже долго клеила поле из трех ватманов. Все разметила, нарисовала черную линию, потом отвлеклась на программу, а дети немножко порисовали на белом поле, теперь штрихом замазываю )))
Пытаюсь повторить программу для простейшего регулятора. При задании показания датчика мотора в 45 градусов как в лекции (как на рисунке справа), у меня появляется целый блок (рисунок слева).Это нормально? И в какое поле вводить данные?
Пытаюсь повторить программу для регулятора (лекция 4.1). При задании показаний датчика мотора в 45 градусов, должно быть как на рисунке справа. У меня получается как на рисунке слева. Что делаю неправильно?
Здравствуйте, если кто знает, подскажите. Вместе в наборами в школу пришли ресурсные наборы и коробка картонная ещё с кучей деталей, и в ней лежали ик-маяки 45508. Я вроде как понимаю для чего он предназначен, но не могу найти примеры применения его в инете, или хотя бы какуб-нибудь инструкцию с каким датчиком и куда его пихать(((
Дистанционное управление роботом с помощью инфракрасного маяка
Инфракрасный маяк, входящий в домашнюю версию конструктора Lego mindstorms EV3, в паре с инфракрасным датчиком позволяет реализовать дистанционное управление роботом. Познакомимся с маяком поближе:
Пользуясь инфракрасным маяком, направляйте передатчик сигнала (Рис. 5 поз. 1) в сторону робота. Между маяком и роботом должны отсутствовать любые препятствия! Благодаря широкому углу обзора инфракрасный датчик уверено принимает сигналы, даже если маяк располагается позади робота!
На корпусе маяка расположены 5 серых кнопок (Рис. 5 поз. 2), нажатия которых распознает инфракрасный датчик, и передает коды нажатий в программу, управляющую роботом.
С помощью специального красного переключателя (Рис. 5 поз. 3) можно выбрать один из четырех каналов для связи маяка и датчика. Сделано это для того, чтобы в непосредственной близости можно было управлять несколькими роботами.
У меня в наборе ИК датчик есть, использую вместо УЗ датчика. Три режима: 1 - приближение в котором меняется условное расстояние до объекта (условное, поскольку те от разных поверхностей отражается по разному), 2 - поиск маяка, выпускающего ик излучение, 3 - прием излучения от пульта. Описание есть в руководстве пользователя по ev3 конструкторы, можно в интернете скачать.
У меня вопрос по значению серого, ставила в программе, как в лекциях около 45-48, робот категорически не понимает. Покатала робота по полю, измерила датчиком (белое поле - 99, черная линия - 6), выставила в программе значение 10 (если значение датчика освещенности меньше 10, то моторы назад), стал работать корректно (распознает черную линию). Пробовала на разных скоростях, не работает формула для калибровки (сложить значение черного и белого, разделить пополам), только ручной подбор значений.
В блоке "Ждать свет" ставлю значение "Считанное значение меньше 10%", тогда робот ездит внутри круга. Если ставлю среднее между белым и черным (после калибровки), то постоянно тормозит на белом, не доезжая до черного.
Скорее всего на каких-то затененных участках или может из-за неровностей или соринок на датчик приходит пороговое значение серого, вот робот и тормозит. Все-таки значение серого используется в алгоритме для следования по линии, чтобы робот с нее не сходил, а не для хождения внутри круга. Отредактировать программу так, чтобы робот чуть поворачивал при достижении серого, а самого робота поставьте на линию, чтобы он двигался вдоль нее.
Елена, у меня ev3 набор, так у него датчик света на белом выдает значения около 42, на черном - около 3. Для моего датчика значение 45 в принципе не подходит, так как, приходящее с датчика значение априори меньше. Так что калибруйте и рассчитываете значение серого по своему датчику. У меня оно равно 19-20.
Добрый день, пытаюсь закачать ПО с Роболаба на NXT, контроллер щёлкает, и больше ничего не происходит(( что делать? Что не так? Вроде все установил как надо?
Я бы проверила: 1 - соединение, например, проникнуть в другой usb порт, 2 - наличие достаточного объёма свободной памяти на контроллере, 3 - глупо, но контроллер включен?
Добрый вечер! Undefined variable означает необъявленная переменная. В данном случае это "e". Необходимо объявить переменную перед циклом, поставив блок f(x) и написав float e или int e.
В данном случае проблема не в этом, а в опечатка e=45-e1, а должно быть e=45-s1. Программа не знает откуда ей взять е1 и об этом и сообщает. А s1 - это обозначение датчика, подсоединенного к порту номер 1. А по поводу объявления переменных, то в лекциях было сказано, что по умолчанию все переменные целочисленные (int), поэтому обязательно объявлять переменные с "плавающей точкой" (float).
Ну а если, все переменные малочисленные, то их можно не объявлять. С датчиков поступают малочисленные значения (для датчика цвета в диапазоне от 0 до 100).
Добрый вечер! Думаю, нужно спросить у автора вопроса, планирует ли он использовать датчик S1 в программе, предназначенной для стабилизации мотора в положении 45 градусов на пропорциональном регуляторе (робот-самурай).
Да, Вероника, Вы правы: действительно очень похоже на программу регулятора положения мотора из лекции 3.1, но в ней тогда есть неточности (см. скриншот). В этом случае е1 - это обозначение энкодера мотора, подключенного к порту А. Кстати, лектор в данной программе тип переменных не задает. По логике, такая последовательность должна работать, но раз есть ошибка, то может быть, Анонимус, у вас где нибудь вместо латинской буквы "е" стоит русская?
Добрый вечер. У Вас в формуле в блоке f(x) присутствует е1. Мне кажется это опечатка и должно быть S1 - номер датчика, с которого берутся значения. Если датчик включен в другой порт, то тогда после S номер того порта, в который подключен.
Добрый вечер! Неизвестной переменной в данном случае является e, так как она нигде не объявлена. e1 - показания датчика оборотов на моторе. В принципе, обязательной для объявления является только e,
Всем спасибо за ответы. Действительно, пишу программу, описанную в посте №81. Перепроверила все предложенные варианты. Ничего не помогает. Если вставить блок объявления переменных целочисленных е и е1, то ошибку не выдает, программа выполняется. Но проблема в том, что е1- должно быть показанием энкодера мотора А, а программа воспринимает ее как переменную.
Попробуйте использовать другой мотор или другой порт. Видимо, показания энкодера не приходят, и программа не может подставить вместо e1 числовое значение.
Можете в роболаб открыть помощь по блоку энкодера и прислать, что написано? У меня нет роболаба, чтобы самой посмотреть. У меня подозрение, что программа не понимает обозначение е1.
Здравствуйте! Кто работает в Robolab, подскажите как установить патч для датчиков сторонних производителей. В инструкции, которую дали, написано: "Устанавливается простым копированием двух папок в нужные места в Program Files (x86)\Robolab29\." Какие папки? Где нужные места?
Всем добрый день. Похоже, я схожу с дистанции. Несколько дней пыталась сделать практику по движению в лабиринте, но никак!!! Датчик ультразвука всего один. Попыталась поставить от EV3 - не работает. Поставила датчик света, робот начинает идти по "правой руке", но с изменением освещения, похоже сбивается и уходит с траектории. Попытаюсь на следующем курсе пройти. Там уже, надеюсь, будет 2 датчика.
Добрый день. Для лабиринта достаточно одного датчика ультразвука и настройки робота на прямолинейное движение примерно на клетку лабиринта и повороты строго на 90%.
С такой же проблемой долго бились, только вместо УЗ, Фбыл ИК датчик. Худо-бедно получилось, если датчик света стоит впереди (он хорошо срабатывает при расстоянии 1,0-1,5 см), а ИК сбоку. Попробуйте. Можно было бы еще датчик касания поставить, но у меня стенки лабиринта из картона были и принимались, так что датчик касания зарабатывал через раз.
"Дорогу осилит идущий!" Удачи Вам!
Да, я тоже долго клеила поле из трех ватманов. Все разметила, нарисовала черную линию, потом отвлеклась на программу, а дети немножко порисовали на белом поле, теперь штрихом замазываю )))
Детки они такие, шустряки :)))
Спасибо! :)
Пытаюсь повторить программу для простейшего регулятора. При задании показания датчика мотора в 45 градусов как в лекции (как на рисунке справа), у меня появляется целый блок (рисунок слева).Это нормально? И в какое поле вводить данные?
Пытаюсь повторить программу для регулятора (лекция 4.1). При задании показаний датчика мотора в 45 градусов, должно быть как на рисунке справа. У меня получается как на рисунке слева. Что делаю неправильно?
Может быть точка присоединения блока играет роль? У лектора присоединение идет не через порты, а у вас к "порту".
Здравствуйте, если кто знает, подскажите. Вместе в наборами в школу пришли ресурсные наборы и коробка картонная ещё с кучей деталей, и в ней лежали ик-маяки 45508. Я вроде как понимаю для чего он предназначен, но не могу найти примеры применения его в инете, или хотя бы какуб-нибудь инструкцию с каким датчиком и куда его пихать(((
Вот тут нашла, можно маяк использовать как пульт:
https://robot-help.ru/lessons/lesson-8.html
Дистанционное управление роботом с помощью инфракрасного маяка
Инфракрасный маяк, входящий в домашнюю версию конструктора Lego mindstorms EV3, в паре с инфракрасным датчиком позволяет реализовать дистанционное управление роботом. Познакомимся с маяком поближе:
У меня в наборе ИК датчик есть, использую вместо УЗ датчика. Три режима: 1 - приближение в котором меняется условное расстояние до объекта (условное, поскольку те от разных поверхностей отражается по разному), 2 - поиск маяка, выпускающего ик излучение, 3 - прием излучения от пульта. Описание есть в руководстве пользователя по ev3 конструкторы, можно в интернете скачать.
У меня вопрос по значению серого, ставила в программе, как в лекциях около 45-48, робот категорически не понимает. Покатала робота по полю, измерила датчиком (белое поле - 99, черная линия - 6), выставила в программе значение 10 (если значение датчика освещенности меньше 10, то моторы назад), стал работать корректно (распознает черную линию). Пробовала на разных скоростях, не работает формула для калибровки (сложить значение черного и белого, разделить пополам), только ручной подбор значений.
Кто-нибудь еще с такой проблемой сталкивался?
Датчик 1 или 2?
У меня только 1 датчик освещенности в наборе. Программа простейшая (движение внутри круга, ограниченного черной линией)
В блоке "Ждать свет" ставлю значение "Считанное значение меньше 10%", тогда робот ездит внутри круга. Если ставлю среднее между белым и черным (после калибровки), то постоянно тормозит на белом, не доезжая до черного.
Скорее всего на каких-то затененных участках или может из-за неровностей или соринок на датчик приходит пороговое значение серого, вот робот и тормозит. Все-таки значение серого используется в алгоритме для следования по линии, чтобы робот с нее не сходил, а не для хождения внутри круга. Отредактировать программу так, чтобы робот чуть поворачивал при достижении серого, а самого робота поставьте на линию, чтобы он двигался вдоль нее.
На линию не могу, он у меня пока в кегельринг не наигрался :)
А в кегельринге серый и не нужен, там значение берут как можно ближе к черному, с небольшим запасом.
Я по книге Сергея Александровича программу делала, точно скопировала программу из книги, там указано значение "меньше 45%".
Елена, у меня ev3 набор, так у него датчик света на белом выдает значения около 42, на черном - около 3. Для моего датчика значение 45 в принципе не подходит, так как, приходящее с датчика значение априори меньше. Так что калибруйте и рассчитываете значение серого по своему датчику. У меня оно равно 19-20.
И чтобы понять нужно скриншот программы и описание как ведет себя робот (присваивает через линию, уходит от линии...).
Добрый день, пытаюсь закачать ПО с Роболаба на NXT, контроллер щёлкает, и больше ничего не происходит(( что делать? Что не так? Вроде все установил как надо?
Я бы проверила: 1 - соединение, например, проникнуть в другой usb порт, 2 - наличие достаточного объёма свободной памяти на контроллере, 3 - глупо, но контроллер включен?
Кто-нибудь сталкивался с такой ошибкой? Что это может быть?
Добрый вечер! Undefined variable означает необъявленная переменная. В данном случае это "e". Необходимо объявить переменную перед циклом, поставив блок f(x) и написав float e или int e.
C e1 поступаете также.
В данном случае проблема не в этом, а в опечатка e=45-e1, а должно быть e=45-s1. Программа не знает откуда ей взять е1 и об этом и сообщает. А s1 - это обозначение датчика, подсоединенного к порту номер 1. А по поводу объявления переменных, то в лекциях было сказано, что по умолчанию все переменные целочисленные (int), поэтому обязательно объявлять переменные с "плавающей точкой" (float).
Ну а если, все переменные малочисленные, то их можно не объявлять. С датчиков поступают малочисленные значения (для датчика цвета в диапазоне от 0 до 100).
Прошу прощения, опять телефон меняет слова :) не малочисленных, а целочисленные
Добрый вечер! Думаю, нужно спросить у автора вопроса, планирует ли он использовать датчик S1 в программе, предназначенной для стабилизации мотора в положении 45 градусов на пропорциональном регуляторе (робот-самурай).
Да, Вероника, Вы правы: действительно очень похоже на программу регулятора положения мотора из лекции 3.1, но в ней тогда есть неточности (см. скриншот). В этом случае е1 - это обозначение энкодера мотора, подключенного к порту А. Кстати, лектор в данной программе тип переменных не задает. По логике, такая последовательность должна работать, но раз есть ошибка, то может быть, Анонимус, у вас где нибудь вместо латинской буквы "е" стоит русская?
Добрый вечер. У Вас в формуле в блоке f(x) присутствует е1. Мне кажется это опечатка и должно быть S1 - номер датчика, с которого берутся значения. Если датчик включен в другой порт, то тогда после S номер того порта, в который подключен.
Столкнулся с той же проблемой. Ничего не помогло из того, что предлагали. Может кто-то выяснил в чём проблема? Подскажите пожалуйста!
Vredina! Вся надежда на Вас.
Что является неизвестной переменной ?e1?
Добрый вечер! Неизвестной переменной в данном случае является e, так как она нигде не объявлена. e1 - показания датчика оборотов на моторе. В принципе, обязательной для объявления является только e,
Спасибо большое за ответы! К сожалению не могу проверить Ваши предложения. Программу роболаб каким-то образом удалила. Восстановить пока не удается.
Всем спасибо за ответы. Действительно, пишу программу, описанную в посте №81. Перепроверила все предложенные варианты. Ничего не помогает. Если вставить блок объявления переменных целочисленных е и е1, то ошибку не выдает, программа выполняется. Но проблема в том, что е1- должно быть показанием энкодера мотора А, а программа воспринимает ее как переменную.
А если е1 не объявлять, объявить только е?
Если не объявить е1 - выдает ошибку. Если объявить е1, но не объявлять остальные переменные- ошибку не выдает.
Попробуйте использовать другой мотор или другой порт. Видимо, показания энкодера не приходят, и программа не может подставить вместо e1 числовое значение.
А когда выдается ошибка? Во время загрузки на контроллер или при написании, до загрузки?
Но показания энкодера А не видит.
Можете в роболаб открыть помощь по блоку энкодера и прислать, что написано? У меня нет роболаба, чтобы самой посмотреть. У меня подозрение, что программа не понимает обозначение е1.
Кстати, а заглавной буквой писать пробовали? Е1
Перепробовала всЁ. Снесла операционку, установила все программы, драйверы. Все заработало!!! Спасибо за поддержку.
Через тернии к звездам! Вы молодец :)))
Здравствуйте! Кто работает в Robolab, подскажите как установить патч для датчиков сторонних производителей. В инструкции, которую дали, написано: "Устанавливается простым копированием двух папок в нужные места в Program Files (x86)\Robolab29\." Какие папки? Где нужные места?
Всем добрый день. Похоже, я схожу с дистанции. Несколько дней пыталась сделать практику по движению в лабиринте, но никак!!! Датчик ультразвука всего один. Попыталась поставить от EV3 - не работает. Поставила датчик света, робот начинает идти по "правой руке", но с изменением освещения, похоже сбивается и уходит с траектории. Попытаюсь на следующем курсе пройти. Там уже, надеюсь, будет 2 датчика.
Добрый день. Для лабиринта достаточно одного датчика ультразвука и настройки робота на прямолинейное движение примерно на клетку лабиринта и повороты строго на 90%.
Его можно на 3-ий мотор поставить и крутить вперед-направо в каждой клетке
С такой же проблемой долго бились, только вместо УЗ, Фбыл ИК датчик. Худо-бедно получилось, если датчик света стоит впереди (он хорошо срабатывает при расстоянии 1,0-1,5 см), а ИК сбоку. Попробуйте. Можно было бы еще датчик касания поставить, но у меня стенки лабиринта из картона были и принимались, так что датчик касания зарабатывал через раз.
Страницы