Oscar Garcia WP

From jderobot
Jump to: navigation, search


Contents

Work Progress

15th October 2012: Roadmap

Greatest hits

AndroidCameraServer

Previous work

Based on my robotics blog: http://blogrobotica.linaresdigital.com/

First approach to flow motion analysis

Original post: http://blogrobotica.linaresdigital.com/2011/02/analisis-del-flujo-de-movimiento-en.html

Using cvCalcOpticalFlowPyrLK OpenCV function we could get an vector of center image's optical flow as shown here:

Second approach to flow motion analysis

Original post: http://blogrobotica.linaresdigital.com/2011/02/analisis-del-flujo-de-movimiento-en_15.html

We are trying to estimate camera rolling analyzing only two points:

Third approach to flow motion analysis

In this video I'm trying to test a closer surface view. I don't analyze yet angles nor distances, only I was testing how stable and precise (cvCalcOpticalFlowPyrLK uses subpixel accuracy) is motion flow:

Playing with IOIO

Original post: http://blogrobotica.linaresdigital.com/2012/07/de-vuelta-al-tfm.html

Sparkfun is selling a device named "IOIO for Android" that let Android interacts with I/O devices and sensors directly:

10748-01b_i_ma.jpg

There is a lot of examples and technical info in its wiki:

pins.jpg

First touch

First sensors (infrared proximity sensors)

First servo and ESC (electronic speed controller)

Source code (rewritten): https://svn.jderobot.org/users/redstar/master/ServoIOIO/

Testing ESC (electronic speed controller) forward, reverse and brake

Installing Debian 7 on GK802

GK802 is a HDMI Android dongle with a powerful quad core CPU (Freescale i.MX6 SOC) and 1GB of RAM. It beats Raspberry Pi in lots of features but doesn't have ethernet port (but support USB ethernet adapter), serial port, RGB monitor and has only one USB port (Raspberry Pi has two of them).

Hardware details:

GK802.jpg


Installation process

Original blog entry: http://projectgus.com/2013/05/debian-installer-for-zealz-gk802-android-tv-quad-core-arm-minipc/

Getting started with the FX-61 Phantom (our UAV)

Balancing the propeller

Testing battery, radio, servos and motor

Designing a feeding system

Power requeriments are different for RC flying wing and processing unit.

While flying wing ESC needs direct input from battery and feeds both, motor (11,1V and 30A max.) and servos (5V and 1A max.), processing unit needs a BEC that feeds GK802 with 5V and 2A.

Instead using two batteries, we will make a T cable that power both devices.

Making a T cable and soldering connectors

Adaptador_T_1_mini.jpg Adaptador_T_2_mini.jpg

Connecting all together

Alimentacion_GK802_mini.jpg Alimentacion_Completa_mini.jpg

Testing GK802 with a little battery

Conector_microUSB_mini.jpg

Failed hits

Working with cheap cameras and RC car

Test 1: inside home

Testing RC car inside a house failed because reflecting floor issues and wheel's car vibrating that are blurring image confusing algorith.

Test 2: outside

Testing RC car outside at street failed because very strong image shake that are blurring image and losing image sharp.

Summary

It's a very bad idea using cheap cameras because image quality and a problem with rolling shutter.

Rolling shutter is a method of image acquisition in which each frame is grabbed by scanning across the frame line by line vertically, so if a object is moving (or the camera is panning quickly) in each line the object or the scene will be in a different position.

In a road or highway, for example, this will cause vertical lamps or handrails appear to be oblique (skew). The same happens with the complete scene when the car turns over quickly.

When the car is running on a rough surface then the vibration gets a lot of wobble (jello effect).

Both of them (skew and wobble) makes it extremely difficult analyze motion flow.

Android camera server interface for Jderobot

Source code (SVN): https://svn.jderobot.org/users/redstar/master/AndroidCameraServer/trunk/AndroidCameraServer/

Running cameraserver in Android

Screen capture from Sony Xperia Neo V:

RedStar_Android_CameraServer_Failed_mini.png

Running cameraview in Ubuntu 12.04

When running cameraview in Ubuntu 12.04 against Ubuntu cameraserver it works as expected.

When running cameraview against Android cameraserver it fails with "Invalid proxy" message:

redstar@greystar:~/jderobot/trunk/src/components/cameraview$ ./cameraview --Ice.Config=android.cfg 
Loading glade
Invalid proxy

Update (2013-02-27): Got it!

Please, see "hits" #AndroidCameraServer.

Installing Debian 7 on GK802

We are looking for a cheap substitute board for Raspberry Pi with more CPU power but lower current consumption.

GK802 HDMI dongle uses Android as operating system but can be easily changed with an ubuntu or debian linux distribution.

First attempt

Using spanish locale and spanish apt repositories.

Second attempt

Using english locale but spanish apt repositories.

Links