HomeBrewBots4Fun
These are the efforts of one grandfather and his grandson to make a home brew robot for fun.
Thursday, January 20, 2011
Finished network algorithm
I was able to finish a path algorithm for the ION mini-urban challenge. It finds a short path through the road map, along with passing through specific points that are required. The algorithm is based on a modified Floyd's shortest path algorithm that I have used in the past for other things. For a small network, it seems to be the one that usually works out best. I could have added a search tree to the algorithm but I needed to keep it simple to explain to the students. I am not allowed to program any of the code so I have to convey the idea and let them look into it. I passed it on to the teacher and he and some students are reviewing it to see if it is something that they can use. I can't program anything for them but I can point them in directions by stating, "have you considered this?" This is proving to be fun.
Was unable to get to the Robotics meeting
Unfortunately I was unable to get to the WT Woodson Robotics meeting yesterday. My work interfered with my desire to go over the ION Challenge algorithm and possible explain another approach to programming for the challenge to the team. I hear that the BotBall challenge has started up and the information is slowly working its way across the country. Sometime later this month is when we should be seeing the 2011 challenge. Unfortunately it is not published for general consumption on the BotBall site or I would have already been all over it. Again, I am having fun with this.
Monday, January 3, 2011
ION Mini-Urban Challenge in the Works
The WT Woodson Robotics Team will be working on the ION Mini-Urban Challenge in the near future. The challenge is to put a Lego NXT car through the paces of a small city. To quote, "The purpose of this competition is to challenge high school students to design and operate a robotic car built from a LEGO® MINDSTORMS® Education kit that can accurately navigate through a LEGO® city." We will have a regional competition on March 19-20, 2011 with the national competition on May 21, 2011 in Washington. Not much time to get everything together for the competition. Like BotBall, the ION challenge uses autonomous robots to do the challenge. The team has been working hard on getting used to the LEGO NXT "block" in programming. The NXT-G language is rather inventive, but lacks some things that would make the programming much easier. I am going to put in a word for RobotC with the instructor. I believe that we can change the programming language and get away with it according to the rules. We are not allowed to change the operating system in the "block" to something different, like Linux.
Thursday, December 23, 2010
Was Able to Get BAM working with iRobot Create
I just ran a couple of quick checks at home with both my work laptop (Windows XP) and the Ubuntu Laptop. I used RealTerm on the Windows laptop and was met with some success using "128 132 136 4" as the series of commands: start, go to full, execute figure 8 pattern. All I had to do was plug in the BAM, connect the Bluetooth via 0000, and send out the byte stream (not ASCII characters). Using the Ubuntu Laptop was pretty much the same, plugged in the Class III bluetooth dongle, connect the Bluetooth via 0000, and send out a hex series using the moserial Terminal emulator with "80848804". The Class III bluetooth dongle gives a max range of 300 feet. Now that I know that I can communicate with the BAM on the iRobot Create, I can now get down to writing some interface code. I will probably base much of the interface code off of the libiRobot package by USC's ILab. I would rather start from a package that I know works than write my own right now. I have a lot of other levels of software to go through before I can claim success. It might seem like I am far behind but I am trying to concentrate on the software architecture with the inference network as opposed to putting code at the bottom layer. I am almost at the point of testing the inference network classes.
Tuesday, December 7, 2010
Changes to Arm and Updates
I modified the robotic arm to only have 5 DOF capability due to arm loading issues. I also purchased a Chumby Hacker Board to control a second robot. I need the second board to start working on the networking capability with the bots for the competition. Right now I need to get on the stick and get some designs done. I have been working on the software architecture which includes a statechart mechanism and a blackboard system. The two of these will go hand in hand to get the overall architecture going. Right now I am also getting some updates and configurations for the development system on the Ubuntu Laptop up and running. I will begin working on compiling a kernel for the CHB and for the Chumby One that I have. I have also ordered a BAM and bluetooth USB connector for connecting to the iRobot Create without a physical connection.
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.

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.
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.
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.
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!
Subscribe to:
Posts (Atom)