Towards Automatic Error Recovery in Robot Programs
Proceedings of the Eighth International Joint Conference on Artificial Intelligence. Robotics. Pages 821-822.
© 1983 International Joint Conferences on Artificial Intelligence
Abstract
Unexpected events can cause the failure of apparently "correct" robot programs . The interaction with the real world and its unpredictability make the problem of error recovery in robot programming specially important . The goal of the paper is to present a general framework in which the activity of error recovery can be automated . This is accomplished by introducing a monitor program which identifies the appearance of any error and attempt to correct that error . The correction is done using a knowledge base where the knowledge that the user has about er ·ror identification and correction is expressed in symbolic form . An inference mechanism allows extension of this knowledge base for use in complex and unanticipated situations .
- Binford, T., "The AL language for intelligent robot." in La.nguages et Methodes de programmation des robots industriels. IRIA Press, Paris, France: IRI! Press, 1979.
- M. Gini and G. Gini 823
- Bonner, S .. and Shin, K.. "A comparative study of robot languages." Computer Magr12 . 15:12 (1882) 82- 96.
- Fikes, R.E., and Nilsson, N.J., "STRIPS: a new approach to the application of theorem proving to problem solvi.ng ." Artificia.L Intelligence 2 (197 1) 189-208.
- Gini, G., Gini, M., Somalvi.co, M., "Deterministic and non deterministic robot programming." Cybernetics and Systems 12 (198 1) 345-362
- Gini, G .. and Gini, M., "Interactive development of object handling programs." Computer La:nguages 7:1 (1982) 1-10.
- Latombe, J.C., "Failure processing in a system for designing complex assemblies ." ln Proc. 6th JJCAI. Tokyo, Japan, August 1979, pp 508-5 13. IJCAI
- Rosen, C.A., and Nitzan, D., "Use of sensors in pro- grammable automation." Computer Magaz. 10: 12 (1977) 12-23.
- Sacerdoti, E. , "A structure for plans and behavior." American Elsevier Pub!. Company, 1977 .
- Srinivas, S ., "Error recovery in a robot system." PhD Thesis, CIT, 1976.
- Stefik, M., et al.. "The organization of expert systems: a tutorial." Artijicia.L Intelligence 18 ( 1982) 135-173.
- Sussman, G. J ., "A computer model of skill acquisi- tion." American Elsevi.er Pub!. Company, 1975.
References were extracted automatically from the PDF and may contain errors.
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
1. Example
At the beginning of the program the InitialModel can be :
Arm= ParkPosition HandOpening = X if TouchSensorTriggered then ObjectHeld, ObjectSize = HandOpening, ObjectPickedUpAt =Arm else ClearHand.
B. Semantics
We describe the semantics of the language in a STRIPS-ltke form (Fikes, 1971).
. Each instruction has associated a list of precondi ttons and postconditions. The preconditions express what should be true before executing the instruction, the postconditions express how to modify the current model after the execution of the action. They are expressed in term of additions (ADD) , deletions (DEL) , and updating (UPD) to the model.
1. Examples
We consider a small subset of AL instructions (Bin ford, 1979) .
MOVE ARM TO f r arne
prec :
post : UPD: amFframe;
OPEN HAND TO d
prec:
post: if ObjectHeld
then ADD : ClearHand
DEL: ObjectHeld,
ObjectSi ze =X . ObjectPi ckedUpAt UPD : Opening = d CLOSE HAND TO d prec : ClearHand post : UPD : HandOpening = d if TouchSensorTriggered then ADD: ObjectHeld , ObjectSize= d, y Obj ec tPickedUpAt Arm DEL : ClearHand
Note that we consider rigid objects so that after OPEN and before CLOSE the hand does not hold anything .
Using postconditions the ExpectedModel and the CurrentModel can be determined. For instance, after a MOVE instruction the E:~~:pectedModel is computed by updating the arm position in the lnitialModel, while the CurrentModel is computed by reading the actual arm position.
C. Knowledge base
We use a knowledge base containing two types of rules, sensor rules (used to interpret the sensor data), and recovery rules (used to produce the recovery) .
Sensor rules have the form
where the D's express what we want to know from sen sors and C is their "logical" interpretation. This organi zation allows a certain independence between the raw data from sensors and their interpretation.
The recovery rules have the form
where the G's express what we want to achieve, the S's express what we know is true, and the R's are recovery actions .
1. Examples
SensorRules:
- if FingerTouchSensorTriggered then ObjectHeld if not FingcrTouchScnsorTriggcrcd then ClearHand
Recovery Rules:
If the object is lost during the movement we can r ecover With
to obtain when do Obj cctHcld ClearHand Compute NextPickUp;
GrabObject(NextPickUp,ObjectSize)
knowing that
if ObjectPickedUpAt =X
then NcxtPickUp = X + d
If the arm is not in the right place we can use the rules
- to obtain AriTFFrarrre2 when AriTFFrrune1, Dist(Ann,Frarre2)< . 5
- do MOVE ARM TO frarrre2 DIRECTLY to obtain AriTFFrarrre2 when AriTFFrarrre1, Dist(Ann,Frarrre2)>.5 do
MOVE ARM TO f rrune2 If the hand is too closed to obtain HandOpening = ObjectSize when HandOpening < ObjectSize do OPEN HAND TO ObjectSize
2. Recovery procedure
The recovery procedure is activated by the identification of an error. As we said before, an error is identified every time CurrentModel at the end of the exe cution of any instruction is different from ExpectedMo dcl. Knowi.ng the situation in which we arc and where we want to be the appropriate error recovery rules can be fired .
We control both the preconditions before executing any instruction and the postconditi.ons at the end. The first check should not be needed since we assume that the program does not have logic errors. We consider it useful as a protective measure.
After the recovery we resume the execution of the original program at the point where it was suspended. The problem of deciding whether to restart it at a different point has not yet been approached.
III CONCLUDING REMARKS
Although the examples shown are limited ve think to have supported our claim that we have presented a general framework for error recovery in robot programs. Research is under way to write more rules, to introduce strategies in recovery. and to extend our work to com plete programming languages. A preliminary irrplemen tation is under development. ·
In our opinion the strong points of our method are:
- It is based on the use of a real robot programming language, not a planning system intended for purposes other than manipulator control;
- The reasoning process used in error recovery is based on information provided by sensors. Any sensa- can be incorporated, provi.ded that interpretation rules are available;
- The knowledge base can be easily extended to cover more errors and more recovery procedures;
- The language used to program the robot could be changed, provi.ded that its semantics is supplied in the same form;
- It can be used to recover errors not only for robots but also for more complex automation systems .
@inproceedings{ijcai1983p197,
title = {Towards Automatic Error Recovery in Robot Programs},
author = {Gini, Maria L. and Gini, Giuseppina C.},
booktitle = {Proceedings of the Eighth International Joint Conference on
Artificial Intelligence, {IJCAI-83}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {Alan Bundy},
pages = {821--822},
year = {1983},
note = {Robotics},
url = {https://ijcai.org/proceedings/1983/197},
}
TY - CPAPER TI - Towards Automatic Error Recovery in Robot Programs AU - Gini, Maria L. AU - Gini, Giuseppina C. T2 - Proceedings of the Eighth International Joint Conference on Artificial Intelligence, IJCAI-83 PB - International Joint Conferences on Artificial Intelligence PY - 1983 SP - 821 EP - 822 UR - https://ijcai.org/proceedings/1983/197 ER -Copied
Machine-readable versions of this paper, for tools and AI agents: