Let's Make Robots!

Question 4 Engineer or Hobbyist

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } A:link { so-language: zxx } -->

OK, I am going to share my situation in hopes that someone out there can answer some of my questions. I will post this on several boards.


Here is what I have: two propellers 8 core cpus, three basicstampIIs with different speeds, 11 small robots, one arduino, one arduino mega, several single core computers and one dual core and one quad core. One laptop and one net-book. One robot head. Broadband internet wired and wireless, linksys WRT54GL router. I have a somewhat entry level experience on Basic and C++.


I have mastered the art of obstacle avoidance. But, when I try to do more, everything gets so slow it becomes not practical.


I have two web-cams that can recognize faces, tell who they are, track moving objects, my voice is recognized and I can hear the answer in a human voice. It can recognize colors and flesh tones.


There is a data base that can interact and learn from me speaking to it. I have not tried OCR yet, but I am sure it will work. I have not tried object recognition, but I am sure it will work. I have used chatterboxes and Open-CV, and many more open source stuff.


Now, the problem is, all of this is scattered out over many robots and computers. How would one go about tying all of these items together into ONE machine? I am lost of how to do this. Where do I start? I have a deep desire to experience AI in a machine. Not to give it orders or commands , but to communicate with it and have it have it's own free agency. To watch it learn and grow and become more than just the sum of it's parts.


Oh, BTW, my wife says I have NO MORE money to dump into this stupid project. What would you do if you were in my shoes. Where would you start?


I hope there is an Engineer out there or some hobbyist that can answer that question for me.











Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I guess you are talking about Microsoft Visual C.




Thank you for all your help today. You have placed me in a new direct to go.

Glad to help :)  Good luck on the robot  :)  Don't forget the robot videos if it works!


Might I suggest building a UML diagram. This might help to figure out the communication paths and get some order to the list of chaos.  This would also help in working on an api. You've got quite as well so it might be wise to get a set that you want as a base of functionality and several sets that you will want to add on with in the future.

Another thing. For each one of your procs and computers you might want to build a list of commincations  that it can communicate with. Like SPI, Serial, usb, network, etc. This way you can figure out what can communicate with what.

Please define UML, api, and SPI.



SPI - http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus -- one way that hardware can communicate

API - http://en.wikipedia.org/wiki/Application_programming_interface -- a way for software to communicate

UML - http://en.wikipedia.org/wiki/Unified_Modeling_Language
UML - http://www.uml.org/#Links-Tutorials

From context, rather than using a UML specification ((http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML), I think the suggestion might be to make a flow chart with boxes for the different software parts that are interacting.  Actually learning to use UML to create the flow chart for the software you are learning to interface seems like a bit of extra work to me ... especially if there are no plans to make a commercial product. 

voodoobot - does that sound right?


until they work.

OpenCV, framecap,Mavis,Qtracker,TTSreader, answerpad, WolfRam Alpha, Robocomm roomba software. Maybe Alice chatterbot,  I have wireless broadband internet with a wireless router, but no wireless on any robot yet. I just have a wired serial connection to each. I have 11 robots, but for the sake of simplicity I will tell you about the main ones. I have a turtle type robot for obstical avoidance having a arduino mega and made out of two frisbies.  I have a robot head that I am currently constructing. Waiting on the kneck servos to come in. (haven't ordered them yet until funds are appropriated.).  Also I need to hookup the servos to the ears, brows and jaws. Also, to the eyes. I just have an aluminum frame with two webcams that rotate left to right and are controlled by an aluminum shaft to go L/R. I know how I am going to do this, this is not an issue.  I have also a boebot robot and several parallax chipsets. I am not using it. I also have a spare arduino delci that I plan to control the Roomba with. I will be putting the head on the roomba. I purchased a 200mhz linksys router because it had emebeded linux. I flashed it and I can see the linux, but have no idea what to do now. But, it is a wireless router that I was possible wanting to use for processing stuff on the robot. Maybe it can transmitt or recieve or both if I hook it to the arduino or the roomba, etc. I was thinking about making a Tod-Bot when I bought it. So, I should wind up with a nice fast computer that is programmed in XP to controll wirelessly the Roomba and router and arduino and other stuff that I hook to the combination robot I intend to build.

Hope I have given you enough info.


Thanks John,


MMC -- Wow -- there's lots of info on the OpenCV API, and I'm tempted to add computer vision to my hobby project queue.  Some of the other names also have lots of info.  What programming languages to you write or are interested in learning?  Since I'm looking to leverage this discussion to learn how to call APIs in other software, I'm leaning toward trying out Python (which I want to learn) or Perl (if I can do API calls in Perl), but I am curious about your programming background/interests, especially since you've been doing interesting and apparently successful work with the various subsystems you mentioned.


Well, like everyone, I guess, I started off programming in BASIC in 1975. Before that cobol, rpg and fortran.  After that I wrote several vertical markets in DBASEII. Before it was DBASE it was Vulcan.  But, this was 20 years ago. I would rate myself as an Entry level programmer with Basic and C++ experience.  I have written in PBASIC, RobotBasic.  I haven't been to good at ASM and Spin lately.  And, Visual BASIC and Visual C is all confusing to me because I cut my teeth on the command prompt, not a window. So, I guess I would have to say C is my favorite language now. Never did Python or Perl. But, if they are simlar to C, I could probably learn them. I have read several books on HTML and JAVA and NetFramework. But without an application to apply them, it was all theory and boring.

The Arduino C environment is my favorite. I have heard that many people like ARM and the PIC stuff. But, I only programmed once when I build the BrainMachine from Make magazine. It was hard to understand, but it worked.

Thanks, John for the info.