roboforum.ru

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

Робот Т-800 на 3D принтере и ПК в качестве системы управлени

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 14 окт 2018, 11:16

Половина правой руки готова

Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 14 окт 2018, 20:03

Попробовал VOCO. Распознает действительно не плохо. API у него есть? Как пользоваться из своей софтины?
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 15 окт 2018, 06:47

Нужно имитировать нажатие клавиши Ctrl, а потом держать в фокусе текстовое поле например RichTextBox и всё. Всё, что распознается попадет туда.
Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 15 окт 2018, 07:25

Значит API нет. Через текстовое окошко не всегда удобно.
В клипах надо нормализировать звук. Команды роботы значительно громче его ответов.
А так все по-прежнему круто!
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 15 окт 2018, 08:17

Текстовое поле мне кажется очень удобным вариантом. Ведь значение Visible можно ставить False либо располагать его за пределами видимого экрана и просто отслеживать состояние change, а там что угодно, либо ждать конкретных слов, либо скажем после его изменения передавать значения интерпретатору.
Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 15 окт 2018, 18:24

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

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 16 окт 2018, 06:43

Мне кажется наоборот рамок нет. Самое главное ограничение убранно это постоянный доступ к Интернет. Система может работать хоть где и гораздо быстрее всех онлайн API. Я не знаю как на счет других языков программирование, но в VB свойство SetFocus работает и на невидимых объектах, если их состояние Enable стоит True. Единственное на мой взгляд неудобство в программе Voco это невозможность убрать значёк микрофона из угла экрана, и нет свойства, которое говорило бы что Ctrl имитация нажатия клавиши прошла успешно. Т.е. не всегда срабатывало. Я, чтобы контролировать активность программы, т.е. чтобы робот знал, что распознавание идет считываю с экрана один пиксель. Если цвет черный, значит окно распознавания не запустилось, если иной, значит распознавание идет. Вот это не совсем удобный подход для меня.
Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 16 окт 2018, 07:03

saifer писал(а): невозможность убрать значёк микрофона из угла экрана
И это тоже.
У меня почемуто в C# иммитация двойного нажатия CTRL не получилось. Задавал тупо через паузу, но ничего не происходит. В принципе,при установке VOCO, появляется куча DLL библиотек. Если в них разобраться, то вероятно можно научиться управлять распознавалкой.
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 16 окт 2018, 09:13

Можно с DLL, Но нужны имена процедур и команды вызова.
У себя двойное нажатие я реализовал так.

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Call keybd_event(VK_CONTROL, 0, 0, 0) Ctrl
Call keybd_event(VK_CONTROL, 0, 0, 0) ' Ctrl
Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) Ctrl
Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) ' Ctrl
Call keybd_event(VK_CONTROL, 0, 0, 0) Ctrl
Call keybd_event(VK_CONTROL, 0, 0, 0) Ctrl
Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) Ctrl
Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) Ctrl

Т.е имитирую нажатие и отжатие.
Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 17 окт 2018, 05:34

Действительно получилось. Спасибо.
На C# выглядит так:
Код: Выделить всёРазвернуть
private static uint KEYDOWN = 0;
private static uint KEYUP = 2;
private static byte VK_CONTROL = 17;

[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,int dwExtraInfo);

private bool VOCO_ON = false;

private void VocoOn(bool on)
{
  if (on != VOCO_ON)
    {
      VOCO_ON = on;
      keybd_event(VK_CONTROL, 0, KEYDOWN, 0);
      keybd_event(VK_CONTROL, 0, KEYUP, 0);
      //System.Threading.Thread.Sleep(100);// Задержка не обязательна
      keybd_event(VK_CONTROL, 0, KEYDOWN, 0);
      keybd_event(VK_CONTROL, 0, KEYUP, 0);
    }
}
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 17 окт 2018, 06:41

Незачто. Как показывает практика, задержка хоть и не обязательна, но желательна. Без неё есть шанс, что программа не подхватит. Я вместо задержки просто дублирую команду нажатия и отжатия.
Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 26 ноя 2018, 12:46

Корреспонденты иностранных информационных агентств BBC News и Ассошиэйтед пресс побывали в гостях у терминатора Джона Генри
https://youtu.be/P2PY9-inCxw

Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 26 ноя 2018, 16:44

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

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение saifer » 26 ноя 2018, 18:57

Снимаю все еще на телефон. Камера пока не в приоритете. Слайд шоу возможно. Но по умолчанию видео редактор вставляет кадры длиной в 1 секунду, не стал сжимать каждый отдельно. Это как бы от первого лица. Эти кадры робот записал, когда регистрировал движения.
Аватара пользователя
saifer
 
Сообщения: 156
Зарегистрирован: 27 июл 2016, 12:11

Re: Робот Т-800 на 3D принтере и ПК в качестве системы управ

Сообщение Scorpio » 27 ноя 2018, 07:50

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

Пред.След.

Вернуться в Наши проекты

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

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