roboforum.ru

Технический форум по робототехнике.

Программка на ПК для управления сервоконтроллером

Правила форума
Правила раздела OpenRobotics
Ответить

Re: Программка на ПК для управления сервоконтроллером

=DeaD= » 04 авг 2009, 19:21

Выложу, восстановлю сначала только до приемлемого уровня :)

Добавлено спустя 38 минут 52 секунды:
Вот, пока работу с файлами не прикрутил.

Добавлено спустя 25 секунд:
И удаление серв из модели пока не сделал.
Вложения
OR-Seq-v0.10.zip
Исходники + .exe, но без dll-ок.
(1.43 МиБ) Скачиваний: 12

Re: Программка на ПК для управления сервоконтроллером

MiBBiM » 04 авг 2009, 20:00

хм. я предполагал, что будет нечто наподобие нижеследующего:
ejay.jpg

т.е. большое пространство, куда можно перетаскивать задачи (от "шаг вперед" до "серву на последней фаланге задней левой конечности повернуть от 35 до 35"), их можно растягивать/сужать и т.д.
или, как вариант, каждая строка соотвествует своей серве.
или объединить эти два варианта, создав два уровня: редактор движения серв и робота как целого

Re: Программка на ПК для управления сервоконтроллером

=DeaD= » 04 авг 2009, 20:09

2MiBBiM: А какой смысл по отдельности сервами рулить? Нога же целиком должна двигаться, а не каждый раз составлять шаг из движений 3 серв?

А так - собственно я и создаю пока движений из которых потом можно будет составлять программы. Но до этого этапа пока не дошел.

Re: Программка на ПК для управления сервоконтроллером

setar » 04 авг 2009, 20:18

Если расширить мысль и один блок "возможные действия" будет содержать внутри себя такой же тайм лайн с инструкциями для тех же 3х серв то и получится набор движений, например "шаг вперёд"
только этот набор нужно будет накладывать не на тайм лайн портов а на тайм лайн абстракции элемента робота (лапа/захват и тд)

Добавлено спустя 2 минуты 20 секунд:
ещё мысль вслух, может оболочку сразу на web вытаскивать ?
предвижу гораздо большее применение чем управление отдельной моделью.
это к мысли об удалённом управлении роботом по интернету...

Re: Программка на ПК для управления сервоконтроллером

MiBBiM » 04 авг 2009, 20:20

возможно выразился неправильно, Сергей дополнил.
т.е. вначале создаем пресеты движений на экране с сервами, а потом на аналогичном (в одну строку) эти пресеты вставляем.

Re: Программка на ПК для управления сервоконтроллером

=DeaD= » 04 авг 2009, 20:27

2setar: По тому как работать с такими действиями пока даже не думал, надо хотя-бы это освоить. А вот про веб - не знаю зачем может быть нужно. Интерфейс в вебе посложнее будет рисовать, а уж с портами работать напрямую из веба точно не получится.

Re: Программка на ПК для управления сервоконтроллером

setar » 04 авг 2009, 20:46

напрямую и не нужно, ты попробуй прогу разделить на две части - командрую строку ( CLI ) и граф. управлялку
сейчас это не должно быть сложно, а в будующем сильно упростит жизнь для адаптации к другим платформам и web

Re: Программка на ПК для управления сервоконтроллером

=DeaD= » 04 авг 2009, 20:49

Вот как сейчас выглядит интерфейс

(про командную строку не понял - а чего через CLI делать то?)
Вложения
or-seq-v0.01.jpg

Re: Программка на ПК для управления сервоконтроллером

setar » 04 авг 2009, 21:44

примерно так:
есть граф интерфейс он вызывает прогу (пусть она называется orserv)
с соответствующими параметрами.
например:
orserv {port/servj_name} {set|get|calibrate} {value}
orserv port_0 set -19
orserv port_1 get
orserv left_leg calibrate

