Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

behavior based

Status
Not open for further replies.
Behaviour based systems are mainly reactive as opposed to goal oriented, is there some particular architecture that you are interested in discussing or is this an open question ?
 
Yes, it is.

Because my project is on designing an autonomous mobile robot using sensor fusion algorithms. It's based on Hans P Moravec researches, using ultrasonic rangefinder for mapping and localizing.

I would like to understand more about behavior based architecture. I read something about SA (subsumption architecture). But the fact that using Bayesian update rule, it seems to be probability paradigm, not a reactive paradigm.

As we all know, robotics is based on 4 paradigms which are hierachical paradigm, reactive, hybrid, and a new one is probability.

For the 3 others, I understand something, but for reactive, especially SA, I would like to understand more.

May you give some ideas about SA or behavior based or reactive...

Thanks
 
Subsumption Architecture is a reactive behaviour based term coined by Rodney Brooks back in the '80s, in which a repetrior a simple reactive behaviours, e.g. go forward or avoid ostacles, are combined in the belief that some emergent intelligent behaviour would arise.
Obviously to a nieve observer a bot that avoids obstacles while negotiating a rout would appear to be intelligent behaviour, but what is the underlying goal ?
With SA a potential problem arises when there are behavioural conflicts, a classic example is when we have a robot that reactively follows the "commands" from a compass module that controls a bot's reaction to continually move North. A conflict arises when a obstacle avoidance sensor reactively notifies that an obstacle must be avoided by moving South. Unless some higher control scheme as bin provided for, the bot will bobble between the two behaviours. Intuitively we know the bot requires a means of allowing a lower reactive behaviour ( avoid obstacle )to over-ride some higher function ( move North) when prevailing conditions dictate.
We also need some way of "fooling" the reactive behaviours into acheiving some unplanned goal, unless one accepts that successfully avoiding obstacles while moving North is the goal.
 
Exactly, I know SA paper of Brooks was published in 1984. Until now, he still cannot develop to 3 level of SA. The 3 basic level are level 0, 1, 2 were well done. He said that if we could finish level 7, the robot would be intelligent.

