roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:02 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Master писал(а):
Не едет. Или я тупой или одно из двух.


По "скрину" видно что платформа развернулась "лицом" на проход, он крутится только что ли?

Скрипт в ctrl.ros не меняли? Дело в том что если без ускорения - ">>" то будет медленно, что бы можно было заметить ошибки и неувязки, а если нажать >> то раз в пять быстрее должно бежать. И внизу в окне где сейчас виден скрипт должны появляться все время новые строки от скрипта. Так происходит?


Или я не правильно понимаю фразу "Не едет", в смысле не можете загнать в проход?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:10 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
1. Не едет тока очень медленно, я не могу разобрать с интерфейсом. Жму плей, начинают внизу появляться строки, жму стоп и все плей больше не нажимается.
2. Зачем нужны другие кнопки, зачем пол для ввода чего-то и желтый треугольник справа.
3. Робот по файлу с картой стоит лицом к проходу >.
4. Где писать >>?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:13 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
у меня работает
пополз вдоль стенки

ток медленно ужос прям
еле дождался пока заметил что онкудато движется


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:31 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Master писал(а):
1. Не едет тока очень медленно, я не могу разобрать с интерфейсом. Жму плей, начинают внизу появляться строки, жму стоп и все плей больше не нажимается.


Это кажется моя ошибка я уже штук десяток их наковырял по мелочи, исправленный выложу. Лучше жать паузу, потом можно отжать и продолжить. И нежелательно до "СТОП" закрывать приложение.

Цитата:
2. Зачем нужны другие кнопки, зачем пол для ввода чего-то и желтый треугольник справа.


Я тут объяснялку накарябал. см. скриншот

окно для ввода, где треугольник и треугольник - это элементы отладки модулей платформы (объектов C++ навешанных в classRobo), отношение к движению робота в лабиринте имеют но только как ручной режим управления. Например на платформу сейчас навешены модули ENG и IRR, первый это двигатели, второй радар. Досутп к ним осуществляется посылкой платформе кода выбора модуля: @IRR или @ENG, и затем посылки команды в модуль: .MOV X и .ROT X для двигателей (где X параметр) и .GET для радара. Радар возвращает значение в поток (внизу в подвале видно - текущий модуль и значение потока cval.


Цитата:
3. Робот по файлу с картой стоит лицом к проходу >.
4. Где писать >>?

Файл 1.krt - карта.
Файл ctrk.os - скрипт.
Можно открыть и исправить любым блокнотом (pad-ом). Формат текстовый. Я FAR-ом правлю.


Вложения:
Комментарий к файлу: скриншот с объяснялкой по интерфейсу
.JPG
.JPG [ 51.93 КиБ | Просмотров: 1491 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:35 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Myp писал(а):
у меня работает
пополз вдоль стенки

ток медленно ужос прям
еле дождался пока заметил что онкудато движется



Да медленно - это для отладки что бы не прозевать, каждая строчка скрипта останавливается по интервальному таймеру примерно на 500 мс, если нажать ">>" то период таймера будет /5, т.е. 100 мс. Я вот сейчас придумываю как бы его совсем отпустить - но тогда полетит не успеешь ничего заметить, обдумываю идею на установку брейкпоинта по геометрической области в которую входит робот.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:38 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Все приехали :)
Ездиет вокруг стенки.
Я правильно понял алгоритм можно самому пистать в соответствующе файле?
И еще что бы экран не мигал при повторной прорисовке, затирай старое положение робота, а не перерисовывай весь экран.


Вложения:
1.rar [141 байт]
Скачиваний: 32
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:50 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Master писал(а):
4. Где писать >>?


по поводу писать, структура скрипта в некотором смысле похожа на Си, я хотел сделать скрипт таким что бы его легко было перенести на реальную железячную платформу, ну скажем на AVR. Так что бы изменение конфигурации робота в железе не влияло на скрипт не коем образом. Решил что нужно выделить внутри платформы модули, сиречь инкапсулированные объекты - интерфейс которых посылка двоичной команды и параметра если таковой имеется у команды. Команда предваряется ".", например .MOV, .ROT, .GET. Платформа посылает команду активному модулю, активизируется модуль, при помощи операции выбора @имя, сейчас доступны IRR, ENG (соотвественно @IRR, @ENG). Передали фокус например двигателям @ENG и дальше общаемся с ним посредством команд .MOV или .ROT. Модуль может вернуть значение, возвращает он его в поток - я пока еще не утвердился в мысле сделать поток стеком или просто ячейкой. Если поток стек то работаем с ним через ПОЛИЗ. Честно говоря не знаю надо это или нет и вообще в каком случае логика работы может потребовать арифметики.
Операторы определения метки - "метка:" определяют метку в скрипте, на которую потом производится переход.
Переход на метку ":метка".
Оператор сравнения ? = val, всегда сравнивает содержимое потока с значением val и если условие верно -пропускает команду ниже оператора условия.
{...} Имя - именованный список действий (список команд) по сути процедура, которую потом можно вызывать по имени.
Процедура которая получает исполнение первой это main как в Си, т.е. имя main зарезервировано.


Код:
{
S0:
SeekWall
? = 1
:S0
S1:
SeekDoor
@ENG
.MOV 1
.ROT -90
:S1
} main

# Действия характеризуются списком комманд и модулей

{
@ENG
.MOV 1
@IRR
.GET
} SeekWall

{
CH:
@IRR
.GET
? = 1
:EX
@ENG
.ROT 90
:CH
EX:
} SeekDoor


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 22:54 
Не в сети

Зарегистрирован: 18 окт 2007, 23:46
Сообщения: 340
Откуда: Москва
прог. языки: С++ , 1С :-)
ФИО: Михаил
Beginer писал(а):
EMURobo.rar (229.27 Кб) - не требует бибилотек[/list]

