RObot_Forum
TheRobotStore.com - Home of the #1 Robotic Retailer TheRobotStore.com - Home of the #1 Robotic Retailer TheRobotStore.com - Home of the #1 Robotic Retailer
Page 1 2 
Go
New
Find
Notify
Tools
Reply
  
-star Rating Rate It!  Login/Join 
Posted
Hi! I'm new here, and I just wanted to say hi. I'm a programmer, and I'm interested in microchip programming and robotics and cybernetics in general.


-- Fredrik Lindroth
 
Posts: 3 | Location: Sweden | Registered: April 27, 2006Reply With QuoteEdit or Delete MessageReport This Post
Posted Hide Post
Hello, DrGNU.

I've actually just got settled in too. I've done about a year's worth of here-and-there this-and-that studying about robotics, and I'm still learning. I'm not about to build anything for a while, but it's really fun to learn and I have some exciting projects in mind for my future creation(s).

So you might say I'm education myself covering topic after topic. I've picked up a few books by Karl Williams and learned some neat ways to build different robots, and I'm now trying to cover electronics so I know what how to work the electronic aspect (though it makes me want to read something covering Safety in robot building).

Part of what I still need to learn is how to program. I find that it's been one of the most difficult things for me to learn, since I happened to be autistic and am very concrete with everything. That is, for instance, some of the words don't look like they mean what they say and I often wonder how on Earth is a programmer able to keep track of all of it in his or her mind! It's like speaking a whole nother luanguage (which it is).

Maybe you can tell me where to go to learn.


A wise seagull once said, "Yes, Johnathon. It always works when you know what you're doing."
 
Posts: 2 | Location: California | Registered: April 27, 2006Reply With QuoteEdit or Delete MessageReport This Post
Posted Hide Post
quote:
Originally posted by White Crow:
Hello, DrGNU.
Part of what I still need to learn is how to program. I find that it's been one of the most difficult things for me to learn, since I happened to be autistic and am very concrete with everything. That is, for instance, some of the words don't look like they mean what they say and I often wonder how on Earth is a programmer able to keep track of all of it in his or her mind! It's like speaking a whole nother luanguage (which it is).


Your first task is to select a programming language. BASIC is the easiest to learn, but languages like C++ and FORTH get you closer to the actual CPU in your target machine. For the absolutely tightest code you must learn machine language, but it is individualized for each processor. Most coders will use an assembly language which makes code far more readable than zeros and ones. I started with machine language out of necessity when a PDP 11 processor in a typesetting machine I was running needed adjustments to code and there was no tech available because the company went belly up.

Once your language is chosen, get your feet wet. Read a little and then write and test your code for the simplest things like the classic example of displaying "Hello world!" on a screen or printer. Programming only makes sense when you actually do it unless you are a savant who instantly understands everything. Speaking of everything, DOCUMENT EVERYTHING YOU WRITE, and organize it. It's amazing how obtuse code can get a few weeks or months after you write it.

In robotics I recommend letting the machine program itself. There are several ways to do this. Some robots let you physically move parts, select a starting configuration and an end, the robot interpolates everything between and learns the move, which you then give a name and assign an ID. I recommend implementing the SRC method used by living creatures to effect most learning. Animal trainers use it to get the wonderful behaviors you see at zoos and marine parks. It is surprisingly easy to code, and once the code is done one only needs to create the interfaces between the code, the machine, and the environment. Read my SAM articles pointed to elsewhere in this forum and study the elementary example in the Software/Basic section of this forum.

Programming requires organization, visualization, imagination, puzzle solving, and scrupulous attention to detail. If this is you then ROCK ON!


Richard E Reed
 
Posts: 123 | Location: Bakersfield | Registered: November 25, 2005Reply With QuoteEdit or Delete MessageReport This Post
Posted Hide Post
quote:
Originally posted by DrGNU:
Hi! I'm new here, and I just wanted to say hi. I'm a programmer, and I'm interested in microchip programming and robotics and cybernetics in general.


Fredrik, that's great. What are your languages now? What has been your area of expertise? Robotics is a wonderful world and a wide open frontier to boldly go where no man has gone before. If you are just jumping in there is a major decision to make. Do you want to be bogged down with accounting for every possible contingency in your machine and then do the same thing every time there is a change, or make a robotic OS that does the details for you. That's how life has solved the problem, increasingly as the creature becomes more complex. The tradeoff is a period of helplessness as the complex creature learns. With machines we have the advantage that we can duplicate the learned code in repetitions, and only have to train the first one. The new clones still have the ability to progress and learn within their own environment.
Good luck!


Richard E Reed
 
Posts: 123 | Location: Bakersfield | Registered: November 25, 2005Reply With QuoteEdit or Delete MessageReport This Post
Posted Hide Post
Currently, I'm into Assembler and C, mostly for the small memory footprint of the produced code. I've never actually burned a chip to use in a machine, but I believe that for small chips (<256K ROM) it's more efficient to code a new program to control the specific hardware for each robot. For larger chips however, it may be efficient to make a "Robot OS" as a layer to use to write more high-level programs. Well, that's what I think. Also it would be interesting to write some sort of AI routine that uses evolutionary selection to learn how to move, therefore, after a lot of cycles, it will then learn to move optimally in the most efficient way.

As for the area of expertise, it's low-level assembly in robotic simulation programs. As I am a student, I'm not in a monetary position to buy hardware to try my software on.


-- Fredrik Lindroth
 
Posts: 3 | Location: Sweden | Registered: April 27, 2006Reply With QuoteEdit or Delete MessageReport This Post
  Powered by Eve Community Page 1 2