Как стать автором
Обновить

Комментарии 23

Обожаю подобные статьи из разряда «сделай сам»)
Большое спасибо.
вот еще была статья «машинка под управлением сотового телефона» — там использовалась мощь телефона и его wifi и камера.
http://habrahabr.ru/post/146020/
Со временем (после энного количества построенных тележек) включается хотелка какого-то осмысленного катания. Не пространного «могу съездить на кухню, посмотреть что там творится», а конкретного — соревнования, войнушка или ещё что-то, но не просто катание без дела.
У меня вот танчики щас катаются. ИК бой (усовершенствованая Тамия)



Если кому-то будет интересно — рожу пост, может быть.
Очень интересно. Напишите, пожалуйста.
<шёпотом>Тут всё на базе нашей виртурилки, так что пост смогу написать только после тиража, иначе меня народ живьём сожрёт </шёпотом> :-)
Ну, хотя бы так.
эх… красота еще бы стрелял и все работе конец…
Так ведь стреляет. Правда, ИК-сигналами, а не пульками.
Танки ездят по APшкам, или мне показалось?)
Не показалось :-)
Just beat it!
Расскажи что ты применял для трансляции видео с камеры.
Я тоже сравнительно недавно собирал простого бота, правда под малиной и использовал gstreamer для видео, но мой фреймрейт все равно оставляет желать лучшего.

У вас gstreamer MJPEG напрямую с камеры отдаёт?
gstreamer напрямую отдает, но я не использую mjpeg сжатие
как мне грамотно сформировать цепочку для сжатия и передачи видео?
Ну раз напрямую с камеры — то это уже MJPEG скорее всего. Какая модель камеры?
У меня вот такая цепочка, но она только для конкретной моей железки (с аппаратным энкодом в h24, для малины не подойдёт)

gst-launch v4l2src always-copy=FALSE chain-ipipe=true ! video/x-raw-yuv,format='(fourcc)'NV12, width=640, height=480, framerate='(fraction)'30/1 ! queue ! dmaiaccel ! dmaienc_h264 encodingpreset=2 ratecontrol=1 intraframeinterval=23 idrinterval=46 targetbitrate=600000 ! rtph264pay !udpsink port=3000 host=192.168.1.37 sync=false enable-last-buffer=false

Для сжатия в MJPEG силами DSP у меня вот такая, но, опять же, для малины не подойдёт, надо заменить dmaienc_mjpeg на обработчик который у вас в гстримере есть (должен быть).

/usr/bin/gst-launch -e v4l2src always-copy=false chain-ipipe=true ! dmaiaccel ! video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 ! ffmpegcolorspace ! dmaienc_mjpeg copyOutput=true outputBufferSize=0 qValue=60 ! tcpserversink port=8080 sync=false

Попробуйте скомандовать gst-inspect | grep mjpeg и посмотрите какие подходящие обработчики у вас есть.
модель камеры Logitech c300.
Спасибо за советы, буду экспериментировать
Кадры напрямую читаются с камеры, сжимаются в jpeg libjpeg-ом и отправляются по TCP. Сама камера кроме как YUYV картинки выдавать ничего больше не умеет. Вообще собираюсь использовать нормальное видеокодирование с помощью libavcodec и передаче на консоль по UDP.
Я когда игрался тоже лагало сильно, а тут вообще все отлично. Буду тогда переделывать!
www.youtube.com/watch?v=hixjlr1w5XY
Еще есть вопрос по поводу программной оболочки через которую идет взаимодействие с двигателями.
Я писал на питоне и столкнулся с проблемой опроса кнопок на клавиатуре (нажата или нет)
в итоге не найдя решения, я использовал библиотеку curses.
Как у вас это реализовано?
Консоль для управления написана на C с использованием бибиотеки SDL — console.c функция checkInput(). Все исходники проекта открыты и находятся в svn репо.
В качестве операционной системы — Linaro, полноценный линукс дистрибутив, основанный на Ubuntu.

Нет такой операционной системы Linaro. Linaro — это прежде всего toolchain, ядро Linux для ARM и дополнительные бинарники поддержки аппаратного обеспечения конкретных девайсов.
Не Linaro на основе Ubuntu, а сборка Ubuntu для ARM на основе Linaro тогда уж.
будь по-вашему
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации