Вы здесь

Беседка

104 сообщения / 0 новое
Последнее сообщение
Аватар пользователя Вероника
Вероника
Команда курса
Не в сети

"Дорогу осилит идущий!" Удачи Вам!

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

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

Аватар пользователя Vredina
Vredina
Не в сети

Детки они такие, шустряки :)))

Аватар пользователя Vredina
Vredina
Не в сети

Спасибо! :)

Аватар пользователя Анонимус
Анонимус
Не в сети

Пытаюсь повторить программу для простейшего регулятора. При задании показания датчика мотора в 45 градусов как в лекции (как на рисунке  справа), у меня появляется целый блок (рисунок слева).Это нормально? И в какое поле вводить данные?

Аватар пользователя Анонимус
Анонимус
Не в сети

Пытаюсь повторить программу для регулятора (лекция 4.1). При задании показаний датчика мотора в 45 градусов, должно быть как на рисунке справа. У меня получается как на рисунке слева. Что делаю неправильно?

Аватар пользователя Vredina
Vredina
Не в сети

Может быть точка присоединения блока играет роль? У лектора присоединение идет не через порты, а у вас к "порту".

Аватар пользователя Sarducar
Sarducar
Не в сети

Здравствуйте, если кто знает, подскажите. Вместе в наборами в школу пришли ресурсные наборы и коробка картонная ещё с кучей деталей, и в ней лежали ик-маяки 45508. Я вроде как понимаю для чего он предназначен, но не могу найти примеры применения его в инете, или хотя бы какуб-нибудь инструкцию с каким датчиком и куда его пихать(((

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

Вот тут нашла, можно маяк использовать как пульт:
https://robot-help.ru/lessons/lesson-8.html

 Дистанционное управление роботом с помощью инфракрасного маяка

Инфракрасный маяк, входящий в домашнюю версию конструктора Lego mindstorms EV3, в паре с инфракрасным датчиком позволяет реализовать дистанционное управление роботом. Познакомимся с маяком поближе:

  1. Пользуясь инфракрасным маяком, направляйте передатчик сигнала (Рис. 5 поз. 1) в сторону робота. Между маяком и роботом должны отсутствовать любые препятствия! Благодаря широкому углу обзора инфракрасный датчик уверено принимает сигналы, даже если маяк располагается позади робота!
  2. На корпусе маяка расположены 5 серых кнопок (Рис. 5 поз. 2), нажатия которых распознает инфракрасный датчик, и передает коды нажатий в программу, управляющую роботом.
  3. С помощью специального красного переключателя (Рис. 5 поз. 3) можно выбрать один из четырех каналов для связи маяка и датчика. Сделано это для того, чтобы в непосредственной близости можно было управлять несколькими роботами.  
Аватар пользователя Vredina
Vredina
Не в сети

У меня в наборе ИК датчик есть, использую вместо УЗ датчика. Три режима: 1 - приближение в котором меняется условное расстояние до объекта (условное, поскольку те от разных поверхностей отражается по разному), 2 - поиск маяка, выпускающего ик излучение, 3 - прием излучения от пульта. Описание есть в руководстве пользователя по ev3 конструкторы, можно в интернете скачать.

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

У меня вопрос по значению серого, ставила в программе, как в лекциях около 45-48, робот категорически не понимает. Покатала робота по полю, измерила датчиком (белое поле - 99, черная линия - 6), выставила в программе значение 10 (если значение датчика освещенности меньше 10, то моторы назад), стал работать корректно (распознает черную линию). Пробовала на разных скоростях, не работает формула для калибровки (сложить значение черного и белого, разделить пополам), только ручной подбор значений.

Кто-нибудь еще с такой проблемой сталкивался?

Аватар пользователя Vredina
Vredina
Не в сети

Датчик 1 или 2?

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

У меня только 1 датчик освещенности в наборе. Программа простейшая (движение внутри круга, ограниченного черной линией)

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

В блоке "Ждать свет" ставлю значение "Считанное значение меньше 10%", тогда робот ездит внутри круга. Если ставлю среднее между белым и черным (после калибровки), то постоянно тормозит на белом, не доезжая до черного.

Аватар пользователя Vredina
Vredina
Не в сети

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

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

На линию не могу, он у меня пока в кегельринг не наигрался :)

Аватар пользователя Vredina
Vredina
Не в сети

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

Аватар пользователя Елена Булыгина
Елена Булыгина
Не в сети

Я по книге Сергея Александровича программу делала, точно скопировала программу из книги, там указано значение "меньше 45%".

Аватар пользователя Vredina
Vredina
Не в сети

Елена, у меня ev3 набор, так у него датчик света на белом выдает значения около 42, на черном - около 3. Для моего датчика значение 45 в принципе не подходит, так как, приходящее с датчика значение априори меньше. Так что калибруйте и рассчитываете значение серого по своему датчику. У меня оно равно 19-20.

Аватар пользователя Vredina
Vredina
Не в сети

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

Аватар пользователя Stepan
Stepan
Не в сети

Добрый день, пытаюсь закачать ПО с Роболаба на NXT, контроллер щёлкает, и больше ничего не происходит(( что делать? Что не так? Вроде все установил как надо?

Аватар пользователя Vredina
Vredina
Не в сети

Я бы проверила: 1 - соединение, например, проникнуть в другой usb порт, 2 - наличие достаточного объёма свободной памяти на контроллере, 3 - глупо, но контроллер включен?

Аватар пользователя Анонимус
Анонимус
Не в сети

Кто-нибудь сталкивался с такой ошибкой? Что это может быть?

Аватар пользователя Вероника
Вероника
Команда курса
Не в сети

Добрый вечер! Undefined variable означает необъявленная переменная. В данном случае это "e". Необходимо объявить переменную перед циклом, поставив блок f(x) и написав float e или int e.

Аватар пользователя Вероника
Вероника
Команда курса
Не в сети

C e1 поступаете также.

Аватар пользователя Vredina
Vredina
Не в сети

В данном случае проблема не в этом, а в опечатка e=45-e1, а должно быть e=45-s1. Программа не знает откуда ей взять е1 и об этом и сообщает. А s1 - это обозначение датчика, подсоединенного к порту номер 1. А по поводу объявления переменных, то в лекциях было сказано, что по умолчанию все переменные целочисленные (int), поэтому обязательно объявлять переменные с "плавающей точкой" (float).

Аватар пользователя Vredina
Vredina
Не в сети

Ну а если, все переменные малочисленные, то их можно не объявлять. С датчиков поступают малочисленные значения (для датчика цвета в диапазоне от 0 до 100).

Аватар пользователя Vredina
Vredina
Не в сети

Прошу прощения, опять телефон меняет слова :) не малочисленных, а целочисленные

Аватар пользователя Вероника
Вероника
Команда курса
Не в сети

Добрый вечер! Думаю, нужно спросить у автора вопроса, планирует ли он использовать датчик S1 в программе, предназначенной для стабилизации мотора в положении 45 градусов на пропорциональном регуляторе (робот-самурай). 

Аватар пользователя Vredina
Vredina
Не в сети

Да, Вероника, Вы правы: действительно очень похоже на программу регулятора положения мотора из лекции 3.1, но в ней тогда есть неточности (см. скриншот). В этом случае е1 - это обозначение энкодера мотора, подключенного к порту А. Кстати, лектор в данной программе тип переменных не задает. По логике, такая последовательность должна работать, но раз есть ошибка, то может быть, Анонимус, у вас где нибудь вместо латинской буквы "е" стоит русская?

Аватар пользователя Vredina
Vredina
Не в сети

Добрый вечер. У Вас в формуле в блоке f(x) присутствует е1. Мне кажется это опечатка и должно быть S1 - номер датчика, с которого берутся значения. Если датчик включен в другой порт, то тогда после S номер того порта, в который подключен.

Аватар пользователя Рябыш Виктор
Рябыш Виктор
Не в сети

Столкнулся с той же проблемой. Ничего не помогло из того, что предлагали. Может кто-то выяснил в чём проблема? Подскажите пожалуйста!

Аватар пользователя Анонимус
Анонимус
Не в сети

Vredina! Вся надежда на Вас.

Аватар пользователя Анонимус
Анонимус
Не в сети

Что является неизвестной переменной ?e1?

Аватар пользователя Вероника
Вероника
Команда курса
Не в сети

Добрый вечер! Неизвестной переменной в данном случае является e, так как она нигде не объявлена. e1 - показания датчика оборотов на моторе. В принципе, обязательной для объявления является только e, 

Аватар пользователя Анонимус
Анонимус
Не в сети

Спасибо большое за ответы! К сожалению не могу проверить Ваши предложения. Программу роболаб каким-то образом удалила. Восстановить пока не удается.

Аватар пользователя Анонимус
Анонимус
Не в сети

Всем спасибо за ответы. Действительно, пишу программу, описанную в посте №81. Перепроверила все предложенные варианты. Ничего не помогает. Если вставить блок объявления переменных целочисленных е и е1, то ошибку не выдает, программа выполняется. Но проблема в том, что е1- должно быть показанием энкодера мотора А, а программа воспринимает ее как переменную.

Аватар пользователя Vredina
Vredina
Не в сети

А если е1 не объявлять, объявить только е?

Аватар пользователя Анонимус
Анонимус
Не в сети

Если не объявить е1 - выдает ошибку. Если объявить е1, но не объявлять остальные переменные- ошибку не выдает.

Аватар пользователя Вероника
Вероника
Команда курса
Не в сети

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

Аватар пользователя Vredina
Vredina
Не в сети

А когда выдается ошибка? Во время загрузки на контроллер или при написании, до загрузки?

Аватар пользователя Анонимус
Анонимус
Не в сети

Но показания энкодера А не видит.

Аватар пользователя Vredina
Vredina
Не в сети

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

Кстати, а заглавной буквой писать пробовали? Е1

Аватар пользователя Анонимус
Анонимус
Не в сети

Перепробовала всЁ. Снесла операционку, установила все программы, драйверы. Все заработало!!! Спасибо за поддержку.

Аватар пользователя Vredina
Vredina
Не в сети

Через тернии к звездам! Вы молодец :)))

