Archive for July, 2015

BOOF working on Processing for Android!

Posted in Android, Processing, Vision on July 31, 2015 by asteriondaedalus

A little work and a little sweat and the help of Peter Abeles (the author of BOOFCV) and BOOFCV can compile in Processing for Android.

The fix is to break into the boofcv_dependencies.jar and delete the xmlpull entry under: boofcv_dependencies/org

The reason, the library is already being pulled in from somewhere else in the build and the build is not smart enough to ignore a replicated library and simply cracks up.

Simple fix.

Too early to know whether there will be any side effects – perhaps now in Java mode of the Processing IDE, since this fix appears to correct a problem in the Android mode.

In any event, we can move on with the experiments. I have quite a few android based toys with cameras after all.

JXD S7800B

JXD S7800B

water proof phone

android webcam

Cyclops!

Cyclops!

Measy

Advertisements

Bonus!

Posted in IOT, MQTT, Processing, Robotics, ROS on July 23, 2015 by asteriondaedalus

I found that Processing has a library for talking to MQTT so …

Will make sense when I get the 360 degree obstacle thingy going as I should be able to send “left a bit” … “righ a bit” messages to the MQTT server etc.

MQTT has much the same topic based thingy as ROS yes?  Well, sort off.  But golly, to be free of ROS, only in as far as you can work off the IOT as well – and there is likely a ROS-MQTT bridge in any event.

Better yet, it works on Processing for Android! Whooo hooo!

Now, I am in comms with the author of BOOFCV as we type here to sort out why the BOOFCV examples are not compiling for Android Mode.  Hmmm.

Voila!

Posted in Android, Processing, Vision on July 20, 2015 by asteriondaedalus

Okay, so a little fiddling and changing a couple of set parameters and I have code running on my Samsung S2 that will unwrap a Bloggie lens.

Based on code by Flong but running against camera and not a saved image.

Now a bit of work to port ideas from roborealm to turn this into an obstacle avoidance sensor.  Will have to find or code related image processing in Processing or Java.  Although, might have found the best library in BOOF!  BOOF has processing library (already just now installed on my machine), camera calibration, structure from motion (OMG!), Fiducials (read Markers) (OMG!).

So, ready, steady GO!

Try, try again.

Posted in Chase That Dog!!, Doodling, Vision on July 19, 2015 by asteriondaedalus

After breaking the setup my Processing for Android installation, I opted to rip out the Android SDK, rip out Processing, delete all remaining files and folders and environment variables.

I then re-installed Processing and let the fresh Android Mode install the Android SDK (rather than hook into my own  installation).

A little wrestling with the permissions on the sketch for the camera and I was (finally) able to get both my front and my back camera running on my Samsung S2.

Now we are away with modifying a bloggie lens to sit on the phone and to use the processing unwrapping of the bloggie image to knock up a collision sensor.

Cyclops!

One snazzy sensor

VHDL DIGITAL LOGIC LAB 2 Interim

Posted in Altera Labs, Cyclone II Experiments, FPGA on July 12, 2015 by asteriondaedalus

LAB 2 in work, here are parts 1 and 2 at DL-L2.

No such thing as a Ghost

Posted in Altera Labs, Cyclone II Experiments, FPGA on July 12, 2015 by asteriondaedalus

Well, not anymore.

You may or may not recall during the LAB I work that we knocked up a module to allow our Master 21EDA board to behave somewhat like a Altera DE1 board with respect to the way the displays worked.

While the original code worked it had a bug where a ghost of the preceding digit would show on the current digit display.

The problem was sorted thus:

no ghost

Now it turns out if the signal M is 2bit then this doesn’t work.  There is still a hangover were the enable moves to the next digit before the digit value changes.  The fix was then to set M to a 3bit counter and then set the unused cycles to all ‘1’ – so all blank led segments when HEX=”1111111″, and setting all display enables to disabled when DISPn=”1111″.

NOTE

This is still clunky.  It may be fine for the display problem but it is likely not the best for signal problems (there may still be glitches in timing but the LED isn’t bright enough now to notice).  Will need some investigation still and some playing with registering via coding patterns.  The likely way we want to fix it properly is to set the enables high, select the digit, then set the enable low each time.

Almost!

Posted in Altera Labs, Cyclone II Experiments, FPGA on July 11, 2015 by asteriondaedalus

Just sitting with a glass of red and sorting out final bug of VHDL for Altera Lab Digital Logic part II port for the Master 21EDA board.  Looking like the multiplexers are not passing through signals for some dang blasted reason.  Will sort and post full details as soon as it is cracked.