Main Board Regroup

I am starting to have problems with my underpowered x86 board I had already.  I kind of hit a wall when going further on the integration of cam for vision processing.  Even though the cam is recognized by USB port, the driver stack in Win2K does not handle the cam (I had tested it in a Vista notebook).  Driver on CD needs DirectX 9c – which will not load with this STPC processor (which appears to DirectX as a Cyrix).  I searched everywhere for a Win2K driver on the Web – no go.  If the damn board booted a more robust version of Linux than uLinux (which is bootstrapped on DOS), I would try the generic Linux Webcam drivers found all over the Net.  I tried using a driver for an old Logitec “eyeball” cam I had and ran the setup, only to hit another wall – bit depth of the video.  Since the only driver found with this board is a generic VGA, I only have 16 colors, even though I can get 800×600 out of it.  That was the straw that broke the camels back – Probably a great board for DOS or Win98, but nothing higher.

I have already purchased another PC104 board that will handle WinXP, has all the in-outs I need, as well as standard XP functionality.  I have already created my embedded version using NLite with an XP Pro disc I had before Vista.  Good thing I hang on to these!  I also bid on another board that will handle Debian Linux, so I will have that for possible parallel development.  Although developing in .Net Studio and dropping it into the PC104 board sure will be pretty uncomplicated.

Posted under Robotics

Pan-Tilt and Video Figured Out….

After much trial and error and success with PWM and the neck servos (Hitec), I found I was having problems getting the servos to work together using basic pulse width in the Arduino code. Each servo worked perfectly when singled out, but trying a pan-tilt at the same time caused servos slamming to the ends and losing all coordination. I finally found that downloading the MegaServo library did the trick. It was supposed be included with version 17 of IDE (which I have). Anyway, this library works great! The key is that it will allow all the pins to be used for servos, not just 9 & 10. My Arbotix board stops at 8, so I was out of luck with the default Servo.h library.

I had planned on interfacing a Panasonic CX161 board cam (have one already) to the STPC main board for the vision processing, but that would require a frame-grabber board or a composite vid 2 USB connector. After almost going with that 2nd choice, I remembered I picked up a $12 webcam at Staples around Christmas for goofs – I actually thought I could use it in a project somehow. This choice will cut out the video capture component because it is already built in! I mounted it to the pan-tilt neck assembly and will test interface to the Atlas STPC PC/104 board (with Win2K).

Pan-Tilt-Cam

Posted under Robotics,Sensors

Torso Box and Neck

I got the pan/tilt assembly from Servo City on Saturday.  While the unbelievable Packers-Cardinals game was on, I messed with prepping the Styrene box I had for the robot torso.  I drilled the holes and installed the STPC SBC towards the back, and the compact flash and power connector fit (wasn’t sure until I tried).  The nylon standoffs cleared the pins on the back of the board from touching case.  Then I assembled the pan/tilt with my HS-81 servos (less weight than regular servos, but with decent torque) and then cut a rectangular hole in the top of the box for it.  After drilling another hole for the tilt cable to go into the box, I was ready for testing.  Using the Arbotix controller (not yet installed into torso box), I tested the movement with a simple arduino sketch (AVI below).  Now that the  neck is figured out, I will figure out how to get my Panasonic board cam attached with its 5 or 6 interface wires.  I can always choose to use a USB cam and fill one of the STPC USB ports.

http://www.flynnmetrics.com/blog/wp-content/uploads/2010/01/CIMG54771.avi

 

Posted under Robotics

Back to ArcGIS 9.4

Now the holidays are over.  I’ve got to get back to testing ArcGIS 9.4…….  So far I have it up and running on a spare workstation with XP Pro.  The interface has changed quite a bit from the familiar ArcMap we have been used to since 8.3!  I think they (ESRI) have supposedly rewritten everything from scratch – hence the the dropping of VBA.  You can install VBA on it (not supported tho), and the Macro/VBA editor comes up at least.  I created an app that is used throughout the state and haven’t turned it into dot net yet – still VBA thru an MXD (quick updates/corrections/fixes).  Alas, the app does not run in 9.4!  My plan is to see if it is a lost cause.  All will be moot when I get the app ported to a VB or C dll.  Fridays are always my server/hardware/networking tweaking days, but maybe today it will be app compatibility day!

Posted under GIS

Std Servo and Accelerometer Communication

Part of my steps to get the different parts to talk to each other is a basic action/reaction workflow.  With all this tinkering, nothing ever works out of the box!  I soldered header pins onto a 2-axis accelerometer (Sparkfun) and hooked up to my breadboard.  I had two Hitec HS-81 servos for the neck of my robot (for video and sensors), so I wanted to try those first with the Arbotix microcontroller.  Again, nothing works as it should right off the bat.  I created a sketch using the ‘servo.h’ library and the servo did nothing but chatter during sketch upload.  I then found a PWM routine to use with servos online written by Tom Igoe (by the way, I have his book ‘Physical Computing’ – co-authored with Dan O’Sullivan) which used pulse code delay for moving the servo – worked like a charm!  I have already ordered a new 3-axis accelerometer because I don’t know if I got a flaky one, or I hosed it during my soldering.  The X-axis outputs random, crazy numbers even when standing still.  The Y-axis would vary by one digit once every 12-17 outputs even when standing still.  I divided the analogRead value by 10 and that reduced it somewhat, but still happened occasionally.  So for my test, I ignored the X-axis values and simply checked the Y-axis.  When I get my new IMU, it will have pins attached – so I rule out my iffy soldering skills.  Note to self: practice soldering tiny PCBs!  You can see the video below of one axis servo test.

IMU and Servo on Arbotix

Posted under Robotics