|
ABSTRACT
We have developed a domain specific language for the construction of robot controllers, Frob (Functional ROBotics). The semantic basis for Frob is Functional Reactive Programming, or simply FRP, a purely functional model of continuous time, interactive systems. FRP is built around two basic abstractions: behaviors, values defined continuously in time, and events, discrete occurances in time. On this foundation, we have constructed abstractions specific to the domain of robotics. Frob adds yet another abstraction: the task, a basic unit of work defined by a continuous behavior and a terminating event.This paper examines two interrelated aspects of Frob. First, we study the design of systems based on FRP and how abstractions defined using FRP can capture essential domain-specific concepts for systems involving interaction over time. Second, we demonstrate an application of monads, used here to implement Frob tasks. By placing our task abstraction in a monadic framework, we are able to organize task semantics in a modular way, allowing new capabilities to be added without pervasive changes to the system.We present several robot control algorithms specified using Frob. These programs are clear, succinct, and modular, demonstrating the power of our approach.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Rodney Brooks. A robust layered control system for a mobile robot. IEEE Trans. on Robotics and Automation, 2(1):24-30, March 1986.
|
| |
2
|
E. Coste-Mani6re and B. Espiau, editors. International Journal o} Robotic Research, Special issue on Integrated Architectures for Robot Control and Programming, volume 17:4, 1998.
|
| |
3
|
Coned Elliott. Composing reactive animations. Dr. Dobb's Journal, july 1998. Extended version with animations at http: //- research.microsoft, comFconal/fran/- { tutorial, htm, rut or ialArt icle. zip }.
|
| |
4
|
Conal Elliott and Paul Hudak. Functional reactive animation. In International Conference on Functional Programming, pages 163-173, June 1997.
|
| |
5
|
V. Hayward and J. Lloyd. RCCL User's Guide. McGill University, Montreal, Qu6bec, Canada, 1984.
|
| |
6
|
|
| |
7
|
V.J. Lumelsky and A.A. Stepanov. Dynamic path planning for a mobile automaton with limited information on the environment. IEEE Trans. on Automatic Control, 31(11):1058-63, 1986.
|
| |
8
|
D. Lyons and M. Arbib. A formal model of computation for sensor-based robotics. IEEE Trans. on Robotics and Automatwn, 6(3):280- 293, 1989.
|
| |
9
|
Damian M. Lyons. Representing and analyzing action plans as networks of concurrent processes. IEEE Transactions on Robotics and Automation, 9(7):241-256, June 1993.
|
| |
10
|
|
| |
11
|
Pattis, R et al. Karel the Robot. John Wiley & Sons, 1995.
|
| |
12
|
J. Peterson, G. Hager, and P. Hudak. A language for declarative robotic programming. In Proceedings of IEEE Conf. on Robotics and Automation, May 1999.
|
| |
13
|
|
| |
14
|
John Peterson and Kevin Hammond. Haskell 1.4: A non-strict, purely functional language. Technical Report YALEU/DCS/RR-1106, Department of Computer Science, Yale University, May 1997.
|
| |
15
|
B. Shimono. VAL: A Versatile Robot Programmmg and Control Language. IEEE Press, 1986.
|
| |
16
|
D.B. Stewart and P.K. Khosla. The chimera methodology: Designing dynamically reconfigurable and reusable real-time software using port-based objects. International Journal of Software Engineering and Knowledge Engineering, 6(2):249-277~ 1996.
|
| |
17
|
R. H. Taylor, P.D. Summers, and J. M. Meyer. AML: A manufacturing language. Int. J. of Robot Res., 1(3):3~18, 1982.
|
 |
18
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE conference on Design automation
Gwo-Dong Chen
, Daniel D. Gajski
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
|