Here is a video of Bootstrap in its basic configuration. It is driving around the inside of a 24″ box using the ultrasonic sensor and the bumper. As you can see the ultrasonic does a good job of avoiding collisions as long as it faces relatively directly on to the obstacle. At very sharp angles it cannot detect the obstacle (because the sound waves are not being bounced back into the detector), and the robot has to depend on the bumper to find the obstacle and choose another route. This problem could be solved a number of ways: putting the ultrasonic sensor on a servo so it can track left and right, using more than one fixed ultrasonic, or adding some side facing IR sensors to the single ultrasonic. Any of these will be an easy option to add to the basic Bootstrap configuration.
In order to keep the costs of Bootstrap to the minimum a lot of parts have been ordered from unfamiliar overseas vendors via Ebay. This has mostly worked out but there have been a number of problems from a wide variety of causes. I’m not intending to publicly recommend or condemn particular vendors (builders should e-mail me at firstname.lastname@example.org for purchasing advice), but instead to illustrate some of the issues and problems encountered by moving quickly while keeping ultimate build costs low.
When ordering parts from Asia for delivery to the US, delivery times are significant. My experience has been two to four weeks, mostly closer to four full weeks. In some cases even longer. The estimates provided for delivery dates are in a broad range and tracking is not precise. This poses a problem when trying to move quickly. Sometimes by the time a part arrived I had already moved on in the design and it was no longer needed for the project.
Some parts are of completely inferior build quality. I received a small batch of piezo buzzers (I think it was $1 for 5 buzzers). Half of them fell apart in my hands before I even tried to insert them into the prototyping board.
Some parts are assembled OK but are just not adequate to the task they are advertised for. My previous post discussing IR sensors provides an example. The sensor may be sold as “ardiuno/robot/smart car” suitable but that doesn’t mean that it is. Prior to starting work on Bootstrap I bought a similar kit that is widely advertised on ebay and elsewhere. It was horrible, even for the price. I tried to use just the wheels and motors on the first prototype but even that was unacceptable.
In a couple of instances the part was simply not delivered. In one case a US vendor offering “fast and free” shipping only delivered half my order after weeks and then insisted that I received everything I ordered. Ebay was very good about refunding my money in these cases and needless to say, I left negative reviews on these people.
In most cases I started by purchasing a quantity of one from a particular vendor and in all cases keep my expenditure to a few dollars until I had a good experience with them. Probably 90% of my transactions have gone off with no problems. So ebay is a great, if imperfect resource.
I surprisingly helpful resource has been my Amazon Prime account. Prime charges a yearly membership fee and items bought through Prime are generally more expensive than the same item bought off of Amazon without the Prime service. However I can get a $2.5 bag of 100 screws delivered in 48 hours with a Prime account. That really helps deal with the long delays using ebay and is a very good deal when the costs of the Prime account are spread over enough purchases.
Working under the “fail fast” approach, a bunch of the stuff purchased was the wrong size (I wasn’t paying close enough attention) or didn’t get used because the design changed. Again, spending a bit more per item to buy a small quantity up front and find out that it is a fail quickly has kept the costs of these mistakes (in money and time) very low. I am sure I will use most of this stuff for other projects someday anyway.
The component on Bootstrap that has evolved the farthest is the chassis plate. At heart this is just a flat plate that everything mounts to.
It seems like a simple part to lay out. But little issues just keep popping up that need to be fixed with small changes. Planned right, these small changes can improve the final result instead of just being a hodgepodge of unneeded complexity.
The chassis started off a simple circle with straight cuts (as can be seen in the wooden example above) for the wheels. But that wasn’t going to work for the bumper that would come later. So a somewhat more complex shape was adopted.
About third time I had to cut the wires from the motors, battery box, and switch tabs below the chassis to the components above I realized that there should be a way to swap out chassis after everything had been soldered up. Not only would this help during development, it would mean that a finished bot could have a new chassis put on more than once with relative ease. Thus the slot was born.
At first the slot was a big ugly gash. It looked bad and it didn’t keep the wires in place very well. About that time I discovered the 1 amp slide switch I was using would overheat under full power draw. I switched to a 3 amp toggle switch–moving the hole in the chassis for the switch from a rectangle to a circle. Using that as an opportunity to rethink the slot, it dawned on me that I could move the slot for wiring to behind the hole for the toggle switch. The switch would hold the wires in place. If a new chassis is called for, loosening the one nut that holds the toggle switch in place allows all the wiring to come with it. No cutting and resoldering required.
The small round/oval hole in the front of the chassis remained at first as way to pass additional wiring through the chassis (jumper wires that would be attached with removable dupont connectors). Once I began to think about upgrade options beyond the basic model–such as servo mounted sensors–that small oval became the right size to mount a micro servo and still leave room on the sides to pass wiring through.