There are some constraints in this world that are hard. In robotics, we have literal names for the various considerations our software must accomodate: brick walls, gravity, ditches by the side of the road. The pressing need to avoid these pitfalls is confounded by traditional engineering approaches that seek to improve reliability by avoiding 'reinventing the wheel'. Sometimes you really do need a different wheel! Nonetheless, the industry at large leans toward the use of ever-larger prefabricated units of functionality designed to be used off the shelf. This high-level encapsulation of functionality grants power and reliability at the expense of flexibility.
In contrast, Haskell empowers those working on low-level programming by abstracting low-level functionality as well as high. Haskell's type system gives the programmer the confidence and ability to consider the parts from which complex software is assembled, swapping out pieces at any granularity. This power enables a new era of bespoke software that snugly fits the problem domain to which it is applied.
This talk will provide an overview of robotics research, examples of Haskell and GHC providing more expressive and efficient abstractions for existing architectures, and present the use of Haskell in real time perception for robotic systems.
* Anthony Cowley is a robotics researcher and PhD candidate at the GRASP Lab at the University of Pennsylvania. He has worked on video games for music education and entertainment, and was a research associate at GRASP before returning to student life in 2010. His interests are in real-time computer vision, embedded systems, multi-agent coordination, and programming language driven verification of robotic systems.