Tags: robotics
The Borg
February 25th, 2009We started eons ago as separate beings with separate thoughts, completely isolated.
Through the advent of language, we got better at communicating with each other, but this was still a long ways from truly understanding anothers thoughts. We are a sea of of islands, each completely distinct in thoughts.
As time went on, we got better at communicating with each other. Not only in spoken word, but with the written word as well. Writing also allowed people to speak across time, for once something was written, it could be read at any time, whether that was ten minutes later, or ten years, or ten centuries!
In the past ten years, our level of communications has gone up yet another level. Our written word is not just a daily newspaper or a letter. We went from e-mail, to web pages, to blogs, to chat, twitter and IM.
Communication now is almost instantaneous amongst so many of us, and the connectedness of us is starting to resemble the kind of connection in a large brain. Each of us has many contacts, and each of those contacts has many more, and not all of them overlap. the concept of a “meme” spreading over the global community is somewhat like a “thought” becoming known to the whole.
The concept of the Borg in StarTrek: The Next Generation was a bunch of beings tied together at the thought level. We are working our way towards this, although we have a long ways to go. for one thing, we dont (as of yet) have a chip implant to be always connected to the centralized system (thats coming!). There is also the question of being able to turn it off (the Borg didnt have this choice).
The way we can currently get legions of computers to work together on a problem (via the SETI distributed method, or parallel processors) could prove very interesting when this is applied to human minds. Imagine if solving a problem suitable for human could be sent to 100 or a 1,000 minds to each ponder and resolve all or a part of it, together.
IF we dont blow ourselves up, I feel this last point will not be a question of if – but when
Robotics
February 28th, 2004Been pretty busy around here with the next round of robotics. A lot of new things to play with and a lot of new ideas. Especially after pouring through the writings of Marvin Minsky, an MIT researcher into AI for many years. Current designs for Bot II include multiple processors, and separation of the problem solving CPU and the physical sensors and housekeeping CPU.
There should be some interesting new advantages and behaviors by splitting things up this way. By not tying the main CPU up with counting and timing loops for turns and reading the ultrasonic, etc. the bot should be freed up to do more things. A goals system is being introduced as well for some default behaviors, and some reactions will happen even if the main problem solving CPU is off-line. Since the body CPU is keeping track of light and dark, temp direction and sound, certain things can happen without the help of the thinking part.. almost like being on autopilot (as we do at times).
The Brain of Bot II
February 12th, 2004After doing MUCH reading last weekend on many papers from Marvin Minsky I have not only gone back to a previous 10 year old design of multiple controllers, but I also got a few interesting ideas about the higher areas closer to thought, goals, and ultimately, AI someday.
First the hardware: Although I will still use the Jack Rabbit board for the high level processing and navigation, I am going to use one or more Basic Stamps for the Body control. In essence, all motor control, Ultrasonic distance measuring, Light sensors, shaft encoders, camera, anything having to do with the physical world, shall happen at the stamp level. the stamp itself will talk to more processors, as the serial H-Bridge, SSC servo control and CMU cam all have their own dedicated processors.
By doing this, the main processor is now not only free to do higher level things only, but must now tell the "body" what to do, and the body must perform it. This allows the "body" to have reactions that the high level mind isn't even quite aware of right away. Things like a sudden light level change, or sudden loud noise, or an obstacle that suddenly appears.
In fact, I plan to take advantage of this in a few ways, one of which is sudden loud noises causes a quick scurrying for the dark.
The other thing that all this reading has brought to me is something new in code, and that is, the concept of goals. All bots have goals of some kind built into them, but usually they are built with a single goal in mind, like solve a maze, or find or avoid an object. Some have a few "modes" or operating preferences.
The concept here is to have an initial "list" of goals, and each is associated with a number (a weight, so to speak), they start at zero (lowest goal) and I set only 2 at the beginning of the program to have any value at all, and that is "seek light" and "seek movement". When things happen in the body, these goals and others can be altered, for instance, one goal is "go feed" (recharge) and the battery level drives this one.. as the levels of charge get lower, this goal becomes more and more important. Another set of goals are run away from light (opposite of seek), and this is driven by sharp, sudden sounds. The response to this becomes less and less if it happens often, so the idea is to become de-sensitized to all that noise if its a common thing. We shall see how that one works out, it should prove interesting just as an item for study.
Some Other goals are run from movement, and this is in case its following something, and then that thing turns on him, or something else approaches too fast. This too, is part of a skiddish behaviour, but one which might be a good survival skill. Explore is a goal as well, and if the world is not perceived as dangerous, then this goal will have a decent precedence.
Hopefully, some of this will get tested out in the coming month or so, as I still have hardware work to do.
Bot II so far
January 31st, 2004Bot II has been slowly progressing. This has involved re-building and re-designing everything.. literally from the ground up.
Bot II has gear motors which are 5 times faster than Bot I (from 12 RPM to 70 RPM), battery power has changed from a heavy 2.3 Ah gel-cell to 6 NiMH C cells (almost the same current at 1/2 the weight), the internal layout is different as well.. the batteries and motor drivers will live in the bottom 1.5 inch layer all by themselves. The computer parts will live in the next layer (multiple computers, Jack Rabbit and Basic Stamp)
Ultrasonic distance measuring, and real time camera tracking will also live on Bot II. Overall, it is coming together, but lessons learned from Bot I are carefully being considered in the build of Bot II.
Parts, Supplies & ideas
January 9th, 2004Many sites found today, from 2 sources, howstuffworks.com and from the mars rovers and related sites.
www.superdroidrobots.com
www.oopic.com
www.budgetrobotics.com
www.smartrobots.com
www.machinebrain.com
www.sherlinedirect.com
One thing I have noticed about things built with servos, and that is,they build the servo in place where the rotation is needed to occur. While this may sound quite logical, in the case of a robotic arm, you have 5 servos built INTO the arm (along with their weight. The robot arm must lift the servos And whatever it wishes to pick up.. from the shoulder, this is all the servos for the elbow, wrist, and gripper.
My solution to this is to use gearing and pushrods at those positions, reducing weight (hopefully, not sacrificing too much accuracy from actuator backlash, AKA slop)
In the zero Gee environment of space.. it would not matter much.. but down here, why put the motors up where they are a PART of the total load.
I did see some interesting things today.. which will further fuel my own development efforts, and I have a few things to try this weekend.
One thing I DO see, and that is that robot "kits" can get very expensive!!! good thing I build my own and have the ability to cut, drill, design, etc. Some of these things are anywhere from $700 to $4,000. Many use a computer processor board in the $100 range.
On another note, I learned that the main "brains" behind the current Mars Rovers are no more powerful than my boards of choice.the only real difference is theirs are space and radiation ready, for a small cost difference. Mine costs $100 a board, NASA pays about $200,000 a board... here is an excerpt:
The Onboard Computer
The rovers use a RAD6000 computer produced by BAE systems. This processor is nearly identical in architecture to an old PowerPC processor used in early Macintosh computers. By today's standards, these processors are slow. They run at 20 megahertz, about 1/100th the speed of a typical desktop computer today. They have 128 kilobytes of RAM, 256 KB of flash memory and some ROM to hold the boot code and operating system. There are no disk drives. Although they are slow and incredibly expensive ($200K to $300K per computer), they have two big advantages:
They are radiation-hardened so they are immune to the cosmic radiation falling on Mars.
They run the ultra-reliable VxWorks (PDF) real-time operating system from Wind River Systems.
Ponderings for a new year
January 4th, 2004Another new year, and hopes for the future. Scheduled events for this year: Mars landings, Cassini Orbit around Saturn, and Shuttle return to flight. We might also see someone grabbing the X-Prize, and given what tests we have heard about, my money is on Scaled Composites (Burt Rutan).
This year should see more happening around here. The Robotics should be in full swing, with added sensors, and more electronics design. House mapping and other Robotic goals should be happening. Use of servos and making of a robotic arm should come together this year (hopefully in 1st quarter).
x-10 and home automation is also new on-going goals.
In the case of world events, I hope we see continuing foundations laid in Iraq, and hopefully, some progress on the peace plan for Palestine and Israel.
For the world of science, no doubt some interesting things will happen, none of which I'd try to guess at, it could be in any field, from nanotech to biology.
New Interfaces
December 22nd, 2003Now that I have some pretty solid python code for talking to the serial port I can proceed with communications with the Mini SSC (servo controller), RackRabbit processor boards, X-10 devices and whatever else I can think of.
This makes another milestone in the devel cycle for things around here. We'll see how much gets done before Christmas.
robotics
December 21st, 2003Been pretty busy lately looking for robotics parts, accesories, and ideas. I have been scouring R/C web sites and local hobby shops, in addition to many other types of sources. I am finding that overall, servos are better for control that to custom bulid a shaft encoder around a generic electric motor.
Most motor resolution by shaft encoders is 8 bit (256 positions) and servos or custom is about the same. a $20 servo is really cheaper in the long run than a $3 motor, $5 in gearing, $8 in shaft encoders, and $$$$ who knows in custom electronics to make it all happen.. even if you DO know how to design circuits.. there is the cost in etching, developing, PCB layout software, etc.
There are times when we would like to make EXACTLY what we want.. and some of us *cringe* at $50 for some electronic object, but consider what it takes to make one yourself. If you are already set up for making PCB boards.. and have a printer, transparencies, software ($500 or more) and PCB boards and etchant material and drill press.. then make custom boards. for the rest of us.. its a matter of "hacking" something close... like for a pre-programmed voice response.. why learn how a DSP chip works, and all the complexities, and wiring.. when one can buy one of those $20 units that record up to 20 seconds of voice.. and play back.. then get you electronics to play that back on demand.. usually.. thats what we want. this is the idea of hacking a device.