BuPiGo: An Open and Extensible Platform for Visually-Guided Swarm Robots

The purpose of this paper is to articulate the need for an open, extensible robot platform to support swarm robotic research using vision and to propose one such platform. The platform proposed here is intended for research which trades smaller population size with more sophisticated individual robot capabilities. The validation of proposed swarm robotic algorithms using real-world hardware is essential, but is fraught with diﬃculty due to the expense and complexity of developing and maintaining multiple operational units. A number of open hardware platforms have been proposed, although most prioritize small size and low cost over advanced capabilities such as vision. We are interested in a number of diﬀerent research directions which utilize vision as a core capability and ﬁnd the existing open hardware platforms to be insuﬃcient (and existing commercial platforms too expensive). In this paper we describe a set of desirable characteristics for an open, extensible visually-guided robot platform. We then present our solution, the BuPiGo (pronounced buppy-go ), describing the hardware itself and a model developed for simulation purposes. We also present some initial results on using the BuPiGo for visual homing— an individual navigation task that we hope to exploit for swarm tasks in the future.


INTRODUCTION
Swarm robotics concerns the design of multi-robot systems which demonstrate a desired collective behaviour in a distributed, decentralized manner.The social insects (e.g.ants and bees) provide the key inspiration that effective collective behaviour can be achieved without hierarchical organization and without access to global information.There exists a common assumption that these insects are individually quite simplistic, and that the capabilities of the units in a robot swarm should be similarly restricted [15].Indeed, the predominant trend is to utilize coarse, range-limited sensors, such as infrared distance sensors and contact switches, and to insist on a purely reactive control architecture.Yet social insects such as honeybees employ a broad range of sensors, make heavy use of vision, and also employ longterm representations of sensory data [9].We are interested in pursuing research in swarm robotics that utilizes vision.Most of our past work has focused on object clustering and sorting [18,19] but the visual sense is profoundly useful in other well-studied swarm robotic tasks such as aggregation [6], chain formation [16], self-assembly [11], and many others.The purpose of this paper is to articulate the need for an open, extensible robot platform to support swarm robotic research using vision and to propose one such platform.
We can partition the robots used in swarm robotics research into two classes: open platforms that prioritize small-size and low-cost; and platforms with more advanced sensing capabilities.Robots that prioritize small-size and low-cost include the Kilobot [14], the R-One [8] and the GRITSBot [12].The GRITSBot paper [12] provides a good review of other robots, many of which are not considered reasonable candidates because their web sites do not appear to be actively maintained (for example, the Alice and Jasmine platforms).The Kilobot and GRITSBot are of similar size (≈3 cm) and cost ($50 for parts) but differ in their methods of locomotion and odometry.The GRITSBot can sense the range and coarse bearing of other robots or obstacles using a ring of IR distance sensors.The R-One has these capabilities while also incorporating visible light sensors, global localization, and additional interfaces for usability.The R-One is larger (10 cm) and more expensive ($220 for parts).None of these platforms have embedded cameras.They could potentially be adapted for vision research, but the added mass of cameras, processors, and batteries would change their endurance and operation in potentially unexpected ways.
There are also commercial platforms designed to support experiments in swarm robotics, the most widely used being the e-puck [10].The e-puck has a similar base of capabilties to the Kilobot, R-One, and GRITSBot, but also incorporates a camera and various add-on modules.The basic e-puck costs approximately $850 but the additions required for omnidirectional vision bring the total cost up to $2,000, yet without a gripper to manipulate objects.The MarXbot comes with omnidirectional vision abilities [1], unfortunately, we have not been able to identify a retailer for this robot and its online description is insufficient to easily recreate it.There are also a wide variety of robot platforms that were not specifically designed for swarm robotics, yet can certainly be used in this context.Those platforms which are inexpensive (e.g.Pololu's 3pi) lack a rich enough suite of sensors to support our work.Platforms with the necessarily capabilities cost in excess of $1,000.In summary, there is a niche for an inexpensive robot platform that has sufficient capabilities to support visual sensing.
Meanwhile, the flourishing Maker and hobbyist markets have yielded a suite of tools that are inexpensive and well-supported.The BuPiGo platform combines a smartphone attachment designed for omnidirectional vision called the Bubblescope, the Raspberry Pi 2 computer, the Pixy intelligent camera, an Arduino-compatible microcontroller board, and Lego NXT motors (Bubblescope + Raspberry Pi 2 + Lego motors = BuPiGo, pronounced buppy-go).We feel that this platform will receive the broadest base of support if its design documents are open and capable of being extended in various ways.For these reasons we introduce the BuPiGo robot with all design documents freely available at http: //bots.cs.mun.ca/robots/bupigo/.
In the next section we summarize desirable characteristics for a visually-guided swarm robot.We then present the components of the BuPiGo platform and discuss how it can be modelled using the V-REP simulator.Finally, we present some initial results on the use of the BuPiGo's consumergrade omnidirectional camera system for visual homing.

CHARACTERISTICS
The following are desirable characteristics for visually-guided swarm robots: Openness All design documents freely available Extensibility Support for the addition of new features Cost Cost significantly lower than commercial platforms Size Minimized while still satisfying the other criteria; Small enough to carry in one hand Endurance At least 3 hours (2 experimental runs per day) Odometry Encoders or other for relative localization Cameras Both omnidirectional and forward-facing: Omnidirectional For range and bearing of other robots and visual navigation Forward-facing For sensing objects immediately in front of the robot (e.g.pucks) Openness and extensibility are the most important traits.An open platform is much more likely to be adopted by a wide and supportive user community.Extensibility is supported by utilizing components that lend themselves to myriad uses.In particular, we use the Raspberry Pi 2 computer for high-level computing and the MinSegMega1 (an Arduino variant) for low-level computing.These products provide various easily-accessible and well-documented pins and connectors that open up a broad spectrum of possibilities in terms of sensors, actuators, and communication devices.
For swarm robotics, it is almost always advantageous to minimize cost and size.Robots such as the Kilobot and GRITS-bot prioritize low cost and size.However, the inclusion of cameras and computational power sufficient to quickly process images tends to increase both-particularly, when we also want robots with battery capacity sufficient to operate for 3 hours at a time.One strategy for minimizing cost and size is to develop a custom printed circuit board (PCB) bringing all electronic components together in a tightlypacked configuration.However, not all labs are equipped to fabricate and populate PCBs.Also, custom PCBs require more care and expertise to debug and extend functionality.So instead we opted to combine widely-available commercial components together.This does not yield the most compact design but better satisfies our other criteria for openness and extensibility.

HARDWARE
The BuPiGo is composed of the following physical components (see figure 1a).Raspberry Pi is abbreviated as RPi: The high-level computing functions tasked to the RPi 2 include the execution of the overall robot control strategy and processing data from high-bandwidth sensors such as the RPi camera.The low-level computing functions of the MinSegMega include interaction with the motors, odometry calculation, and forwarding the colour-segmented blobs extracted from the Pixy camera.
The extensible nature of the BuPiGo platforms implies that all of the above components could be replaced, with suitable modifications to the rest of the system.For example, the MinSegMega could be replaced by another Arduino variant.The RPi 2 computer could be replaced with a similar singleboard computer (e.g.Minnowboard or Beaglebone Black).One very useful feature of the RPi 2 computer for swarm robotics is the fact that the operating system boots from a micro-SD card, allowing the software configuration of one robot to be readily repeated on another.
The base of the BuPiGo is made of a 3D printed frame with a C-shaped gripper and servo controlled gate to hold pucks.The open nature of the platform allows this gripper/servo setup to be altered to suit the needs of the user.Figure 1a shows the BuPiGo model created in Sketchup.The robot is 22.5 cm long, 13.3 cm wide, and 18.5 cm tall.This is a large platform when compared to swarm robot platforms which prioritize low cost and size such as the Kilobot [14] and GRITSBot [12].However, it has similar cross-sectional area and height to the circular MarXbot which also offers a gripper mechanism and omnidirectional vision [1].

SIMULATION
The model has been implemented in the robotic simulator V-REP [5].Both a static model, for visualization purposes, and a dynamic model, for interacting with the virtual environment, were created.In addition separate ROS nodes [13] have been written to control the BuPiGo in both simulation and in reality.Figure 1b shows the static model.When simulations are run the static model is visible to the user and to the robots themselves, while the underlying dynamic model is hidden.The dynamic model is used by V-REP when determining how the robot interacts with the virtual world (eg.collisions).Figure 1c shows the dynamic model which is made up of primitive shapes (e.g.rectangular prisms, cylinders and spheres) which are more stable and faster during the execution of the simulation.

VISUAL HOMING EXPERIMENT
Our intention is to use the BuPiGo platform to study the incorporation of visual navigation capability into swarm robotics.We are particularly interested in visual homing which is defined as the ability to return to a goal location by comparing the current image with an image previously captured at the goal.This capability has been illustrated most famously in honeybees [2] and is thought to be a fundamental mechanism in the navigational toolkit of many insects [4].Meanwhile, most research on visual homing is carried out on individual robots with high quality omnidirectional camera systems.The BuPiGo's omnidirectional vision capabilities come from an inexpensive camera (the $30 USD Raspberry Pi Camera) mounted to a Bubblescope, an inexpensive ($40) smartphone lens attachment.It is unknown whether omnidirectional camera systems such as this can provide sufficient image quality for visual homing.
To investigate this issue we captured images from the Bubblescope/RPi camera taken within our air-hockey table arena.Images were captured within a 7 × 7 grid with a grid spacing of 15.24 cm (6 inches).The middle capture position (3,3) was chosen as the goal.The raw image from this position is shown in figure 2a.All images were unfolded into rectangular panoramic images [17], an example of which is shown in figure 2b.We applied our previously developed visual homing algorithm [3] which resulted in the home vectors shown in figure 2c.Each home vector is obtained by comparing the image captured at position (3,3) to the current image.Our algorithm, known as Homing in Scale Space (HiSS), extracts SIFT features from both the goal and current image [7].The change in scale of each feature is then utilized as a cue for navigation.In essence, the home direction is computed by moving towards those image features which have contracted and away from those which have expanded [3].Clear convergence to the goal position is apparent from the vector field shown in figure 2c.One potential issue with visual navigation is the assumption of a static environment which will clearly be violated when other robots and pucks are in view.We tested homing performance using only the top half of the unfolded image which eliminates the view of the arena and other robots.The resulting vector field is very similar to 2c and showed only a mild increase in average angular error (up from 9.17 • to 10.31 • ).Meanwhile, we did not address the possibility of moving features in the top half of the unfolded image such as those that might be generated from moving people.

CONCLUSIONS AND FUTURE WORK
We have presented the BuPiGo as a robot useful for visuallyguided swarm robotics research.We are currently conducting initial trials with this platform and hope to present a more comprehensive description and analysis of the robot's capabilities in the near future.Certainly more work is needed to characterize its cost and endurance.A rough estimate of the cost for parts is $500.While this appears to be much more affordable than the $2,000 e-puck (with omnidirectional vision add-on), more trials are necessary to prove our new platform's robustness and characterize its true value.

Figure 1 :
Figure 1: (a) View of the 3D model of the BuPiGo in Sketchup.Note that the 3D model does not include the Pixy camera or the Raspberry Pi camera that mounts to the Bubblescope.Also, the transparency and colours of some components are chosen for visual distinction and are not reflected in the physical robot.(b) Static model in V-REP.(c) Dynamic model in V-REP.
and RPi Camera Omnidirectional vision Pixy Camera Colour segmented object detection RPi 2 High-level computing and connectivity (e.g.Wi-Fi) MinSegMega (Arduino) Low-level computing Servo and Gate Active puck retention Batteries (3) Power for RPi 2, MinSegMega, and Servo Lego NXT Motors and Wheels (2) Locomotion Ball Caster Third ground contact 3D Printed Base Incorporates C-shaped gripper Acrylic Platform Mounting surface