But I think the SA or reactive paradigm needs enough knowledge about the world to build all levels for the robot. Is this right? If so, how can we say it intelligent? Because, the real world is not only static, but also dynamic, and so on (sorry, I can't remember some words but it means the real world is changed while the mobile robot is running).

The classic model you say, is that hierachical paradigm, in which the robot will works as alternativly as

sense -> plan -> act -> sense... model??

The behavior based is the model that robot works as

sense <-> act

they do not need a plan category but they have many sets of behaviors like sense <-> act model.

Because of the model, the robot will work faster than hierachical model.

But we need to know all about the world, so that we may build the behaviors for the robot. That is, we use programming to decrease hardware cost of a robot.

These near days, in the end of 80s they found hybrid architecture.

plan
|
sense <-> act

And also, Hans Moravec and his student Alberto Elfes published sensor fusion using Bayesian.. and the probability paradigm is constructed.

Do you know clearly how to program for a SA robot? I wrote some small test programs to work with leds. However, I don't understand muchie bout FSM to use with SA. May you give meeh a clearer explanation on it?
 
He said that if we could finish level 7, the robot would be intelligent.

What form of "intelligence" that would be is anyones guess seeings how intelligence itself has proven to be rather difficult to define. Maybe an alien intelligence ? :D ... even thats debatable.


But I think the SA or reactive paradigm needs enough knowledge about the world to build all levels for the robot. Is this right?

Yeah i think thats about right, but imbedding this knowledge into reactive behaviour isnt as straight forward as we might think (excuse the pun). Couple a questions that comes to mind is what is "enough" knowledge and what the heck is behavioural knowledge ?



But we need to know all about the world, so that we may build the behaviors for the robot. That is, we use programming to decrease hardware cost of a robot.

Odd thing is we take it for granted that using a VLSI processor with its millions of integrated components as not being overkill for simple reactive behaviour becuase of its remarkable flexibility, speed and wide-spread use.
Ive bin recently reading up on a new hardware "paradigm" called Neuromorphics. A circuit design architecture that not only attempts to mimic biological behaviour but actually copies the function of real biological neurons. Adaptive circuits ?


These near days, in the end of 80s they found hybrid architecture.

And i beleive an hybrid of both analog and digital is the way to go.


Do you know clearly how to program for a SA robot? I wrote some small test programs to work with leds. However, I don't understand muchie bout FSM to use with SA. May you give meeh a clearer explanation on it?

Programming is definitely not my area , using Basic If-Then statements is about as far as i go. Im mostly interested in circuit design, sorry.
 
Yeah, he also definited the intelligence. and also difinited the real world. I meant the characters of a real world, real working spaces. However, I don't have all documents here, so that I cannot give you right words, but I can understand it.

dynamic is that the obstacles can move in the space

stomatics (or somethings else I don't remember the words, I'm vietnamese).. is that the obstacles or external forces may exists suddenly...

and many other characters were descriped.

And the intelligence is definited as many forms of intelligence. A football player may be intelligent in activities, and controlling his body..., a musician is intelligent in rhythm, tune, melody.... and the intelligent robot is intelligent in understand his working space.

As human, we still cannot understanding our surround space, at least what is happenning behind your back. But the if we may build to the 7 level of SA, the robot may do this..

I still not understand how, or why .. but the fact that, he cannot build his 3 level, until now...

The 0 level is very easy to build, because it work only as your computer mouse... as you click, it do something at its current pose on the screen.

The state is that which is one your screen. The mouse need not understand. It "see" your click, it does immediately.

The 1 level can still build in a microcontroller. But the 2 level must be built in a processor (PC or embedded system for examples). And from the 3 level, we need parallel programming. However, we can use FSM to send the states of robot between the levels.

I think his methodology is very exciting.. However, as in new documents I read, they still says reactive paradigm need a clear information about the world to work. For example, we "see" an obstacle by bumper, we need to know we can step back and turn to continue moving... And we program it for the robot.

But if an movable obstacle exists behind the robot, it doesn't know. And get wrong, because we don't have any other sensors to detect a sudden obstacle. So the level 0 cannot work here. We need higher level, higher and higher for different characters of the real world. Finally, we will meet level 7.

The fact that he, the father of SA, still cannot go further level 2. Thus, I would like someone explain meeh why?


About the cost of a robot. I don't think you are right. Because as you see, industrial manipulators need cheapest designs. we lost 1$ in a robot, we will lost 1,000 $ in 1,000 robot production.

For example, as designing a driver for 2 x 0.5A stepping motors, you may use L298, well, it work good. But if you use L297 included, it will easier for you to programming, but it cost.. I meant you can give more components to your circuits for more easily programming, but it costs much. So, industrial manufactures need reactive paradigm for high speed processing and low cost. I think so...
 
Using the term reactive subsumption architecture when discribing intelligent behaviour appears to me to be really lowering the bar for a definition of intelligence, but i guess we could use it loosely here. Do you have a link to the paper you are referring to ?



Odd thing is we take it for granted that using a VLSI processor with its millions of integrated components as not being overkill for simple reactive behaviour becuase of its remarkable flexibility, speed and wide-spread use.

About the cost of a robot. I don't think you are right. Because as you see, industrial manipulators need cheapest designs. we lost 1$ in a robot, we will lost 1,000 $ in 1,000 robot production.

I didnt mean cost as in $$$ as much as "cost" as in complexity of design. uP's have become cheap ( -$) because of miniaturization ( theres a word for ya ) and mass production. Obviousely IC designers and manufacturers obsorb the initial cost of production but i wonder how much it costs (moneywise) to actually design and fabricate a VLSI digital processor IC from start to finish.
 
brooks-robust.pdf
http://www.bluebelldesign.com/

You may search the paper on web sites. And I dont remember the relative papers, because I lost almost my data. I'm asking for 16F877 programmer skemes or pcb, but no one ans :((...

On the web site, you may see how to program using FSM (I don't remember the words) but it's that we sent data between levels by the states of the robot.
 
brooks-robust.pdf
http://www.bluebelldesign.com/

You may search the paper on web sites. And I dont remember the relative papers, because I lost almost my data. I'm asking for 16F877 programmer skemes or pcb, but no one ans :((...

On the web site, you may see how to program using FSM (I don't remember the words) but it's that we sent data between levels by the states of the robot.
 
falleafd said:
Oh Thanks...

I did email you but don't know why there were no ans... :(...

Thanks alot..

Depending on your header, I may have deleted it - I'm receiving loads of SPAM and bounced virus messages (from infected users with my email address in their address book) every day. I delete anything which doesn't have a reasonable looking header - so your's might have gone that way.
 
So which header will not be deleted? Sorry, because I lost almost my data, sometimes I have to contact for programming with PIC. It's bout 3 months I do not program for a MC, because I'm writing my robot simulator on C++.NET.

I would like to ask how can I enable parallel port with .Net framework? I run under win XP service pack 1. This problem make me crazzie... I've downloaded ioport32.dll, which enable port for win XP. But each time, I run my .net, the port is disabled. Next time I wanna use it, I have to copy .dll to system32 folder again....

Another problem is that I usually use MPASM to work with P16F877. But now, I have a complex program and would like to use C. May you show me step by step to program with C? I mean you show me the suitable compiler, and how to work with it. If you got some tutorial on C programming for f877, pls send meeh.

Some program on MPASM I wrote is upto 2000 lines, and it takes much time. But the next program will be muchie complex. Because I intend to use SA (FSM programming) level 1 in f877. Do you think it's better to write in C in this case, or I should use MPASM for optimized codes?

In AVR, I see that the compiler work quite good with C, and it seems to be optimized, but I have no experience in programming with C on PIC.
 
falleafd said:
So which header will not be deleted? Sorry, because I lost almost my data, sometimes I have to contact for programming with PIC. It's bout 3 months I do not program for a MC, because I'm writing my robot simulator on C++.NET.

Any header which doesn't make me think it's spam doesn't get deleted :lol:

I would like to ask how can I enable parallel port with .Net framework? I run under win XP service pack 1. This problem make me crazzie... I've downloaded ioport32.dll, which enable port for win XP. But each time, I run my .net, the port is disabled. Next time I wanna use it, I have to copy .dll to system32 folder again....

That's why the most popular Windows world wide is still Win98 SE!, I've never seen any reason to downgrade to XP.

Another problem is that I usually use MPASM to work with P16F877. But now, I have a complex program and would like to use C. May you show me step by step to program with C? I mean you show me the suitable compiler, and how to work with it. If you got some tutorial on C programming for f877, pls send meeh.

I've never used C, and don't have any plans to.

Some program on MPASM I wrote is upto 2000 lines, and it takes much time. But the next program will be muchie complex. Because I intend to use SA (FSM programming) level 1 in f877. Do you think it's better to write in C in this case, or I should use MPASM for optimized codes?

For a large complicated program, using a high level language has advantages, particularly as it takes care of all the page switching problems.

As for FSM, I've never heard of it (until just trying a quick google search), is their a particular reason you want to use it?, and is it really suitable for PIC's?.

In AVR, I see that the compiler work quite good with C, and it seems to be optimized, but I have no experience in programming with C on PIC.

I think it all depends on your perception of 'optimized', personally if it produces code any longer than assembler I wouldn't consider it so. But generally it simply means the compiler makes some effort to reduce the size of the code it produces. But as you seem to be familiar with C, go for it!.
 
Oh no,.. I also hate to program for a MC with C codes.. MPASM, I think it's best way and I always used it. I have no experience on C for PIC to, so I asked.

However, my teacher want me to write in C, because he wanna understand what I write with more ease. You know, in vietnam, a little bit of programmer use PICs, they prefer AT89C51. :((

I took a full month to search online for many type of MC, finally, I choose PIC. In my University, only, 4 or 5 student could use PIC last year (including my partner and me). Poor....!!!

Because PIC is new to Vietnam, the teacher want me to write in C, so that the younger students should feel easy to read it. << poor meeh., I dont know how...



The reason why I use WinXP is that .NET framework is only completely installed under XP service pack 1 or latest Windows versions. I work on a robot project using sensor fusion, and need a laptop to drive the robot (the software is so large, cannot be writen in MC). I got away from programming for MC few months ago, because I need to program my simulator using C++ .NET.

Anyways, thanks muchie....
 
does anybody know where can I get information about subsumption
architecture? I've found a lot of papers, but not examples of robot and code on AVR.


Please, if somebody know tell me!


thanks
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top