примерно в таком стиле
это позволит делать вызов программы orserv из любой программы (бейсик / си / алгоритмические / пакетный файл / web ) как внешний обработчик, это существенно расширяет сферу её применяемости

Добавлено спустя 3 минуты 41 секунду:
а собственно сам CLI это обработка возможных параметров но в интерактивном режиме:
# orserv
>port_0 set -19
OK
>port_1 get
128
>quit
bue
#

Добавлено спустя 4 минуты 53 секунды:
туда же можно вынести переменные именования:
orserv port_0 nameset left_leg
orserv left_leg portchange port_1 // <-- это перебросит все обработчики left_leg на порт 1

Добавлено спустя 6 минут 34 секунды:
ну и высший пилотаж:

orserv action list
<null>
orserv action add name=leg_up input=leg_port,position
>set $leg_port $position
>get $leg_port
>.
OK, action leg_up added

orserv leg_up left_leg 100
100

Re: Программка на ПК для управления сервоконтроллером

Vooon » 05 авг 2009, 03:14

=DeaD= писал(а):И удаление серв из модели пока не сделал.

Сделай плиз только исходники, а еще лучше запушь на http://hg.vehq.ru/or-seq
(ты же был хорошим мальчиком и пользовался меркуриалом? :) )

ПС: собираюсь добавить в liborfa сетевого демона,
пока только не знаю какой бы порт занять...

Re: Программка на ПК для управления сервоконтроллером

=DeaD= » 05 авг 2009, 11:29

2setar: По моему из этого получится не больше чем "почему не отвечаешь сынок? спасибо мама, я уже поел" :) короче сильно производительность упадёт от такого разделения. Процессы запускать, особенно под виндой - это не два байта переслать :)

Добавлено спустя 34 секунды:
2Vooon: Я и так хороший :) просто первую более менее шевелящуюся версию доделаю и выложу для дальнейшего развития.

Re: Программка на ПК для управления сервоконтроллером

demoontz » 05 авг 2009, 17:08

а какойниь релиз будет? хотябы предварительный?

Re: Программка на ПК для управления сервоконтроллером

=DeaD= » 05 авг 2009, 17:13

будет :) но позже :)

Добавлено спустя 3 минуты 26 секунд:
Файлики сохраняет уже, ща загружалку прикручу.

Код: Выделить всёРазвернуть
<project>
    <servo>
        <id>servo2</id>
        <port>3</port>
        <pos_x>164</pos_x>
        <pos_y>74</pos_y>
    </servo>
    <servo>
        <id>servo1</id>
        <port>1</port>
        <pos_x>26</pos_x>
        <pos_y>69</pos_y>
    </servo>
    <movement>
        <title>new movement</title>
        <position>
            <title>new position</title>
            <pause>10</pause>
            <servoPos>
                <id></id>
                <pos>0</pos>
            </servoPos>
            <servoPos>
                <id>servo1</id>
                <pos>-40</pos>
            </servoPos>
            <servoPos>
                <id>servo2</id>
                <pos>-35</pos>
            </servoPos>
        </position>
        <position>
            <title>new position</title>
            <pause>10</pause>
            <servoPos>
                <id>servo1</id>
                <pos>38</pos>
            </servoPos>
            <servoPos>
                <id>servo2</id>
                <pos>60</pos>
            </servoPos>
        </position>
    </movement>
    <movement>
        <title>new movement</title>
    </movement>
</project>

Re: Программка на ПК для управления сервоконтроллером

avr123.nm.ru » 05 авг 2009, 17:13

MiBBiM писал(а):хм. я предполагал, что будет нечто наподобие нижеследующего:
ejay.jpg



Именно это я и называю секвенсором - т.е. задание последовательностей как исполнение MIDI мелодий.

Re: Программка на ПК для управления сервоконтроллером

MiBBiM » 05 авг 2009, 17:58

=DeaD= писал(а):Процессы запускать, особенно под виндой - это не два байта переслать :)

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


Rambler\'s Top100 Mail.ru counter