I think that I will take the time and order some parts for the Create. I am looking to order enough servos and metal to build a pan/tilt unit to mount a webcam on. I will also have to order some servo controllers as well. I will try to keep the cost down but who knows.
Update: Ordered $74 worth of brackets and servos from Lynxmotion. I realize that I can get a pan/tilt for less, but I wanted to order the parts from the same place that I will be ordering parts for the Robot Arm from so they will be interchangeable. I of course need a webcam and a servo controller to use with this setup. I could of course use some of the lines from the iRobot Create, but I don't want to have to do too much electronic design, although I could - might be fun too.
Update: The parts should be in on Aug 30. I ordered L and C brackets (2 ea), multi-purpose servo brackets (2 ea), and 2 HS-485HB standard servos. I ordered a servo controller from a different source (Pololu 18 channel) along with an IR distance detector. Those parts came to $49. The shipment should come in later in the week.
Update: Parts from Lynxmotion showed up on Aug 31, I guess that I didn't give it enough time. I was all set to complain because their website said that they had not shipped yet when the parts arrived. The remaining parts are slated to come in on Sep 3. I also ordered another set of brackets and servos from Lynxmotion. These will probably show up on Sep 6 since I ordered them late. Give Lynxmotion a try, they do get things out the door after all!
These are the efforts of one grandfather and his grandson to make a home brew robot for fun.
Thursday, August 26, 2010
Tests for this Weekend
In the spirit of doing a kick start to get my butt on the move, my grandson will be spending the weekend with us and I am going to take the opportunity to work with him on the iRobot Create. I now have a battery and battery charger for the Chumby so I should be able to do the following:
(1) Test the iRobot Create Command Module development environment by compiling a few of the Create test programs and downloading them to the Command Module and executing. This should enable us to be able to try out some different test sequences that we can dream up on the fly, program, and download.
(2) Test the Chumby development environment by writing a test program to be executed via the USB-Serial cable from the Chumby to the iRobot Create. This should enable us to be able to command the Create via the Chumby through the serial cable. I would like to try out some of the test sequences that we did through the Command Module this way.
The first test should be straight forward except for communicating with the Command Module via a USB cable on the Ubuntu Laptop. I already have the test environment made, I just have not tested it out yet. Maybe I might try out the connection tonight after dinner just to make sure that it is working correctly and to see what problems show up (guaranteed to happen). The second test will make sure that I know how to find my way around the Chumby development environment and how to command the USB-Serial line correctly. That last part will probably be the kicker to getting a decent test sometime during the weekend. And oh yea, I have some work-work that I have to get done as well.
(1) Test the iRobot Create Command Module development environment by compiling a few of the Create test programs and downloading them to the Command Module and executing. This should enable us to be able to try out some different test sequences that we can dream up on the fly, program, and download.
(2) Test the Chumby development environment by writing a test program to be executed via the USB-Serial cable from the Chumby to the iRobot Create. This should enable us to be able to command the Create via the Chumby through the serial cable. I would like to try out some of the test sequences that we did through the Command Module this way.
The first test should be straight forward except for communicating with the Command Module via a USB cable on the Ubuntu Laptop. I already have the test environment made, I just have not tested it out yet. Maybe I might try out the connection tonight after dinner just to make sure that it is working correctly and to see what problems show up (guaranteed to happen). The second test will make sure that I know how to find my way around the Chumby development environment and how to command the USB-Serial line correctly. That last part will probably be the kicker to getting a decent test sometime during the weekend. And oh yea, I have some work-work that I have to get done as well.
Wednesday, August 25, 2010
Robotic Arms are Expensive!
Well, if truth be known, I have finally come to the conclusion that robotic arms are expensive. By the time that you get around to ordering clamps, hardware, tubing, servos, claws, etc. you have dropped quite a bundle of money. I am still trying to decide how to proceed. Maybe I am itching to get into this too much. I really should wait on the information about the KIPR Open challenge which should come out in the early fall. I am really looking forward to that. I should probably settle on some preliminary things to add to the iRobot Create and get the robot working first. Let's see: Chumby, iRobot Create, camera, pan/tilt unit. Ok, maybe I should order up first a camera and a pan/tilt unit and get used to using those items. That might get me by for a little while. Chumby Lithium batteries should be in today. Battery charger by next week.
Tuesday, August 24, 2010
Discussion on Robotic Arms
I had a discussion on robotic arms with on of my engineer friends this morning. just as I suspected, I will have to take into consideration the dynamic movement of the arm with respect to the stability of the platform. I was hoping to get away with only having to consider the static case. I am concerned with the stability of the robot when moving and having the arm(s) move at the same time. This becomes very important as the number of independent movements increases - I was thinking of two independent arms on the future. So even before I begin, I need to concern myself with other problems along the way.
Sunday, August 22, 2010
I'm Going To Start With Test Programs on Windows
Just to be sure that the iRobot Create is working correctly, prior to moving over to a Ubuntu based development, I am going to test a couple of the programs for the Command Module from Windows. I will be taking those very same programs and executing them from Ubuntu in the near future.
Wednesday, August 18, 2010
Testing Configurations and Gaining Experience with Create Functionality
I have been toying with the idea of using Bluetooth tether to run tests on the iRobot Create. The idea is to be able to write code on a laptop and simply connect to the Create through a Bluetooth tether. In that way, the Create could be running around and doing its thing without having a bulky serial link to the chassis. However, this means an extra $90 to the overall cost of what I have already spent. In essence I would have to buy a Bluetooth USB adapter for the laptop and a BAM wireless accessory for the Create. How this works is that the BAM plugs into the 25 pin Din socket on the Create and acts like a serial connection through the Bluetooth USB adapter into the laptop. The software on the laptop just uses this connection as though there were a serial cable connected between the Create and the laptop. I may use this in the future, but for right now I think that I will concentrate on using the USB to serial cable that I bought originally to perform the functions. Once I get the software running on the laptop correctly, then I can offload the same software to the Chumby and place the Chumby on the Create for a run with no tether. In some ways this will be a better test because of the latency with Bluetooth connections. If it turns out to be a pain in the butt, then I will buy the BAM.
Sunday, August 15, 2010
emss or ROS - which will it be?
There is a class library at SourceForge called emss which was a Senior project geared towards writing a C++ library for use with the iRobot Create. I need to explore this library to see if it has any utility in the robot that I will be making. ROS has so many creative things, as well as a vibrant community of individuals who are contributing to it continually. The only difficulty is that ROS seems to be geared towards big processors and more horsepower than the little ARM processor in my Chumby. I would like to see ROS being used in a good way, perhaps being able to scale up the processing by adding one or more Chumbys to the mix. That is something to think about.
Some Thoughts on Robotic Arms
The more I think about this, the more I think it would be advantageous to have one or more robotic arms not he robot. When I got to thinking about the arm it occurred to me that perhaps I might want to consider placing the camera on the arm itself. In this way the arm could act independently of what the rest of the robot is doing. I guess in a way this is what the "Hydra" was all about in ancient mythology.The Hydra was a beast that had many heads, each was independent of the other and was supported by the body. In that way it was difficult to conquer by Hercules. In the same way, if the programming is done in an independent fashion, the robotic arms could maneuver independently of each other and therefore become much more difficult to conquer. The problems with doing such a scheme are enormous. It would require a lot more processing power than I probably have available int he power and weight budget that I have available to me. This of course does not mention the cost involved in development time and in parts (servos are not cheap). I would like to determine if this would be a good idea before I commit to buying parts to make a camera mount with multiple degrees of freedom. I note that what is possible with this setup is to have a set of routines programmed which could then be reused by the program as another instantiation. That simplifies the programming somewhat and would give me an edge if we were to decide to have even more arms. Need to think about this one a bit more.
Saturday, August 14, 2010
Setup Eclipse Development IDE
My next step in the development setup process was to add Eclipse to the Ubuntu laptop. This is fairly straight forward since I could do this through the ubuntu software manager. However, to get Eclipse to work as a C/C++ IDE is another matter. It turns out that CDT is the package for Eclipse that turns it into a C/C++ IDE. To get to that you need to instal it via Eclipse from the Eclipse website. This is fairly straight forward given that there is an "Install New Software ..." menu item which can be selected. If you go to the Eclipse website and copy the PS2 ink under CDT, you can paste it into the install dialog in Eclipse and the system will take over from there. Hmmm... methinks that I will need a few other tools down the road and this will be a good place to accomplish that. My only problem now is setting up the C/C++ IDE to develop programs for three different situations. Should be interesting.
Successfully Setup Chumby Development
I am feeling pretty good right now. I just got through setting up the GNU_toolchain and compiled the Chumby kernel on my Ubuntu laptop. Now I just need to try the kernel out with some modifications. I think at this point I need to write down how to perform the modifications and build the software to load to the Chumby so that I won't forget sometime later in the year as I start focusing on the KIPR Open. I still have not tried compiling something so that the Chumby controls the iRobot Create. That will come later. Right now I need to concentrate on what steps need to be done to get the environment setup the way that I want them. I am thinking that I need to find a decent IDE to perform all of the test software builds. I also need to set up a configuration management system so that I can backtrack as necessary. So many things to do before I really start programming. I now have a development environment on the Chumby (for the Chumby), a development environment for the Chumby (on the Ubuntu laptop), and now I need a development environment for the iRobot Create Controller (on the Ubuntu laptop). So far I have not been able to find anyone who has specifically set one up. More digging is needed apparently.
Thursday, August 12, 2010
iRobot Create is In!
Got the Native Toolchain Running
I was able to get the native toolchain working on the Chumby with the instructions mentioned before from Bob Smith. This is a really well written set of instructions, fairly detailed. To repeat, the instructions are at http://www.linuxtoys.org/chumbot/chumby_as_robot.pdf. I highly recommend them. I was able to get a compile of a hello world program to work correctly. I think that my next thing would be to get the cross toolchain running on my Linux laptop. Once I get that running I should be able to try my hand at getting ROS compiled. I might try some other things first just to get my hands wet with the overall development environment and moving things around. Time will tell.
Got the Chumby to Work on a 4GB micro-SD
Wow, I was able to get the Chumby to work on a 4GB micro-SD chip. I took the 1GB micro-SD out of the Chumby and with the instructions from http://www.linuxtoys.org/chumbot/chumby_as_robot.pdf, I was able to get the 4GB micro-SD to work with the Chumby. The pdf file was notes from a lecture at the Home Brew Robotics Club that was given by Bob Smith. This is a pretty amazing set of notes. You can find pointers to the notes at http://www.demandperipherals.com. There is a second set of notes which describes the interface elements fro a robot which is based on Demand Peripherals BaseBoard4 set. In looking at the way in which the BaseBoard4 works, I am seriously considering using one of their boards to control other elements of these robots that I am thinking of building.
Essentially what I did was take the 1GB micro-SD out of the Chumby, by removing the 4 screws from the back, pulling the back away from the case, pulling the bottom panel off and away from the Chumby, and opening up the micro-SD cage cover. I then performed a "dd if=/dev/sde of=Chumby_Disk.img" to get an image of the micro-SD onto my Ubuntu laptop. I then setup the 4GB micro-SD with the same set of partitions: 3 150MB partitions and one extended partition (with a 128MB partition and a 3+GB partition with the remaining space). The only difference was that last partition space of over 3GB. I then performed a "dd if=Chumby_Disk.img of=/dev/sde" to get the image onto the 4GB micro-SD. When you boot up the Chumby, you must wait for the Chumby to finish doing its check of the micro-SD which in this case is much bigger. I can now breath a little more knowing that I can get back to the original micro-SD in a different size. I then put the original 1GB micro-SD in a safe place.
So how come you cannot buy a 1GB micro-SD any more? I wasn't able to find one anywhere. The smallest size that I was able to find was 2GB. I am of course happy with the fact that I have a 4GB micro-SD in the Chumby to play around with. More on this later.
Essentially what I did was take the 1GB micro-SD out of the Chumby, by removing the 4 screws from the back, pulling the back away from the case, pulling the bottom panel off and away from the Chumby, and opening up the micro-SD cage cover. I then performed a "dd if=/dev/sde of=Chumby_Disk.img" to get an image of the micro-SD onto my Ubuntu laptop. I then setup the 4GB micro-SD with the same set of partitions: 3 150MB partitions and one extended partition (with a 128MB partition and a 3+GB partition with the remaining space). The only difference was that last partition space of over 3GB. I then performed a "dd if=Chumby_Disk.img of=/dev/sde" to get the image onto the 4GB micro-SD. When you boot up the Chumby, you must wait for the Chumby to finish doing its check of the micro-SD which in this case is much bigger. I can now breath a little more knowing that I can get back to the original micro-SD in a different size. I then put the original 1GB micro-SD in a safe place.
So how come you cannot buy a 1GB micro-SD any more? I wasn't able to find one anywhere. The smallest size that I was able to find was 2GB. I am of course happy with the fact that I have a 4GB micro-SD in the Chumby to play around with. More on this later.
General Robotics Interface
To illustrate what we are thinking, the following diagram shows how the tablet computer, the laptop, and the Chumby communicate to perform the functions. Notice that we are leaving the interface to the Chumby as either USB to the robotics hardware, or wireless 802.11 b/g to everything else. In this manner we have the opportunity to develop the software for the Chumby to be able to communicate not only with the controller/laptop but also with any other Chumbys on robots in the network. We are thinking of making the Chumby into a wireless access port for all of the connecting devices.
Some Thoughts on Where We are Headed ...
The iRobot Create should get here sometime today when UPS makes it's delivery to our company. I am pretty much excited about the prospects with what I can do. Looking back at older videos and pictures of previous Beyond BotBall and KIPR Open matches, the Create is a pretty good choice for a platform. Even though I have ordered the iRobot Create with its own processor, I still feel that the things the Chumby brings to the table will make it a more formidable platform for next year's KIPR Open match. I have been looking around at various open source software sites and it would seem that ROS has a fairly large following. I am not sure that I can stuff the primary ROS into the Chumby however. ROS has some pretty cool elements that can be used, including some AI and planning algorithms that work within the system. ROS uses a multi-threaded operating kernel and I have been led to believe that it has been compiled before on an ARM processor, the type that runs the Chumby. There is a growing library in ROS for interfacing with the iRobot Create. I still need to get the development system for the Chumby up and running on my Ubuntu Laptop. Seeing that I have chosen to use the Chumby for the processor, I will still need to have interface points to any servos or additional sensors that I may decide on using. I am pretty sure that I will be trying to get a camera or two working to provide sensory input to the system. In addition, I would like to try my hand at building an arm or two. I would like to keep the USB interface as the tie in point between elements of the system. Again, I am not sure about the Chumby and what I will be able to do with it. If I cannot get some of these elements in place, I may be forced to use a netbook as the processor. On the other hand, what transpires with the KIPR Open rules may keep the robot simple. I am probably thinking overkill here. Looking way out there, I may have time for my initial goal of building a spiderbot but that will have to wait for a while.
Tuesday, August 10, 2010
Hope to Run Some Initial Experiments This Weekend
Hopefully the boss will let me run some initial experiments using the iRobot Create this weekend. I might however end up cleaning out the tool room, which needs it pretty bad. However, doing the iRobot thing will be much more interesting to me. I have ordered some light sensors to go with the command module and I hope to try a couple of things with that. I will probably order the bluetooth interface so that I can command the iRobot Create through the command module without having a physical connection to the unit. That would be kind of neat. However, first things first - I need to understand what the robot is capable of doing in preparation for the KIPR Open next year. I should see signs of the gaming board in September hopefully. I currently have a note in the forum to find out if this is true. I would like to have a bit more time than what is given to the BotBall crew of 8 weeks prior to the area trials. My experience with embedded systems is pretty good, with robots, not so much. This is my chance to pick up on that and document my progress. I am going to treat this like any other engineering project with deadlines and requirements that must be adhered to.
Some Initial Chumby Experiments
I tried a couple of experiments with the Chumby today. Boy was that frustrating. I was able to get the micro-SD out of the Chumby and dd the contents of the chip onto my Ubuntu Laptop with no problem at all. The real problem is that the Chumby comes with a 1 GB micro-SD and that is a size that you pretty much cannot find anywhere. Most everything is either 2GB or 4GB in size, and obviously this means that the structure of the SD is different as well. I was able to set up a 4GB micro-SD with the requisite number of partitions (3 150MB partitions, 1 extended partition with a 128MB partition and a rest-of-the chip partition under it). However, I was not able to get the dd'ed image to copy correctly. That means that I will probably have to get each partition into a separate image and then dd them back to the new micro-SD. I am trying to do this to prove to myself that I can create a micro-SD with a copy of the original system on it. When I first copied the image back over a 4GB micro-SD it pretty much clobbered the makeup of the chip. It took a bit of time to get that one undone. I now have the correct partitions but when I do a df command, the partition information comes up incorrect for the size of the micro-SD. Back to the drawing board tomorrow. In a better note, I did find that the iRobot Create had shipped.
Monday, August 9, 2010
iRobot Create has been ordered
Well, I decided that I needed to get back into the groove and go ahead and order some more parts for the robot. I ended up getting an iRobot Create to be controlled from the Chumby. The cost counting shipping was $350, but I ended up with the create, a microprocessor controller, two infrared walls, a docking station (that the create can find on its own), a rechargeable battery/charger, 4th wheel, USB cable, some light sensors and an interface board. I'm looking forward to the package arriving later in the week. The create has a lot going for it and it merges quite nicely with ROS and other packages that are out there. Now need to hurry up and get a programming environment setup on the Chumby.
Wednesday, August 4, 2010
Placing the Site Updates on Hold
The updates to this site will be coming to a screeching halt for the near future. I will not have enough time to express what is being done in terms of the robot until the September time frame. I will be buying an iRobot Create for the programming efforts sometime in September. Until then, there are many higher priority efforts which need to take place. The thinking is to get more of the family involved and describe what will be done and to get some consensus on how to proceed. Meanwhile, both the grandson and I are swamped.
Monday, August 2, 2010
Starting to look intently at the iRobot Create
I am starting to look at the iRobot Create for the basic platform to use for the robot. I have also been looking at other sites dealing with robot operating systems and it would seem that the Create, along with a camera, and an arm would be a good first attempt at getting ready for whatever may happen in January for the KIPR Open. We will not know what the problem space is until January or February of 2011. That is about the same time that the BotBall challenge will be released for the students to work on. Until then, I should probably get an iRobot Create and get familiar with programming it, via the Chumby.
We may have others to add to the team later
I had a chance to talk to the grandson yesterday and found out that his father would probably like to participate in the robot development. He seemed to think that his uncle would like to get involved as well. In my head I am thinking that there may be a problem with time and getting everyone together to resolve the problem. I also had a chance to talk to my son and even he would be interested in the development of the robot. It is starting to look like the next KIPR Open in 2011 may have a family group participating. I'm not sure if everyone would be able to go out to Orange County, CA next year but at least putting this thing together might be a lot of fun.
Subscribe to:
Posts (Atom)