Robots and Systems |
Previous | BARG Newsletter Issue 3/4, Spring/Summer 1985 p1 - 2 |
Next | BARG Newsletter Issue 3/4, Spring/Summer 1985 p11 - 13 -- The Aargh Interface Mark II |
Introduction
Why do we need or want clever robots? What can they do for us that existing robots can't do.
It is known that the Roman Empire, and most empires before and since, was founded on slavery and consequently most Romans had quite an easy time of it. However, that doesn't help us because slavery is illegal. So what could help us? Suppose we had robots with enough Intelligence that we could leave them to do certain jobs on their own.
You might say, of course, that today's Industrial robots get on with the job on their own, which is all very true until something goes wrong, say maybe a work-piece breaks or a tool jams or the electricity goes off. What then? Everything must stop until a human can come and sort things out and restart the system. Where does that put humans, but as the servants or slaves of the machines! If today's robots had a little more Intelligence, and better sensors, then they could sense that something was not quite as it should be and take appropriate action to remedy the situation and then carry on.
The ideal servant or slave is smart enough to do the job but not smart enough to complain. Let us look at some applications for smart robots and improvements in technology necessary to make then possible.
Applications
Supposing we had clever robots, what could we do with them, what could we use .
them for?
Trying to anticipate too far into the future is fraught with difficulty and we should at this stage restrict ourselves to realistic aims and omit any flights of fancy from science fiction. There are many tasks which are at present very dangerous for humans to do and others which are socially limiting because of the time at which they need to be carried out. There are even more tasks that are impossible for humans because of their size, that is, humans may not be able to fit into the space available or they may be too small or weak.
Let's look at a few such tasks and try to determine what features of hardware and software would be necessary to accomplish them.
Sewer Maintenance
Most people probably picture sewers as quite large, certainly large enough to walk down. However, this is not the case, most are small, and crawling down them would be very difficult. The sewers in nearly all towns and cities are now quite old and are beginning to need maintenance. Apart from the few where humans can carry out this maintenance work from the inside, (which can't be a pleasant job), it involves either digging them up and relaying or the use of specialised machinery for lining the insides, which is a slow process. How much better It would be if we could have robots to do this job. They could work on the inside of the sewer even while It was being used! What sort of robot would we need?
As a result of this, security robots are already being made. What facilities must they have?
Requirements of Advanced Robots
What are the requirements of advanced robots? The above only gives us an idea for specific cases but it is possible to define broadly various features which, will be necessary.
Meeting ali of these requirements is going to take a lot of research and it will be a long time before they can all be implemented. Even 1b) and 1c) are not easy.
Hardware Improvements Required
In this section we will look at hardware improvements which will be required for us to build what we can call an advanced robot. You should of course remember that the term 'advanced' is relative. To some people the advanced robot of yesterday is in use now and will be out of date tomorrow!
One of the main limitations of today's industrial robots is that they are not able to move about. Machines that they serve must be grouped within reach of the robot, leading to cluttered environments and in many cases the robot spends a large percentage of its time waiting for the other machines to finish their operation. A more satisfactory arrangement would be for one robot to serve many more machines but this requires the robot to move about. In a few factories some robot arms are able to move about on rails fixed In front of machines but these are not really mobile robots. Their base is still firmly fixed to the floor. The difference is illustrated in Figure 1.
How could a mobile robot know where it was and where it had moved to? A comon way with wheeled robots is to count how far the wheels have turned by using shaft encoders on the axies. While under good conditions this method is fairly accurate, it only takes a slight amount of wheel slippage, caused maybe by a greasy surface or slight unevenness, to upset the calculations.
What is needed is a more reliable method. While there are very exotic inertial navigation systems which could sense the robots acceleration and hence determine its position, they cost many more times the price of a robot.
The easy method is to refer to fixed features existing in the robot's environment. Industrial automated guided trucks use paths marked out with reflective tape stuck to the floor or buried cables which emit an electronic signal, as in Figure 2. However, should the robot truck ever lose contact with the path marker, then it would be completely lost and would need a human to come to its aid.
If a robot has to follow a given track such as a buried cable then it can't do anything about avoiding obstacles other than stop, for once it had moved away from the path it would be lost. With the ability to remotely sense its environment, it is immediatety free to take whichever path is unobstructed.
The software necessary to plan new paths depending on obstructions encountered is not very difficult to write and can easily be done an a microcomputer. What is not so easy is the accurate sensing of the position and shape of obstacles, even humans bang their shins and heads occasionally, and we have very good sensing equipment - eyes. Mobile robots at the moment don't have sufficiently good sensors to recognise anything other than the simplest of obstacles. The use of ultrasonic rangefinders as used in some cameras and by bats can provide robots with a very coarse view of their world but can easily miss thin objects which are still able to block the robot's path.
Computer vision is still in its infancy, but already with large computers and enough time, complex scenes can be analysed and the various objects recognised. On the other hand, only the very simplest of shapes can be recognised in a short enough time for it to be applicable to real time robot operations.
It was said earlier that industrial robots often work to great accuracy. No mobile robot can hope to calculate its position to such accuracy and even static robots have problems when working on pieces that vary in size or shape. For Instance when welding, expansion of the metal due to heat can lead to distortions of 5 mm. For a robot doing automatic welding it is important that it
Present-day industrial robots move in precisely controlled paths and great pains are taken to ensure that their limbs do not hit anything. As soon as robots start planning their own movements then there is a high possibility that their limbs will hit something that they do not 'see' or because their angle of approach is slightly different. At present robot arms do not have sensors to detect when they hit something, and should that happen, just go on pushing until something breaks. Hence advanced robots will need many more sensors to detect, not only whether they are touching something they shouldn't, but also to detect the forces within the robot Itself so it doesn't damage itself through trying to lift something too heavy or too far away. Sensors which detect touching are called tactile sensors.
At the moment Industrial robots generally perform only one task at a time, consequently only one gripper or end effector is needed. Some robots, so they can perform a variety of tasks, have a facility for changing their own gripper from a selection in a special rack. Any advanced robot is almost certainly going to require the same sort of facility to enable it to cope with all its tasks. Also, have you noticed how hard it is to work one-handed? Nearly everything we do requires two hands at least. As robots take on more and more complex tasks, they are going to run into the same problem and so you should expect to see advanced robots with at least two arms, though not necessarily of the same size.
To allow advanced robots to utilize fully their abilities to perform complex tasks, sensors on grippers will become the normal thing so that objects of various strengths can be handled without damage. At the moment it is rare for the gripping force to be controllable. Usually the gripper is opened and closed by pneumatic pressure, which is either fully on or fully off.
These sensors need not be confined to pressure sensors, the robot may need to detect temperature so that it does not attempt to pick up something hot with a gripper designed for sensitive gripping and maybe damage the gripper.
Software Improvements Required
Software is one of the most most rapidly expanding areas in robotics yet all but a few robots still have to be programmed in very low level languages, specifying each step of each movement. Alternatively, they are led through or taught the required movements. The amount of effort required to do this for all but the most mundane of tasks is prohibitive in the time required.
Rather than specify each of these steps, we need to be able to instruct the robot to carry out tasks in a high level language. Just as when programming a computer in a high level language we need not specify how it keeps track of variables or which memory location is used for what, so we need to be able to use a robot in the same way.
Ideally we ought to be able to instruct the robot in rather the same way as we
To get a robot to understand instructions in this form is a lot harder than it would at first appear. First of all, the robot must be able to understand human speech. To a limited extent this is already possible, but to understand the sentence, it must be able to understand what is called 'connected speech', where several words are put together to form a sentence. This is not easy and at present takes a lot of computing power even for well spoken simple sentences.
We haven't yet finished, though, it must now decide what the sentence means. It must analyse it for what is meant by 'that parts bin', 'this machine', 'ready', 'just finished', 'new part', 'this lug here'. There are other problems. We didn't tell it what to do with the part it had got from the bin whilst it was unloading the finished part. We didn't tell it what to do with the finished part when it had taken it out of the machine. We didn't say what we meant by 'when this machine is ready'. We didn't even tell it how to work the machine to get one part out and the new part in.
Phew! Yet for a human this wouldn't be too difficult. But there's more. For the robot to be able to understand the sentence, it must also be aware of its environment. It must be able to look round and recognise 'that parts bin', 'this machine', 'this lug'. All this demands advanced computer vision, coupled with a memory of what a parts bins look like in general. Just as we recognise a chair when we see it, in spite of the many different types of chair, so a robot must be able to classify the images it sees.
No matter how much of this information we put into the memory of an advanced robot, there will be times when it lacks sufficient information to understand our instructions. In these cases it must tell us what it doesn't understand, so we can explain. Although talking to robots is easy for humans, until robots are really clever It is going to be a process open to much error. Before this stage, we have got to develop formalised high level robot languages, in the same way as BASIC is a formalised language almost like English which we can use to instruct a computer, and which because it is formalised is easy for the computer to understand and for it to tell when we have used an illegal statement.
eg | LET A = B | means something |
but | LET A B | where the = sign is missing, means nothing |
Summary
As we have seen, there is enormous scope for improvement in today's robots, most of which is in the areas of sensors and controlling software Asking what use these improvements will be and what advanced robots will be used for is akin to asking people from the last century what use they would make of a motor car or an aeroplane. Most of the uses for new things are almost unforeseen when the things are invented.