Аватар пользователя Анонимус
Анонимус
Не в сети

Здравствуйте! Кто работает в Robolab, подскажите как установить патч для датчиков сторонних производителей. В инструкции, которую дали, написано: "Устанавливается простым копированием двух папок в нужные места в Program Files (x86)\Robolab29\." Какие папки? Где нужные места?

Аватар пользователя Tany
Tany
Не в сети

Всем добрый день. Похоже, я схожу с дистанции. Несколько дней пыталась сделать практику по движению в лабиринте, но никак!!! Датчик ультразвука всего один. Попыталась поставить от EV3 - не работает. Поставила датчик света, робот начинает идти по "правой руке", но с изменением освещения, похоже сбивается и уходит с траектории. Попытаюсь на следующем курсе пройти. Там уже, надеюсь, будет 2 датчика.

 

Аватар пользователя Barsikus
Barsikus
Не в сети

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

Аватар пользователя Barsikus
Barsikus
Не в сети

Его можно на 3-ий мотор поставить и крутить вперед-направо в каждой клетке

Аватар пользователя Vredina
Vredina
Не в сети

С такой же проблемой долго бились, только вместо УЗ, Фбыл ИК датчик. Худо-бедно получилось, если датчик света стоит впереди (он хорошо срабатывает при расстоянии 1,0-1,5 см), а ИК сбоку. Попробуйте. Можно было бы еще датчик касания поставить, но у меня стенки лабиринта из картона были и принимались, так что датчик касания зарабатывал через раз.

Страницы