Towards Live Environments in
Robotics
Santiago Bragagnolo – FOSDEM – 2014
http://car.mines-douai.fr/PhaROS
santiagobragagnolo@gmail.com
Santiago-pablo.bragagnolo@mines-douai.fr
@sbragagnolo
Proposed scenario: shopping
Proposed scenario: shopping
Proposed scenario: shopping
Objective
Robots for aiding people to navigate unknown
environments.
●

Find things (products, people, facilities)

●

Find the best way to reach them
Challenges
●

Understand the environment (mapping)

●

Define things to track and track them (tagging)

●

●

Avoid obstacles (columns, little kids moving
around)
Avoid lots of moving obstacles (crowds)
Robot Operative System
●

Robotic middleware + Integration framework

●

Imposes Architecture
–

Nodes

–

Topics

–

Services
Why?
●

Existing developed software

●

Growing community

●

Know-how available
Why?
●

Live environment

●

Constant innovation

●

Great programming and debugging tools
So we developed
●

Framework for robotic behavior development

●

Based on ROS architecture

●

High level abstractions

●

Abstracted from ROS installation
User
Interface

Robotic Middleware

Robot Controller

Third-Party
Robotic Software

Landmark Sensor

Robot
Where does my code run?
Main ROS abstractions
Some implementations cools: Inner nodes
Some implementations cools: Nodelets
Main differences with ROS
●

Node – N nodes

●

External and internal communication

●

Nodelets

●

Different packaging
Code distribution – pharos (command tool)
●

Installing an existent package
–

Automatic type deployment

–

Automatic script generation
Code distribution – pharos (command tool)
●

Creating a new package
–

Archetypes

–

Generated base code
Turtlesim example
pharos@PhaROS:~$ pharos install turtlesim
pharos@PhaROS:~$ rosrun arduino pharos handle
Code distribution - command line tool

pharos@PhaROS:~$ pharos create-repository Example –output=startup.st
●

Then, in your own pharo image
pharos@PhaROS:~$ ./pharo-ui Pharo st startup.st

●

Configure your packages in deployUnitsMetadata class method of ExampleDirectory
pharos@PhaROS:~$ pharos register-repository --url=YourRepo --package=ExampleDirectory
What have we done
●

StarGazer driver

●

Kompai robot driver

●

Localization error fixer

●

Point localization

●

Hinted path planning
Shopping mall demo vad conext 2013
●

http://www.youtube.com/watch?v=CS7hzPWVAm4

Demos in Lab @ Ecole des mines de Douai
●

http://www.youtube.com/watch?v=XBrnw9wHIhY
European robotic week
@ Ecole des mines de Douai
●

Live programing brought to robotics

●

ROS Middleware Integration

●

Open source – MIT License
Santiago Bragagnolo – FOSDEM – 2014
http://car.mines-douai.fr/PhaROS
santiagobragagnolo@gmail.com
Santiago-pablo.bragagnolo@mines-douai.fr
@sbragagnolo

PhaROS: Towards Live Environments in Robotics