The goal of the RoboShop project is to make a robot for services into a shopping mall. From the hardware point of view, we are using two wheeled robots, equipped with a laser SICK 300 range finder, as well IR and sonar telemeters (see Picture 1). Each robot has a pole that is about 1.5 m heigh. It holds a tablet PC and Pan/Tilt camera.
Picture 1: Robots we use for the RoboShop project
On the software side, we have chosen the ROS middleware. The rational behind this choice is that ROS is backed by an active community, structured around Willow Garage and more recently the Open Source Robotics Foundation (OSRF). On the programming side, we took the reflective language Pharo. As Object-Oriented experts, we believe that Pharo is among the best (if not THE best) object-oriented programming language. Besides, it’s available under a free software license, and it’s community (backed by the INRIA french public research organization dedicated to computer science) is continuously improving it.
The first step was to develop a ROS client in Pharo: PhaROS = PHAro + ROS (initially named RoSt). So far, we have a first complete, running version. We have also developed a ROS node to control our robot. As a first validation, we drove the robot inside our lab and make it build a map (see Picture 2). That was also an opportunity to test our client with a third party ROS node, namely gmapping. We fed this Synchronous Localization And Mapping (SLAM) algorithm with data from the laser embedded on the robot.
Picture 2: Our lab’s map built by a robot
We are currently working on automatic map construction. The robot should be able to roam autonomously to build the map. This will lead us to test other parts of our infrastructure. Ultimately, the robot should be able to navigate in the building based on the existing map. It should be able to plan its trajectories to reach it destination while avoiding obstacles even if they are not on its initial map. Such obstacles include moving ones such as people or other robots.
This end of the year comes with good news. Our research on robotic exploration and mapping received a two years funding from the Région Nord-Pas de Calais for a proposal entitled: CAIRE. This project that will be kicked off in 2013 involves two other partners: the RMoD team from INRIA Lille, and the Telice team from the IEMN lab of Lille.
The goal of the CAIRE project is to propose a methodology as well as an infrastructure for developing modular software to control robot for building maps of unknown buildings. One originality of our approach is that we fully rely on dynamic languages and more specifically on the Pharo reflective language. Dynamicity enables fast development and eases debugging. Besides, we rely on reflective and meta-level facilities for building tools and adapting the language to fit our needs.
Research we will be conducting in the CAIRE project will complement our previous work on cooperative exploration of unknown terrain using a fleet of robots. CAIRE is also related to our ongoing project RoboShop which aims at experimenting with robots in a shopping mall. In both projects we are using human size wheeled robots. They also share the same middleware: the de facto standard ROS, from the Open Source Robotics Foundation.
Santiago Bragagnolo joined the team since the beginning of the month, as we announced during our talk on Smalltalk for robotics last ESUG conference (see slides below). Santiago is working full time on the RoboShop project where we aim at building an infrastructure for service robotics in the context of a shopping mall. We are using ROS (Robot Operating System) as a middleware. Currently, we are focusing on RoSt a framework to bridge Pharo Smalltalk with ROS. The end of the tunnel is becoming closer. We can call services provided by ROS nodes and we can send ROS topic messages. We are currently making tests with the ROS turtle simulator. We hopefully will soon start experimenting with our human size robots.