roboforum.ru

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

PiRobot

PiRobot

gppsoft » 09 апр 2014, 08:01

Собрал своего первого робота на базе Raspberry Pi. Управление через сеть(TCP). Софт написан на Java(серверная часть) и C#(клиентская). В планах добавить в консоль управления уровень заряда аккумулятора, скорость, углы наклона и ускорения. Более навороченное управление двигателями. Буду рисовать прямо на изображении с камеры(аля зрение терминатора)Ничего не тупит как у многих на видео в youtube. На глаз FPS 25-30. Аккумулятора хватает часа на 3 беспрерывных покатушек. Так же планируется добавить возможность крутить камерой с помощью сервопривода или шагового двигателя. Ну и многое другое. Если интересно, то выложу еще фото и список используемых компонентов.
Вложения
robot_console.png
Консоль управления(наброски)
2014-04-06.jpg
PiRobot

Re: PiRobot

noonv » 09 апр 2014, 11:53

Ничего не тупит как у многих на видео в youtube. На глаз FPS 25-30

Точно? И задержек нет? :) Вижу, что используете обычную веб-камеру. Как видео обрабатывается? Разрешение, кодирование?

Re: PiRobot

gppsoft » 09 апр 2014, 13:03

noonv писал(а):
Ничего не тупит как у многих на видео в youtube. На глаз FPS 25-30

Точно? И задержек нет? :) Вижу, что используете обычную веб-камеру. Как видео обрабатывается? Разрешение, кодирование?

Точно :). Разрешение 640х480 и 320х240. Не имеет значения для FPS, по крайней мере на глаз. Кадры получаю с помощью библиотеки v4l и java обертку для нее. Кадры получаю в jpeg формате. Все остальное написано мною. Свой протокол передачи данных и т.д... Все на java и C#(на стороне ПК). Могу попробовать снять видео. Может и есть задержка, но я ее не замечаю. Все прям как в прямом эфире :)

Добавлено спустя 10 минут 24 секунды:

Странно что на видео заметна небольшая задержка. В реале ее не заметно :) Хммм... Может и ролики поэтому у всех тупят :)
Последний раз редактировалось gppsoft 09 апр 2014, 16:03, всего редактировалось 2 раз(а).

Re: PiRobot

Belya » 09 апр 2014, 13:28

выложите еще фото и пожалуйста список используемых компонентов :)))

Re: PiRobot

Myp » 09 апр 2014, 13:41

gppsoft писал(а):Может и есть задержка, но я ее не замечаю. Все прям как в прямом эфире :)

так не бывает :)

задержка проверяется просто
открываешь сайт типа http://secundomer-online.ru/stopwach-timer-seconds.html
и размещаешь на мониторе окно с видеопотоком от камеры рядом с бегающими цифрами на сайте.
соответсно камерой робота снимаешь цифры секундомера.

нажимаешь PrtScn и на скриншоте смотришь две цифры, на сайте и на видео.
одна цифра - другая = задержка передачи сигнала на ПК

вопрос просто достаточно актуальный на форуме :)
интересно сравнить относительно задержки камеры на роутерах.
есть ли практический смысл в Pi для технчисекого зрения или один фиг всё печально

Re: PiRobot

gppsoft » 09 апр 2014, 14:04

Myp писал(а):
gppsoft писал(а):Может и есть задержка, но я ее не замечаю. Все прям как в прямом эфире :)

так не бывает :)

задержка проверяется просто
открываешь сайт типа http://secundomer-online.ru/stopwach-timer-seconds.html
и размещаешь на мониторе окно с видеопотоком от камеры рядом с бегающими цифрами на сайте.
соответсно камерой робота снимаешь цифры секундомера.

нажимаешь PrtScn и на скриншоте смотришь две цифры, на сайте и на видео.
одна цифра - другая = задержка передачи сигнала на ПК

вопрос просто достаточно актуальный на форуме :)
интересно сравнить относительно задержки камеры на роутерах.
есть ли практический смысл в Pi для технчисекого зрения или один фиг всё печально


Не знаю плохо это или хорошо. Для меня отлично :)
Вложения
Безымянный.png

Re: PiRobot

djung » 09 апр 2014, 14:11

А можно на код поглядеть?
Как сервера так и клиента.

Re: PiRobot

gppsoft » 09 апр 2014, 14:17

djung писал(а):А можно на код поглядеть?
Как сервера так и клиента.


К сожалению пока нет. Я являюсь еще автором одного проекта из которого взяты наработки протокола. В целях безопасности пользователей не могу предоставить исходники. Могу лишь сказать что здесь ничего сложного. Протокол основан на json в данном случае(робот) я даже не шифрую пакеты. Картинка получается в jpeg переводится в base64, упаковывается в пакет и отправляется. Это я еще не оптимизировал даже передачу изображения :)

Re: PiRobot

Belya » 09 апр 2014, 14:36

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

Re: PiRobot

gppsoft » 09 апр 2014, 15:02

Belya писал(а):задержка приемлемая, для меня тоже все отлично:)

Ну на глаз человеческий я практически не замечаю. Если не вглядываться параноидально. По крайней мере у меня работает гораздо быстрее чем на роликах с подобным роботом на базе RPi.

Re: PiRobot

Myp » 09 апр 2014, 15:53

0.16 секунды задержка.
в принципе тоже самое что и при использовании роутера

Re: PiRobot

gppsoft » 09 апр 2014, 15:56

Myp писал(а):0.16 секунды задержка.
в принципе тоже самое что и при использовании роутера

Учтите что я ничего не оптимизировал еще именно под RPi. Хотя для меня уже все оптимально :)

Re: PiRobot

AndreiSk » 09 апр 2014, 16:51

Возможно на перекодирование в base64 (чтобы в json) много тратится.
Попробуйте с сервера слать массив байтов, съэкономите ЦП ресурсы.
Если еще на RPi крутится серверная часть, которая выводит картинку на экран того же RPi,
то тоже можно убрать.

Re: PiRobot

djung » 09 апр 2014, 17:45

На Rpi какой дистр? rasbian или arch?

Re: PiRobot

BeS » 10 апр 2014, 10:24

А не думали виртурилку использовать? Вроде она как раз заточена под потокувую передачу видео.


cron
Rambler\'s Top100 Mail.ru counter