|
Greg Hager John Hopkins University
Functional Languages Meet Vision and Robotics: FRP in Action
Functional Reactive Programming (FRP) was pioneered by Conal Elliot and Paul Hudak as a way of specifying computations where time-flow is a central concept. FRP extends a host language with signals whose values evolve in time. Until recently the only host language for FRP was Haskell, as originally developed in a computer animation system called FRAN. Over the last few years we have been experimenting with these language ideas in two new domains: robotics and computer vision. The results are two new FRP based languages, FROB (Functional Robotics) and FVision (Functional Vision).
In this talk, I will discuss the basic FRP framework and how it has evolved to encompass vision and robotics. Along the way, I'll describe some of the lessons we've learned about using FRP for cross-domain integration, and a few of the domain-independent language abstractions that have emerged. I will also discuss a new C++ implementation of FRP that we have recently developed. We have implemented a simple vision-guided navigation system in FRP/Haskell and FRP/C++. I will compare and contrast some of the pros and cons of both systems.
|