Блоки Move и Motor

Ответить
Alex.Kolotov

Professionalism Tutorials
beginner
beginner
Сообщения: 31
Зарегистрирован: 22 окт 2010, 09:24
Награды: 2
Версия LabVIEW: NXT-G 1.0
Откуда: Нижний Новгород
Контактная информация:

Блоки Move и Motor

Сообщение Alex.Kolotov »

Какие параметры перемещения выбрать для робота: двигаться в течение определенного количества оборотов двигателя (rotations), количества градусов для поворота двигателя (degrees) или же количества секунд (seconds)?

Несколько практических советов об использовании блоков Move и Motor описаны в http://nnxt.blogspot.com/2010/10/nxt-g-move-motor.html.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Блоки Move и Motor

Сообщение Eugen Graf »

А нельзя ли как то разделить движение на несколько этапов и например сначала двигаться одну секунду, потом сверить угловой поворот и в случае несовпадения в следующий этап двигаться не одну секунду, а например 1.2 секунды? То есть получается динамическая корректировка и зависимость от заряда батарейки уменьшается.
Alex.Kolotov

Professionalism Tutorials
beginner
beginner
Сообщения: 31
Зарегистрирован: 22 окт 2010, 09:24
Награды: 2
Версия LabVIEW: NXT-G 1.0
Откуда: Нижний Новгород
Контактная информация:

Re: Блоки Move и Motor

Сообщение Alex.Kolotov »

Но зачем тогда двигаться в секундах, если мы все равно замеряем угловое смещение моторов? Примемущество движения в секундах именно то, что при нем можно не заморачиваться с вычислением изменения состояния двигателя - не надо обрабатывать условие выключения двигателей - он и так выключиться... Если же решаем мерять смещение, то и движение по ротациям/градусам подойдет...
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Блоки Move и Motor

Сообщение Eugen Graf »

Очевидный минус - каждый раз, когда вы будете запускать робота, он будет проезжать за то же количество секунд меньше расстояние.
Я отвечал/предлагал/спрашивал исходя из этого главного минуса.
Alex.Kolotov

Professionalism Tutorials
beginner
beginner
Сообщения: 31
Зарегистрирован: 22 окт 2010, 09:24
Награды: 2
Версия LabVIEW: NXT-G 1.0
Откуда: Нижний Новгород
Контактная информация:

Re: Блоки Move и Motor

Сообщение Alex.Kolotov »

Ясно. Классно, что уточнили.

В действительности все зависит от задачи. Т.е. конкретно в случае описанном Вами, нужно знать почему именно нужно двигаться в секундах. Если нужно преодолеть какое-то расстояние, то не понятно почему сразу не градусах? Если нужно сохранить какую-то синхронизацию, то почему на разное кол-во секунд?

Как итог, - я думаю, что здесь тоже применим применим принцип TIMTOWTDT - "есть больше, чем один способ сделать это"
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Блоки Move и Motor

Сообщение Eugen Graf »

Должен признаться, что тема на самом деле интересная. Я профессионально тесно связан с различными абсолютными и релятивными энкодерами (многоосевые стабилизационные платформы и ротационные симуляторы), поезда, автомобили, корабли, вертолёты и самолёты (трансляционное и смешанное движение). На самом деле всё зависит от задачи, сенсорики и акторики. Для ротаторных симуляторов обычно задаётся либо угол либо угловая скорость с учётом таймаута, либо поэтапно проверяется заданное значение с достигнутым. Иногда приходилось извращаться, задавая новый угол поворота, заранее, достигнув определённого значения угла поворота, для достижения постоянной угловой скорости. При трансляционном движении существует проблемы в сенсорике. Например одометр не может правильно определить расстояние, если колесо прокручивается, а GPS неточно определяет координаты, радары дорогие и тоже недостаточно неточные. Для плавного движения используется интер- и экстраполяция с использованием полиномов.
Но всё это скорее всего практически невозможно спрограмировать на NXT-G, хотя с ним я совсем незнаком. На :labview: при некоторых условиях (real time) это возможно.
Можно увидеть реализацию более менее интересного проекта на NXT-G ? Очень интересно :wink:
Alex.Kolotov

Professionalism Tutorials
beginner
beginner
Сообщения: 31
Зарегистрирован: 22 окт 2010, 09:24
Награды: 2
Версия LabVIEW: NXT-G 1.0
Откуда: Нижний Новгород
Контактная информация:

Re: Блоки Move и Motor

Сообщение Alex.Kolotov »

Да-а, видно, что у Вас все серьезно.

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

В целом, NXT-G задумывался больше для обучения, так что даже среда программирования вряд ли позволит сделать что-то объемное. Вот если найти и реализовать что-то маленькое, элегантное и работающее :) - тогда реально можно чем-то хвастаться.
Ответить

Вернуться в «Robotics»