roboforum.ru

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

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

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

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

denissyslo » 18 мар 2010, 07:49

==================================================================================================================
Вставка от =DeaD= - разработчика ORFA-терминала

Репозитарий проекта: http://hg.vehq.ru/orfa-terminal (там можно скачать последнюю версию в пункте "zip" левого меню)
Клиент репозитария: TortoiseHg ( http://bitbucket.org/tortoisehg/stable/wiki/Home )
Используемая среда разработки: Qt Creator ( http://qt.nokia.com/products/developer-tools скачать SDK можно в DOWNLOAD \ LGPL \ Qt SDK for *)
Используемые дополнительные библиотеки:
* Внимание! для всех библиотек надо либо включать место где лежат соотв. файлы в PATH, либо:
  • файлы .dll надо помещать в каталог <qt>/<YYYY.MM>/qt/bin
  • .a-файлы библиотек в <qt>/<YYYY.MM>/qt/lib
  • .h-файлы заголовков в <qt>/<YYYY.MM>/qt/include

Реализованы функции:
  • Отображение видеосигнала с робота
  • Выбора COM-порта и скорости работы;
  • Настройки номеров сервоприводов шасси и pan-tilt платформы;
  • Прямого управления шасси с кнопок формы;
  • Прямого управления шасси с джойстика или геймпада;
  • Прямого управления pan&tilt платформой с ползунков формы;

Планируется:
  • Привести в порядок интерфейс программы;
  • Навигация по подготовленным маякам;
  • Привести в порядок код программы, чтобы можно было использовать этот терминал как базу для любых проектов;

Последняя скомпилированная версия: download/file.php?id=19341

Внешний вид терминала (не последняя версия):
orfa-term-2.jpg


Видео с терминала (не последняя версия):


==================================================================================================================


Сделал робота 6х6, http://roboforum.ru/viewtopic.php?f=10&t=7335
Все никак не доходят руки им порулить - нет программы.
Вроде определился - писать на си билдере.
Сейчас гденить скачаю и начну делать программу.
Я предлагаю тем, кто юзает подобные, обеденится и набрасать основу для типовой программы и выложить исходный код для дальнейшей переделки юзерами.
Т.к. я понимаю, что OFRA - неплохая штука, но эта неплохая штука есть только в МК, а для ее руления еще ничего нет.
Может быть у кого-то уже есть наработки.

Re: Программа для упраления платами OR

Виктор Казаринов » 26 мар 2010, 20:52

Придется наверное мою прогу AIAssistant делать с двух сторон - со стороны логического (абстрактного) мышления и образного. А это образное начинать с лягушачьих экспериментов. Уколол лапку - она дернулась. Ничего не обещаю, но попробую. Сразу говорю, что в дистрибутив соберу все целиком. А с учетом онтологической базы знаний - энное количество мегабайт. Кто-то сможет, думаю, и свою прогу предложить как альтернативу на робофоруме. Тут уж сами разбирайтесь, кому что удобнее будет.

Re: Программа для упраления платами OR

Виктор Казаринов » 26 мар 2010, 20:55

2pashteet: я тогда потихоньку расчехлю запылившегося робота и подзаряжу его аккумуляторы, протру его глазок - камеру. А вот с плагинами придется основательно поработать, т.к. я за это время кое-что поизменял в ядре программы.
У меня такие модули:
1. OR-PROG-USB: Usb-программатор для контроллеров AVR с функцией USB<=>UART моста
2. OR-AVR-M32-D: Контроллер общего назначения с портом ДД (RoboMD2)
3. OR-MD2-2A-12V-CP: Драйвер для двух маломощных двигателей, до 2А, 6-12В
Все это присоединено к бортовому компьютеру, кот. через Wi-Fi с пом удаленного терминала я использую на стационарном компе.

Re: Программа для упраления платами OR

Angel71 » 26 мар 2010, 21:04

vadinator, это обычный маршрутизатор, создающий вспомогательные виртуальные порты. я о другом писал. :wink: да и всё-равно толку от него будет почти 0, нужно еще обе софтины доделывать, чтоб фильтровать данные. а это уже как минимум нужен протокол, который будет поддерживать обе проги
Последний раз редактировалось Angel71 26 мар 2010, 21:05, всего редактировалось 1 раз.

Re: Программа для упраления платами OR

Виктор Казаринов » 26 мар 2010, 21:04

Но чтобы не мешать другим, уместнее было бы мне обсуждать мою прогу в моей же теме viewtopic.php?f=10&t=7004

Re: Программа для упраления платами OR

vadinator » 26 мар 2010, 21:32

нужно еще обе софтины доделывать, чтоб фильтровать данные. а это уже как минимум нужен протокол, который будет поддерживать обе проги

признаюсь, не работал с такими...но вот, что пишут-
COM Port Splitter делит один СОМ-порт (реальный или виртуальный) на несколько виртуальных портов, которые являются точными копиями оригинальных портов в системе. Например, он делит реальный COM1 на виртуальные COM2, COM3, COM4 порты

т.е. создаются копии портов, остальное зависит от подключенных к вирт. портам прог...но пока работает одна прога, можно ведь и не пользоваться терминалом, а просто наблюдать получаемые с МК данные...а когда нужно отправить данные, можно либо остановить основную прогу, либо дождаться завершения какого либо цикла в ней (когда обмен прекратится)...в любом случае это удобнее, чем запускать и закрывать проги. :crazy:

Re: Программа для упраления платами OR

Angel71 » 26 мар 2010, 23:14

некоторые отправляют данные (иногда настраивается) не всем, а только последней проге, отправлявшей данные. всё-равно тупиковый путь. данные могут генерироваться чем-то, подключённым к плате (например датчик движения сделали).
а что значит можно в это время не пользоваться? прога или как-то должна знать, что пришедшие данные не нужно обрабатывать или тупо отключаться от порта. а они через этот сплитер прийдут всем. :pardon: и зачем проги тушить, точно так же отключается от порта и всё. в общем не вариант, даже для поиграться

Re: Программа для упраления платами OR

tsrodger » 29 мар 2010, 08:51

Моя программка для управления... У меня пока только модуль управления двигателями на arduino портирован, поэтому в самой программе интерефейс только под него и представлен, но в ручную можно отправлять любые команды ORFA.

PS для запуска нужен фреймворк 3.0 и выше
Вложения
ArBBot Control.zip
(21.54 КиБ) Скачиваний: 0

Re: Программа для упраления платами OR

pashteet » 29 мар 2010, 09:54

Спасибо.
Я так понял, 5 квадратных кнопочек - это для управления ДД?
Если так, то надо бы добавить еще кнопочек :oops:

Re: Программа для упраления платами OR

denissyslo » 31 мар 2010, 08:38

Я так понимаю, что не один и не два человека ofra используют, хоть напишите кто чем свои роботы с офрой рулит с ПК, хоть ради интереса

Re: Программа для упраления платами OR

Vooon » 31 мар 2010, 21:22

Я использую самописные скрипты на питоне, используя http://hg.vehq.ru/liborfa/ или http://hg.vehq.ru/pyor/

Вот например:
Код: Выделить всёРазвернуть
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim:set ts=4 sw=4 et:
# -*- ttstat.py -*-

# for python 2.5
from __future__ import with_statement

import os
import sys

import serial
import time

import pyor
from pyor import testio, Empty
from pyor.driver.adc import AdcDriver

CAMERA = 12
CANNON = 13

LIGHT = (0, 5)
LASER = (0, 6)

def vbat(adc):
    r1 = 296e3
    r2 = 98.7e3
    k = (r1+r2)/r2
    v = ((3.3*adc)/1023)*k
    return v

def irrange(adc):
    return adc


def sens():
    global adc
    try:
        adc = adc.read()
        #turret = turret.status()
        #cannon = cannon.status()
    except Empty as e:
        print "Empty: ", e

    print "Vbat: %0.2f V" % vbat(adc[0])
    print "Range: %s adc" % irrange(adc[1])
    #print "Turret: %s" % turret
    #print "Cannon: %s" % cannon


def init():
    global adc

    ser = serial.Serial(sys.argv[1], 115200)
    ser = testio.LogIO(ser)

    req = pyor.Request(ser, timeout=1)
    intro = pyor.Introspection(req) #, device=dv)

    adc = AdcDriver(intro)
     
    # config
    adc.config_bit(10)
    adc.config_ref('avcc')
    adc.set_enable(0, True) # Vbat
    adc.set_enable(1, True) # Range
    adc.commit_cfg()


if __name__ == "__main__":
    init()
    sens()

Re: Программа для упраления платами OR

kbnn » 01 апр 2010, 08:19

А на QT есть примеры? (запись, чтение в\из com порт)

Re: Программа для упраления платами OR

kuzulis » 01 апр 2010, 20:14

А на QT есть примеры? (запись, чтение в\из com порт)


Всем доброго времени.

Есть. См. QSerialDevice из SVN на http://fireforge.net/scm/?group_id=199

Там я добавил недавно два примера AnyMaster (типа мастер) и AnySlave (типа слейв), вот на их базе можно что-нить сварганить для ваших "киборгов" :)

ЗЫ: если найдете баги - пишите мне на мыло (мыло в исходниках QSerialDevice указано)
ЗЫЫ: не сочтите за пиар

Re: Программа для упраления платами OR

denissyslo » 02 апр 2010, 03:33

tsrodger писал(а):Моя программка для управления... У меня пока только модуль управления двигателями на arduino портирован, поэтому в самой программе интерефейс только под него и представлен, но в ручную можно отправлять любые команды ORFA.

PS для запуска нужен фреймворк 3.0 и выше


Ничего так програмулька.
На чем писалась?
Исходных кодов не жалко?

Re: Программа для упраления платами OR

blindman » 02 апр 2010, 04:09

kuzulis писал(а):если найдете баги - пишите мне на мыло


Ну, писал я на мыло. Ответа не дождался. Задам вопросы здесь, раз уж объявился. Тут точно не потеряются

1. Почему Вы ограничили скорость? Почему не разрешить передавать произвольные значения под Windows? При работе с USB-COM адаптерами типа FT232 .dcb.BaudRate = 2000000 прекрасно работает. Да и под Linux уже давно #define __MAX_BAUD B4000000.

2. Лицензия GPL была выбрана сознательно? Есть шанс получить код под LGPL?

Баги есть, особенно в SerialDeviceInfo и SerialDeviceWatcher. Первый просто не работает, второй ваще сегфолтит. Это под Debian testing. Но разбираться лично для себя не вижу смысла из-за лицензии.

Re: Программа для упраления платами OR

kuzulis » 02 апр 2010, 08:05

Код: Выделить всёРазвернуть
Ну, писал я на мыло. Ответа не дождался. Задам вопросы здесь, раз уж объявился. Тут точно не потеряются


Я Вам отвечал вообще-то!

Код: Выделить всёРазвернуть
Баги есть, особенно в SerialDeviceInfo и SerialDeviceWatcher. Первый просто не работает, второй ваще сегфолтит. Это под Debian testing. Но разбираться лично для себя не вижу смысла из-за лицензии.


Ололо, глословные утверждения, "на нет и суда нет" (с) . :)


cron
Rambler\'s Top100 Mail.ru counter