ROSY: An elegant language to teach the pure reactive nature of robot programming

11/08/2019
by   Hugo Pacheco, et al.
0

Robotics is incredibly fun and is long recognized as a great way to teach programming, while drawing inspiring connections to other branches of engineering and science such as maths, physics or electronics. Although this symbiotic relationship between robotics and programming is perceived as largely beneficial, educational approaches often feel the need to hide the underlying complexity of the robotic system, but as a result fail to transmit the reactive essence of robot programming to the roboticists and programmers of the future. This paper presents ROSY, a novel language for teaching novice programmers through robotics. Its functional style is both familiar with a high-school algebra background and a materialization of the inherent reactive nature of robotic programming. Working at a higher-level of abstraction also teaches valuable design principles of decomposition of robotics software into collections of interacting controllers. Despite its simplicity, ROSY is completely valid Haskell code compatible with the ROS ecosystem. We make a convincing case for our language by demonstrating how non-trivial applications can be expressed with ease and clarity, exposing its sound functional programming foundations, and developing a web-enabled robot programming environment.

READ FULL TEXT
research
03/28/2018

Vehicle Platooning Simulations with Functional Reactive Programming

Functional languages have provided major benefits to the verification co...
research
10/11/2022

REMS: Middleware for Robotics Education and Development

This paper introduces REMS, a robotics middleware and control framework ...
research
07/28/2013

ROSoClingo: A ROS package for ASP-based robot control

Knowledge representation and reasoning capacities are vital to cognitive...
research
10/20/2022

The Natural Robotics Contest: Crowdsourced Biomimetic Design

Biomimetic and Bioinspired design is not only a potent resource for robo...
research
10/28/2021

On the Importance and Shortcomings of Code Readability Metrics: A Case Study on Reactive Programming

Well structured and readable source code is a pre-requisite for maintain...
research
02/14/2020

Gavial: Programming the web with multi-tier FRP

Developing web applications requires dealing with their distributed natu...
research
08/28/2020

Smoothly Navigating between Functional Reactive Programming and Actors

We formally define an elegant multi-paradigm unification of Functional R...

Please sign up or login with your details

Forgot password? Click here to reset