roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 08:41

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 223 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14, 15  След.
Автор Сообщение
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 13 янв 2011, 18:13 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Научить командам "брысь" и "ко мне" :wink:

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 13 янв 2011, 18:28 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
с "брысь" проблем нет, а вот "ко мне" еще не придумал как...
dccharacter писал(а):
Почту она умеет получать?

пока нет, но научить думаю не сложно.
dccharacter писал(а):
Только что за имя у нее странное - Ванесса?

названа по имени персонажа, но можно и переименовать - не обидется :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 13 янв 2011, 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Брысь это то же самое что "ко мне", только в обратную сторону :) не может быть что одно есть, а другого нету :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 13 янв 2011, 22:53 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Не скажи. Одно дело - свалить подальше в любом направлении, а другое - найти зовущего...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 07 фев 2011, 21:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Спрошу здесь, чтобы не открывать новую тему. Может уже все знают, кроме меня.
Программа "ванесса" на ПК уже разрослась до 14 модулей и обещает вырасти еще. Во многих из них могут одновременно возникать события, запрашивающие связь с контроллером. В свою очередь контроллер, кроме ответов на запросы с ПК, сам посылает сообщения (например он все время контролирует заряд батареи). Синхронизировать всю эту хрень я пытаюсь вручную, путем расстановки приоритетов и блокировок. Но уже потихоньку начинаю запутываться.
Вопрос в следующем. Какой протокол, и какие средства синхронизации событий лучше использовать для связи ПК - МК?
Заранее прошу не ругаться, если это уже сто раз обсуждалось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 07 фев 2011, 21:09 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Контроллер упростить, на ПК сделать пачку драйверов.
Ну а дальше надо что-то типа ROS изучать, ну или самому делать :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 07 фев 2011, 21:14 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
Цитата:
Какой протокол, и какие средства синхронизации событий лучше использовать для связи ПК - МК?

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

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 07 фев 2011, 21:16 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Либо сделать DNS, а потом уже каждый с каждым после знакомства в режиме команды или подписки. Как в полноценных ROS/MSRS и иже с ними.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 07 фев 2011, 23:49 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
DNS не умею, да и лишний наворот в моем случае наверное
Grem писал(а):
Сделать центр сообщений, который будет получать и отправлять сообщения в контроллер, получать и передавать в нужные модули сообщения из контроллера, приоритеты команд тут же.

Центр сообщений вроде и так есть - все идет через СОМ модуль, ответственный за связь. Однако, не получается как-то построить надежную и прозрачную систему обмена. Приходится все время держать в голове кучу комбинаций. Как люди - то делают?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 07 фев 2011, 23:51 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Тяжело что-то сказать без понимания что есть сейчас и чем это не нравится :pardon:

Какие, например, комбинации приходится держать в голове?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 08 фев 2011, 01:31 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Возьмем простой пример:
Робот едет по маршруту по карте, модуль карты выдает комманды на перемещение и периодически запрашивает показания цифрового сонара. МК в это время выполняет комманду движения, т.е. следит за состоянием бамперов и ИК дальномеров, измеряет токи потребления двигателей и состояние маршевой батареи. Так же, по UART прерыванию, МК выполняет запросы ПК (передает состояние того-же сонара). Модуль управления по скайпу, допустим, передает на МК комманду «стоп» и ждет подтверждения ее выполнения.
Теоретически, может возникнуть ситуация ПК-МК: послали запрос сонару, ждем ответа, одновременно «стоп» по скайпу, тоже ждет + МК посылает сообщение о перегрузке одного из моторов. Все это через один СОМ, с одним событием «пришел новый символ в буфер».
Сейчас я разбираю полученные данные «вручную». Это от сонара? – скормим модулю карты, а если стоп аварийный, то на хрена ему сонар, надо сбрасывать карту, да не забыть текущий режим робота поменять, скайп-комманды заблокировать. Но, сонар уже все равно торчит в буфере. И возможные сбои связи надо учесть. И т.д.
Как то тупо все. Программа разрастается, как паутина, а робот еще ничего толком не умеет.
Хотелось бы организовать обмен так, чтобы вообще о нем не думать. Чтобы каждый модуль знал, что получит ответ на свой запрос, не думая о режиме и приоритете.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 08 фев 2011, 01:50 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
В разных потоках принимать и отправлять, не? Глаза поломал читать.
Смотри, посылаются несколько сообщений от разных модулей в центр сообщений. Там они разбираются по приоритету, и отправляются. Потому, что, например, запрос на проверку состояния батареи менее приоритетнее, чем команда "стоп". Теперь сообщения с контроллера: приходят в центр сообщений, а от туда они рассылаются по модулям тоже исходя из приоритетов.

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 08 фев 2011, 02:38 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Ну да, типа того.
Во, блин! А, если сделать так: МК в одном цикле считывает буфер UARTа и состояние всех датчиков. На основании полученных данных выполняет какие-нибудь действия и всегда передает на ПК текстовое сообщение фиксированной длины, в котором зишиты показания всех датчиков и текущее состояние МК. Тогда ПК не надо будет ничего запрашивать и ждать ответа, т.к. все данные всегда под рукой. Только комманды передавать.
Все переписывать неохота правда. Прицепляю на всякий случай табличку с существующим протоколом запрос – ответ. Правда неполную, но это неважно для понимания функционирования.
Вложение:
Robot Vanessa Protocol.xls [33.5 КиБ]
Скачиваний: 374


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 08 фев 2011, 03:10 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
:) QoS называется. штука хорошая но не всегда помогает. например при попытках по поводу и без отсылать все данные по узкому каналу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Интерактивный мобильный робот Vanessa
СообщениеДобавлено: 08 фев 2011, 03:36 
Не в сети
Аватара пользователя

Зарегистрирован: 23 апр 2009, 17:03
Сообщения: 2639
Откуда: Москва, Самара
прог. языки: C#
Примерно похожее состояние дел как у вас на роботе.
Поглядел экселевский файл.
Я использую
N (кол-во передаваемых байт)
Команда (байт)
Параметры (байты)
Checksum
Отказался от чтения датчиков в простое МК (когда нет команды от ПК).
Пока МК датчики читает, может уже срочная команда от ПК пришла :roll:
у меня UART-коннект на 230400 бит ПК<->МК :roll:
Как тут Grem описывал, использую один модуль управляющий UART,
все практически как он написал.
Но я не пользуюсь приоритетами.
Есть очередь команд на отправку в МК (на ДД, на pan/tilt),
у каждой команды есть время когда она должна выполниться,
и таймер на основной форме, который сканирует очередь.
Если пришла команда, которая уже есть в очереди, то старая удаляется.
Команда выполнилась -> от МК пришел ответ -> модуль на ПК получил данные.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 223 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14, 15  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO