Monday, November 22, 2010

No Robotics Club Meeting This Week Due to Thanksgiving Holiday

I have received word that because WT Woodson is having a half day on Wednesday, and the fact that the next day is Thanksgiving, the Robotics Club meeting is canceled for this week.  That is actually a good thing because I need the time to work on the camera issues and finish up the Chumby ROS software load.  I am hoping to get this settled by the weekend.  I still have a self-deadline of December 9 to get my top level design together for the KIPR Open and I need all the time that I can get to make this date.

Sunday, November 21, 2010

Washout under florescent lights!

Once I had BotGuy, an example orange ping-pong ball, and the maroon cube that will be used in the KIPR Open, I proceeded to try some quick tests with several webcams.

snap-unknown-20101121-193848-1

What I noticed was that under medium florescent lights, the maroon cube goes almost dark because it absorbs light, BotGuy has an intense reflection from his chest, and the ping-pong ball exhibits a lot of specular reflection rendering it almost white to the camera. This will be much more pronounced in the glaring lights during the KIPR Open. I also cannot rule out that the location where the Game will be held will not have a lot of natural lighting as well, compounding the problem. This is going to raise some interesting issues in the image processing. I most certainly will have to switch from RGB processing to HSV in order to account for the light levels. This will involve a little more processing than I wanted to do, but it will be worth it in the end. HSV stands for hue, saturation, and value. I should be able to pull out colors in the scene without having to deal with the light intensity levels.

Update: this situation is even more pronounced on the Clique Cam00131 Webcam (part of the CBC package). The above picture was taken using a Microsoft Lifecam Cinema HD. I was going to use the Clique webcam but when I saw the washout I knew that I needed to concentrate on the image processing.

Tuesday, November 16, 2010

Trying an Honest Analysis of the KIPR Open Game Description

When the KIPR Open game description (Game Description) came out on Thursday of this week I was elated.  However, now that I have it in my hands the real test of engineering begins.  First things first, do an analysis of the game and define the problem to be solved and possible scenarios that might happen and possible ways of solving the problem.  This is not a trivial pursuit, nor is it an over complicated one.  I have many individuals who are interested in participating in this with me and I don't want to disappoint them.  I do need to have a firm idea in my head of the challenge and what it really means.  I am a software architect most of the time and I want to be sure that I nail the architecture with the robots down on this one.  There needs to be some planning intel on the part of the robots in the game and that needs to be done smartly.  Also need to set up a plan on the Robotics Club website along with an interaction area (closed to public of course).

I will be going over this analysis with the Woodson Seniors on Wednesday.  Hopefully we can have a meaningful conversation about it and make a determination of whom will be working on it with me.

Sunday, November 14, 2010

Boost is Compiled ... On to ROS

I would like to thank Ken (apparently from Chumby Industries) for stepping in and giving me a solution to the Boost compile problem. I was able to compile it with some variation on his instructions. Apparently I have to have Boost Signals compiled. Now I am going through the compile for ROS itself. I am using a variation on the gumros shell script (which I will post later). The current problem centers around the gTest program which tests some of the ROS framework. I will post the errors later. Right now I need to get some sleep.

Some System Updates ... HTTP Server on Chumby

This weekend has been pretty hectic and I have not really had much of a chance to do much on the robotics project. I updated the software suite on the Chumby and actually got a copy of the lighttpd web server running based on instructions at Chumby as a web server. Gotta hand it to the Chumby folks, their instructions are pretty easy to follow. The web server will come in handy to set up parameters prior to the competition. Also need to lock down the wi-fi capability so that only my guys will be able to control the bots.

In light of the KIPR Open ruleset, I have been trying to come up with a top level architecture to suit the design of the robots. Yep, I have decided that I need more than one to do the job. One of the overall criteria is that the robots must react to events that they have no control over, hence this is going to force me into some AI programming. Wish me luck, I have an architecture in mind but I am not sure that I can explain it to the Woodson Seniors so that they can get a grasp of how it fits into the problem. Anyway, I have to watch what I say on this website from here on out since I do have competition waiting in the wings.

Thursday, November 11, 2010

Woo Hoo ... KIPR Open Rules Posted

Well, alright!  The first iteration of the KIPR Open Ruleset have been posted at http://kipr.org/kipr_open.  I just did download them and need some time to read and sort the challenge out in my mind.  More later.

Monday, November 8, 2010

Still Cannot Get Boost to Link on ARM Platform

Well, truth be known, I was unable to get Boost to link after performing a cross compile for the Chumby. It appears that the holdup of getting to compiling the ROS material using my GNU Toolchain is Bzip2. The output of the linking indicates that it cannot find the library for Bzip2. I have tried everything that I know of to prevent the linking from adding Bzip2 to the mix but have failed miserably. I will now have to wait until the weekend to complete the compile process. Wish me luck!

Made Some Modifications to the Robot Arm

I received a package early on Friday with some new parts for the Robotic Arm. One of the things that I was after was to increase the torque on the shoulder and elbow servos. You can see in this picture that the new shoulder servo is rather big.


Modified Robot Arm Base with Bigger Servo


This particular view shows the larger servo and the fact that I moved the shoulder servo to the elbow. That effectively increases the torque in both joints and should give me a better chance to have the Robotic Arm work correctly. I also added some mechanical dampeners to both of the joints to effectively help the servos maintain their positions. I have to be careful however because tightening the dampeners too much will burn out the servos. The mechanical dampeners were based on two pieces of lexan, screwed together on either side of the "C" clamps. Now on to finishing the assembly and final checkout.

Friday, November 5, 2010

Thinking of Some Mods to the Chumby after porting ROS

It has occurred to me that I should have a way of keeping the functionality of the Chumby intact, i.e. being able to run the Flash Apps, as well as changing the Chumby to be able to operate in several modes for robotics work.  The key is probably in the debugchumby file on a spare USB drive.  I think that I need the following cases:

(1) Set up files to put the Chumby in a "normal" mode, with connections to the work wireless via a capture port
(2) Set up files to put the Chumby in a "normal" mode, but having a wireless access port / USB ethernet capability (for home use)
(3) Set up files to put the Chumby in a "robotics" mode, having a wireless access port, no ethernet, not running Flash Apps, with a web server, with ROS routines launched and connection to external Ubuntu Laptop running ROS routines and/or downloading of software loads
(4) Set up files to put the Chumby in a "robotics" mode, not running Flash Apps, launching internal ROS routines (totally autonomous)
(5) Set up files to put the Chumby in a "robotics" mode, having a wireless access port, no ethernet, not running Flash Apps, launching internal ROS routines (totally autonomous) [mode for communicating with other robots running ROS]

The deal is to have each of these setups available on separate USB drives with the proviso that they put the Chumby into a known state before setting up the mode.  I will attempt to do this with some scripts in the debugchumby script on the drive.

Wednesday, November 3, 2010

Robotics Club and More Updates on the Chumby

Had a good time with the WT Woodson Robotics Club this afternoon. It never ceases to amaze me how focused everyone can become when they have something they really like to do. This evening's activities are to setup a toolchain on the Ubuntu Laptop and attempt to cross compile the ROS system for the Chumby.

(1) Downloaded and setup the toolchain on the Ubuntu Laptop re: Chumby GNU Toolchain. Following the directions and everything appears to be set up correctly, including the symbolic links to the compilers, etc.

(2) Went back and wiped out what I had attempted to do over the weekend with the gumros.sh file (converting to have it do the chumbyros build). The reason for this is that I have a new compiler setup for the arm processor in the Chumby and I want to make sure that it is right. This is for a cross compiler system for the Chumby. I was able to compile and link apr-1.4.2, apr-util-1.3.10, apache-log4cxx-0.10.0, and then had a compile failure on boost. I will have to meter the output of the compile to see what went wrong.

It's late and I will get back to this on the weekend.

Tuesday, November 2, 2010

Ordered a Stronger Servo for the Robotic Arm

Ok, I broke down and ordered a stronger Servo to use with the Robotic Arm.  The current set of servos are not strong enough to pick up the weight of the new wrist rotator, much less pick up a weight.  I am just trying to get to the point of picking up around 2 oz without breaking the bank.  The parts are ordered on a 3 day turn-around, however, the place that I am ordering it from, Lynxmotion, does not do a very good job of putting your order status online, nor do they share the tracking information until after the goods are delivered. Very bad policy.

I am also contemplating buying an additional Chumby One for use with a separate robot in the future, possibly a wheeled vehicle, and to make it available to the Robotics Club for their experimentation purposes.  Still need to consider the wedge robot for defense. Gotta save a little more coin however.