подскажи, плиз, как скомпилить проект C++Builder 6 что бы без библиотек работал

_________________
http://igrybogov.com - ну о.о.очень интересно
сознание определяет бытие, улыбнись своему отражению


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 23:01 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
RealRobot писал(а):
Beginer писал(а):
EMURobo.rar (229.27 Кб) - не требует бибилотек[/list]

подскажи, плиз, как скомпилить проект C++Builder 6 что бы без библиотек работал


Заходи в опции проекта и отключай там в закладке Package - Runtime Package.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 23:04 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Master писал(а):
Ездиет вокруг стенки.
Я правильно понял алгоритм можно самому пистать в соответствующе файле?


Конечно - именно в этом и был весь цимис :), что бы отладить алгоритм и затем без изменения чего либо слить его в реальную платформу. Можно в принципе и сделать нечто компилируемое из скрипта, но мне кажется что транслятор будет эффективней в данном случае. Соответствующий файл это ctrl.ros - текстовый, в новой версии уже сделал возможность грузить любой. Файл лабиринта так же можно править он находится в 1.krt, в новой версии тоже сделал возможность загрузки из диалога.

Master писал(а):
И еще что бы экран не мигал при повторной прорисовке, затирай старое положение робота, а не перерисовывай весь экран.


Да конечно, просто лепил на скорую руку так как интересна была сама идея. Если это кому то кроме меня надо будет, я учту все пожелания.

Карту новую что ли нарисовали? Добавили стенку что бы меньше ездил по времени? ;) Ускорение то работает ">>"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 30 окт 2007, 23:14 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Цитата:
Карту новую что ли нарисовали? Добавили стенку что бы меньше ездил по времени? ;) Ускорение то работает ">>"?

Ага и мона на ты. Это кстати всех касается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 31 окт 2007, 10:50 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Обновил версию.

Для радара смена дальности - команда .RANGE x (х задается в клетках)

Для модуля @ENG сделан датчик конечного типа на бампере, доступ к данным с него .BUMP, в поток сбрасывается значение был ли он нажат, при попытке перейти через препятствие.

Через меню "Файл", загружаются скрипты и карты, они же сохраняются в ini файле, что бы не грузить при новом включении.

Робот на поле задается по новому не символами "^","V",">","<", а через тильду с указанием градуса разворота ~90, ~0, ~180, ~270. Указывать можно любой градус, но визуализируются только дискреты 0,90,180,270.

Условный пропуск оператора доделал: возможны условия "==", ">=", "<=", "!=" - писать полностью!

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

P.S. Обновление формы не переделал не успел, постараюсь сделать по быстрее, что бы не раздражало мелькание.


Вложения:
Комментарий к файлу: DLL необходимые для запуска
dll-BCB60.rar [267.2 КиБ]
Скачиваний: 30
Комментарий к файлу: Обновленная версия без dll
EMURobo_v001.rar [236.34 КиБ]
Скачиваний: 30
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 31 окт 2007, 14:22 
Не в сети
Аватара пользователя

Зарегистрирован: 27 ноя 2004, 00:42
Сообщения: 3339
Откуда: совсем Москва
ФИО: Григорий
Beginer писал(а):
P.S. Обновление формы не переделал не успел, постараюсь сделать по быстрее, что бы не раздражало мелькание.


Я так понимаю, рисуешь на прямую на канвасе (проект не смотрел, поэтому не знаю точно). Так вот, чтоб не мелькало, создай в памяти Битмап, в который рисуй, а из него по окончании цикла отрисовки копируй методом Copy. (Примерно так, давно на билдере и делфях писал, поэтому могу путаться в деталях. но общая логика такая. Мелькать не будет, а скорость отрисовки считай останется как есть).

_________________
злой полицейский


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 31 окт 2007, 14:56 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Digit писал(а):
Beginer писал(а):
P.S. Обновление формы не переделал не успел, постараюсь сделать по быстрее, что бы не раздражало мелькание.


Я так понимаю, рисуешь на прямую на канвасе (проект не смотрел, поэтому не знаю точно). Так вот, чтоб не мелькало, создай в памяти Битмап, в который рисуй, а из него по окончании цикла отрисовки копируй методом Copy. (Примерно так, давно на билдере и делфях писал, поэтому могу путаться в деталях. но общая логика такая. Мелькать не будет, а скорость отрисовки считай останется как есть).


Сделать быстрее, имел ввиду в течении дня, двух.
Насчет Canvas то да само собой, но не думаю что спасет положение дел TBitmap. Скоре всего нужно ограничиться окном перерисовки, а не рефрешить всю форму. Ну конечно на ресайз нужно делать полный рефреш, а на передвижение платформы ограничиться координатами. Хотя и заманчиво не мудрствуя в битмап колбасить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор робо-платформы создаю.
СообщениеДобавлено: 31 окт 2007, 15:50 
Не в сети

Зарегистрирован: 29 окт 2007, 08:46
Сообщения: 21
Откуда: Карталы
Добил обновление формы, что бы не мельтешило. Не совсем честно сделал, может быть и глюки какие то возможны с обновлением. Дергаться перестало, в глазах уже не рябит.


Вложения:
Комментарий к файлу: Исправления в процедуре обновления формы.
EMURobo_exe.rar [235.15 КиБ]
Скачиваний: 38
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.

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


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

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


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

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