TWIST Robot

TWIST twistbot with Kobuki base

The mobility extension

The TWIST (TKN wireless indoor sensor testbed) has been a valuable tool for experiments in sensor networks in a real indoor environment with a constantly increasing number of users from companies and the research community.

It offers a waste sensor node deployment in a real environment, which distinguishes it from many other testbeds that are publicly available - even to this date. The types of possible experiments, however, have been solely limited to those with a static node deployment. This fact is partially compensated by TWIST’s support for node power controlling. Leveraging this feature a given topology can be influenced by introducing artificial node failures. However, a dimension that was completely missing, are means of mobility that are common in a lot of wireless sensor networks or CPS applications.

Out of that fact we started to realize that a mobile extension to a static infrastructure is just the natural next step to open an entire new possibilities for experiments.

Another driver for this was the extension of TWIST into other domains, like Wireless LAN, where mobility is even more common.

The mobile platform

When the need for a mobile extension became apparent, we defined a list of requirements, which had to be met by a specific candidate. This list converged to the following points:

  • ready to use out-of-the box (with little effort)
  • no robotic engineer knowledge needed
  • should localize autonomously on a given map
  • operate in the same coordinate system as TWISTsensor
  • avoid dynamic obstacles and cope with office environment
  • capability to carry arbitrary equipment up to 3kg

All those points were met by a mobile platform developed by a company in the US called WillowGarage, called Turtlebot. It consisted of a vacuum cleaner robot derivate of iRobot called Create, a Laptop, a Microsoft Kinect and some plates and metal poles.

Turtlebot (I)

Original Turtlebot

All parts are easily available, except for the iRobot Create, which is not available on the German market due to missing CE labeling. It can, however, be replaced by its consumer counterpart, a Roomba vacuum robot that shares a similar serial interface for control.

TWISTbot: a modified Turtlebot II

TWISTbot with Kobuki base and experiment Access Point on top

ROS

The Robot Operating System (ROS) is an open source approach for robotic platforms. Developed by the Stanford Artificial Intelligence Laboratory in scope of the Stanford AI Robot STAIR project. The idea behind ROS is to provide a system design and powerful tools that enables developers to easily reuse software components and connecting processes on different machines forming a distributed system. These processes can do anything from reading sensors, actuator control, to computational processing on a high level realizing complex tasks like navigation. ROS has also an active open source community, which constantly pushes the range of supported platforms, devices and features, and publishes stable snapshots of ROS under development, so called distribution releases, in regular intervals. Among open platforms that can be rebuilt and used for own projects – including the open- source hardware drivers – ROS provides a lot of different, ready-to-use algorithms for all kinds of common but complex robotic tasks on a higher level. Among many other, the previously mentioned navigation of mobile robots is such common but complex task. It includes navigation through environments - known or not – without colliding with obstacles and finding its way to a given goal. Components like this are freely available. As input they expect a set of well-defined sensor data types, that can be published by various number of sensors. On the other hand they publish well-defined actuator messages to steer robots accordingly. This made made the work on the prototype implementation possible at all, since it would not have been possible to do all this from scratch. ROS is called operating system, although it is not meant in the common sense. It builds on top of regular real operating systems like Linux, Mac OS and Windows as a framework, providing powerful libraries to power robotic systems in different languages like C++, Python, Java, Lua and Lisp.

ROS' visual control interface RViz

History

Funding

The initial funding that enabled first experiments with the Turtlebot platform came through FP7 CREW - Cognitive Radio Experimentation World and CONET - Cooperating Objects Network of Excellence projects.