PhaROS: Build ROS Robots with Pharo

 

PhaROS is a research projet (2013-2020) that aimed at exploring the development of robot controllers with a live programming environment.

It is also a  library and a framework that allow you to write, test and deploy ROS nodes with the Pharo reflective language and its IDE.

Source Code and Documentation

Demos with Human Size Robots

Papers & Talks

Jun 7, 2017 – Robotic Exploration and Mapping with Pharo

The document discusses simultaneous localization and mapping (SLAM) and developing robotic applications using Pharo and the Robot Operating System (ROS). It introduces SLAM and ROS, describes how PhaROS allows using Pharo within ROS, addresses limitations and bugs when developing in Pharo, and concludes by discussing future work such as automated testing and working with multiple robots.

Nov 3, 2014 – Towards Live Programming in ROS with PhaROS and LRP

The document proposes a live programming approach for the Robot Operating System (ROS) using PhaROS and LRP. It identifies limitations of ROS for live programming like static launch files and lack of hot code swapping. The approach integrates a domain specific language for hierarchical state machines called LRP with PhaROS, a ROS client for the Pharo programming language. This allows ROS nodes to be developed in Pharo and everything to happen at runtime, enabling live parameter changes, code updates, and connection changes for ROS applications. Examples of using this approach include a robot that stops on obstacles and an obstacle avoider behavior.

Aug 28, 2014 – Talking to Robots in Pharo – ESUG 2014

This document discusses challenges in robotics software development. It describes the heterogeneity of different robots with varying sensors, actuators, sizes, and computing capabilities. Developing software for multiple robot types poses difficulties with different drivers, protocols, and low-level algorithms. The document also outlines other challenges including resource constraints, hardware and software integration, changing conditions, and safety. It proposes a methodology for safe test-driven development of robotics software.

Feb 2, 2014 – PhaROS: Towards Live Environments in Robotics – FOSDEM 2014

The document discusses PhaROS, a framework for robotic behavior development based on the Robot Operating System (ROS) architecture. PhaROS aims to provide high-level abstractions to ROS and make it easier to program robots for tasks like navigation in unknown environments. It introduces concepts like nodes, topics, and services from ROS. PhaROS includes tools like a command line interface for installing, creating, and distributing robot software packages. Examples of implementations using PhaROS include drivers for robots and localization algorithms.

Sep 11, 2013 – First Tests of a Helper Robot in a Shopping Mall – ESUG 2013

First experiments of a helper robot for shopping mall as announced in the 2013 edition of the European Smalltalk Users Group conference. This robot is developped using the PhaROS client of the ROS middleware.