3
$\begingroup$

BEAM robotics seem to be a good approach to teach learners about electronics in robotics. But can these robots be like regular programmed "cognitive" robots? Can these robots, with just analog circuits, take us to the level of robotic assistants, worker robots and other kinds of self sufficient autonomous robots?

I specifically want to know that, when creating mission critical robots ->

1) What are the areas in robotics which are practically impossible without a real time software system?

2) What areas of the field can be done without programming? If yes, are these areas feasible without an onboard software system?

3) Could an intelligent space rover, work without a cpu in the future?

$\endgroup$
3
$\begingroup$

If we are defining BEAM robots as ones that do not use microprocessors, and only use analog circuits, then yes I think it is possible, but not practical.

A microprocessor is essentially a programmable circuit, and if we define what we want our robot to do, then we should be able to program the hardware (by building the proper circuit) without needing a microprocessor and programming software for it.

To answer your sub questions:

1) Without a real-time software system you can still have a real-time hardware system, so the only areas that would be impossible are areas where the robot needs to be functionally flexible and programmable post-manufacturing.

2) As answered in 1), all robots can be manufactured without software as long as the "programming" is defined in the hardware circuitry and doesn't need to change.

3) Yes.

Note: I'm not a hardware expert, please correct me if I'm wrong.

$\endgroup$
  • $\begingroup$ But Software-less robots, spacecrafts etc. might never be close to feasible. Right? $\endgroup$ – xsnk Dec 30 '13 at 8:48
  • 1
    $\begingroup$ I can't predict the future. I guess I would ask, why do you care / want to know? $\endgroup$ – user453441 Jan 1 '14 at 19:55
3
$\begingroup$

I think you are mixing the idea of BEAM robotics (why that, I prefer to not use this term), with analog electronics.

Analog circuits are in major applications more fast than a micro processed one, that have a clock to process instructions. The "problem" with analogs is in part with noise, but early computers are made analog, operational amplifiers are made to do computation with analog circuits.

The 74LS series, have a bunch of digital discrete ICs, they are not microprocessors, but can be flip-flops of some types, bus drivers, gate logic, and can do a lot of "processing", again generally faster than a microprocessor.

But, today digital electronics and micro-controller or processors reached a point where cost is acceptable even for the hobbyist. Sometimes is more easy to make a software than the equivalent analog circuit if possible. There a number of reasons.

But you can see that micro-controllers still have analog circuits for the user, like analog comparators, A/D and D/A converters, and much more depending on the application, so majority of circuits are mixed type

But Software-less robots, spacecrafts etc. might never be close to feasible. Right?

That is really application and project dependent, and at some degree opinion based. Op amps for example with an analog encoder, could close a PID loop, very fast ones. But the signal to the PID would come from a software and a D/A. So I don't say its impossible, but there's no subject to go this way, but again, they are in major projects mixed circuits, not only digital

$\endgroup$
2
$\begingroup$

BEAM robots are generally simple circuits that exhibit some emergent behavior that (superficially) mimics biological behavior. Generally speaking, there is no hard criteria for what a BEAM robot must accomplish -- they are not built to handle tasks that require reliability or repeatability.

While BEAM robotics should in theory be able to handle any tasks that a microcontroller could handle, the style of construction is not geared toward ease of troubleshooting or debugging -- essential tasks for the development of any complex behavior.

Analog circuits in general are capable of very critical real-time tasks, such as guiding rockets; see -- for example -- the work of Bob Pease. But compare the ease of development by changing a few lines of code to testing and rewiring a system like the Hawk Missile autopilot: Hawk Missile Autopilot

Analog electronics aren't incapable, they're just (in these sorts of cases) impractical.

$\endgroup$
  • $\begingroup$ The size of the components and the number of wired connections is completely irrelevant; the debugging and testing process is simply different between code and circuits. $\endgroup$ – Ian Jan 2 '14 at 15:15
0
$\begingroup$

0) Implicit (?) question about BEAM robots: These represent only a subset of cpu-free robots. Although you can build pretty complex robots without a microprocessor/microcontroller, BEAM robots (based on Mark Tilden's work) are mostly stimulus-response simple machines, where simplicity on itself is a design goal.

1) I'm not aware of any robotics area where building a software-free robot is "impossible". I support this answer on the fact that analog circuits (and the subset called analog computers) played roles even in different hard real time systems in the past. There are modern developments for bringing back combinations of analog and digital computers for different applications. So, making a robot using analog circuits, even a complex robot, is perfectly possibly. But please note that that does not mean that it wouldn't be much more easier/cheaper/faster/flexible to build the same robot using modern CPUs/MCUs.

2) This is related to 1, and also related to your definition of programming. I've seen robots where some of the functionality was solved using MCUs, but where other subsystems of the same robot (for example vision processing) were solved using FPGAs. Being reconfigurable hardware, FPGAs can fit a reconfigurable CPU on a given configuration, or not. So if your question is not excluding FPGAs, then I would say that you can do whatever you do with CPUs with FPGA based implementations. Again, this does not mean that it will be easier, etc. But in some cases, the performance of an FPGA is highly desirable. Also, as FPGAs are today reconfigurable in the field, you do not lose flexibility either. If you exclude FPGAs, then you can still implement most functions with analog circuitry. NOTE: You asked specifically about fields that can be done "without programming". Someone may question that hardware description languages are a kind of programming. But it can also be argued that they are just equivalent to defining a circuit on paper and then building it. That's why I mentioned FPGA based systems here.

3) Based on what I think about 1 and 2, then: yes.

I worked once on a small cheap robot of which we were going to produce between 200 and 500 units. It was for promotional usage, so we wanted to make it with some analog componentes that we had in stock already. It only needed to follow a line. So I started making it fully analog. But at some point we found some problems with the thresholds, etc., and decided to use a very small microcontroller (an 8 pins ATTiny), which resulted also in a very cheap design, and saved us some development time. So what I mean is that sometimes even the simplest designs may justify using a small CPU today, even if the same thing can be done without it.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.