Advances in robotics has led to the cooperation of multiple robots among themselves and with their industrial automation environment. Efficient interaction with industrial robots thus becomes one of the key factors in the successful utilization of this modern equipment. When multiple manipulators have to be coordinated, there is a need for a new programming approach that facilitates and encompasses the needs of concurrency, synchronization, timing, and communication. Most robot languages have been developed with little attention being given to the integration of the robot with its environment. Currently, there is a gap between the robot capabilities, the task definition environment, and language facilities supplied to use robots.
This paper analyzes the needs and then establishes that a concurrent logic programming approach is a step towards achieving a multi-robot knowledgeable task programming. In particular, the FCP dialect of concurrent Prolog is demonstrated, and analyzed.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
Maimon, O., A generic multi-robot control experimental system,J. Robotic Systems 3, 451–466 (1986).
Maimon, O., The robot route planning problem, Technical Report, Faculty of Engineering, Tel-Aviv University, 1988.
Steusloff, H.U., Advanced real time languages for distributed industrial process control,IEEE Computer, Feb. 1984, pp. 37–46.
Bonner, S. and Shin, K.G., A comparative study of robot languages,IEEE Computer, Dec. 1982, pp. 82–96.
Shin, K.G. and Epstein, M.E., Intertask communications in an integrated multirobot system,IEEE J. Robotics Automation Ra- 3, 90–100 (1987).
Nof, S.Y., Maimon, O. and Wilhelm, R.G., Experiments for planning error recovery programs in robotic work,Proc. ASME Interna. Conf. Computers in Engineering, New York, N.Y., August 1987.
Gini, M. and Gini, G., Error diagnosis and repair in sensorial robots,Proc. Internat. Conf. Advanced Robotics, Tokyo, Japan, Vol. 2, 1983, pp. 27–32.
Kowalski, R.,Logic for Problem Solving, Elsevier-North Holland, Amsterdam, 1979.
Takeuchi, A. and Kouchi, F., Parallel logic programming languages, inLecture Notes in Computer Science 225, Springer-Verlag, also Proc. Third Internat. Conf. Logic Programming (Shapiro, E., ed.), 1986, pp. 242–254.
Clark, K.L. and Gregory, S., A relational language for parallel programming,Proc. Conf. Functional Programming Languages and Computer Architecture, ACM, 1981, pp. 171–178.
Shapiro, E., Concurrent Prolog: A progress report,IEEE Computer, August, 1986.
Clark, K.L. and Gregory, S., PARLOG programming in logic,ACM Trans. Programming Languages and Systems 8, 1–49 (1986).
Ueda, K., Guarded Horn clauses, Doctoral Thesis, Faculty of Engineering, University of Tokyo, 1986.
Hirata, M., Self description of Oc and its application,Proc. Second Conf. Japan Soc. Software Science Technol., 1985, pp. 153–156 (in Japanese).
Mierowsky, C., Design and implementation of flat concurrent Prolog, Technical Report CS84–21, Weizmann Institute, Israel, 1984.
Shapiro, E. and Takeuchi, A., Object oriented programming in concurrent Prolog,J. New Generation Computing 1, 25–48 (1983).
Naylor, A.W. and Volz, R.A., Design and integrated manufacturing system control software,IEEE Trans. Systems, Man Cybernet SMC- 17, 881–897 (1987).
Sheu, P.C. and Kashyap, R.L., Programming robot systems with knowledge,Robotics and Computer Integrated Manufacturing 4, 359–367 (1988).
This research is partially supported by the Paul Ivanier Center for research in robots and production management.
About this article
Cite this article
Ben-Arieh, D., Maimon, O. Multiple robot programming using a concurrent logic language. J Intell Robot Syst 4, 25–41 (1991). https://doi.org/10.1007/BF00452100
- Multi-robot system
- programming languages
- concurrent programming
- logic programming
- concurrent Prolog