F. Arvin, J. Mendoza, Benjamin Bird, A. West, S. Watson, B. Lennox
{"title":"Mona: an Affordable Mobile Robot for Swarm Robotic Applications","authors":"F. Arvin, J. Mendoza, Benjamin Bird, A. West, S. Watson, B. Lennox","doi":"10.31256/ukras17.16","DOIUrl":null,"url":null,"abstract":"Mobile robots are playing a significant role in multi and swarm robotic research studies. The high cost of commercial mobile robots is a significant challenge that limits the number of swarm based research studies that implement real robotic platforms. On the other hand, the observed results from simulated robots using simulation software are not representative of results that would be obtained using real robots. There are therefore considerable benefits in the development of an affordable open-source and flexible platform that allows students and researchers to implement experiments using real robot systems. Mona is an open-source and open-hardware mobile robot that has been developed at the University of Manchester for this purpose. Mona provides a robotic solution that can be programmed and operated using a user-friendly interface, Arduino, with relative ease. The low cost of the platform means that it is feasible for a large number of these robots to be used in swarm robotic scenarios. This work was supported by EPSRC (Project No. EP/P01366X/1 and EP/P018505/1). Introduction Swarm robotics is a relatively new concept in multi-robotic collective behaviour research studies that has emerged from studies using robots with limited abilities that are assigned to following simple tasks [1]. Swarm robotic scenarios are mostly inspired form social behaviour of insects and other animals and there have been many successful implementations of swarm behaviours which have been directly inspired from nature (e.g. honeybees [2], cockroaches [3], ants [4], and birds [5]). As highlighted in [6], one of the main criteria of swarm robotics is operating experiments with a “large number of robots”, typically at least 10 20. Recently, the number of robots used in swarm robotics has increased dramatically with swarm sizes of up to 1000 robots being reported [7]. To implement such large sizes of swarms with commercial robots can therefore be very costly. To tackle this issue, affordable open-source and open-hardware robotic platforms are playing an important role in research and education. Several mobile robots have been developed and successfully deployed in swarm robotic research studies, such as Khepera [8], Alice [9], Jasmine [10], E-puck [11], Colias [12], SwarmBot [13], Kilobot [14], and S-bot [15]. In these studies bio-inspired collective behaviour has been imitated, however, despite this work only a limited number of low-cost, open-source, and open-hardware mobile robots are available for use in swarm robotic research studies. For example, ’Colias’ is an open-source, low-cost mobile robot that was developed for application to swarm scenarios. A large group of Colias robots played the role of young honeybees role to mimic BEECLUST aggregation [16]. Colias has also been utilised to study bio-inspired vision mechanism [17] and artificial pheromone communication system [18]. Recently, Mona has been developed as a low-cost mobile robot for research and education purposes. The first version of Mona was utilised in a study on the feasibility of creating a Perpetual Robot Swarm system, where the robot was able to recharge itself whilst in motion [19]. The Mona robot has been developed, in collaboration with a commercial partner, as a low-cost platform (£100) for robotic education and swarm/collaborative research. It has been successfully used for teaching on an undergraduate unit and MSc projects in University of Manchester. The rest of this paper provides briefly on its design and capabilities. Mona Robot Mona (Fig. 1) uses a circular PCB board with the diameter of 8 cm accommodates its modules including main processor, motors and drivers, infra-red proximity sensors, power management, Figure 1: (a) Mona robot, (b) ROS module (breakout board for Teensy 3.2 and WiFi), and (c) an expansion board for the off-the-shelf modules: Raspberry Pi Zero, RF transceiver, and XBee. and 3.7 V Li-Po battery. Mona is a modular robot hence any module that uses the serial communication standards (i.e. RS232, I2C, and SPI) can be easily attached to the robot. Due to open-source criterion of the Mona, Arduino [20] that is one of the most successful opensource platforms was used to program the Mona. The important reasons to use Arduino were: i) it is relatively easy platform in comparison to other open-source platforms, ii) the rich set of online forums and available libraries with free access, and iii) variety of Arduino compatible programming environments especially for young age students. An AVR 8-bit microcontroller (Atmega-328, with 32 KB in-system self-programmable flash memory and 2 KB internal SRAM) was utilised as the main processor. The main clock source is an external 16 MHz crystal oscillator. Two micro DC gearhead motors (with a high gear ratio of 280:1) and two wheels with diameter of 28 mm move Mona with a maximum speed of 10 cm/s. The rotational speed for each motor is controlled individually using a pulse-width modulation (PWM) technique. Each motor is controlled separately with a macroscopic model of the utilized motors [21]. In addition, the utilised motors have magnetic encoders attached to the back side of the motors. Each encoder generates two pulses per rev (before gear), which provides enough precision in terms of wheels’ displacement. The output of the encoders can be used as an input to a proportional-integral-derivative (PID) controller for closed-loop motion control. The main sensory system which is used in Mona is the short-range infra-red (IR) proximity sensors. Five sensors in front half of the robot, which were located in 35◦ angular distance estimate the distance of an obstacle by translating the received reflected IR to an analogue voltage [22]. Mona also monitors its battery level using an ADC (analog-to-digital converter) channel of the main processor by sampling its battery level by a voltage divider including two resistors. To study on possibility of controlling Mona using ROS (Robot Operating System), a breakout board has been made that supports a Teensy 3.2 module and a WiFi module, as shown in Fig. 1(b). The board was attached on top of Mona and communicates via UART (universal asynchronous receiver-transmitter). In this configuration, an ID was assigned to each Mona and the base-station (ROS server) receives sensory readings from each Mona and also sends commands to Mona’s motors and LEDs via WiFi module. In addition, a breakout board as shown in Fig. 1(c) has been developed which supports: i) Raspberry Pi Zero, ii) XBee module, and iii) NRF24L01 RF transceiver. The board is mounted on top of the main platform and is able to communicate with the main platform using RS232 serial port. Mona has been developed based on an AVR RISC micro-controller (ATMega328P). The architecture of the robot allows connecting the robot to Arduino-based platforms via a USB cable. However, it is possible to use any programming language which was developed for AVR micro-controllers including C, C++, Java, Pascal, Basic, and Assembly. Mona’s design library and codes are available at [23].","PeriodicalId":392429,"journal":{"name":"UK-RAS Conference: Robots Working For and Among Us Proceedings","volume":"80 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"UK-RAS Conference: Robots Working For and Among Us Proceedings","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.31256/ukras17.16","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Mobile robots are playing a significant role in multi and swarm robotic research studies. The high cost of commercial mobile robots is a significant challenge that limits the number of swarm based research studies that implement real robotic platforms. On the other hand, the observed results from simulated robots using simulation software are not representative of results that would be obtained using real robots. There are therefore considerable benefits in the development of an affordable open-source and flexible platform that allows students and researchers to implement experiments using real robot systems. Mona is an open-source and open-hardware mobile robot that has been developed at the University of Manchester for this purpose. Mona provides a robotic solution that can be programmed and operated using a user-friendly interface, Arduino, with relative ease. The low cost of the platform means that it is feasible for a large number of these robots to be used in swarm robotic scenarios. This work was supported by EPSRC (Project No. EP/P01366X/1 and EP/P018505/1). Introduction Swarm robotics is a relatively new concept in multi-robotic collective behaviour research studies that has emerged from studies using robots with limited abilities that are assigned to following simple tasks [1]. Swarm robotic scenarios are mostly inspired form social behaviour of insects and other animals and there have been many successful implementations of swarm behaviours which have been directly inspired from nature (e.g. honeybees [2], cockroaches [3], ants [4], and birds [5]). As highlighted in [6], one of the main criteria of swarm robotics is operating experiments with a “large number of robots”, typically at least 10 20. Recently, the number of robots used in swarm robotics has increased dramatically with swarm sizes of up to 1000 robots being reported [7]. To implement such large sizes of swarms with commercial robots can therefore be very costly. To tackle this issue, affordable open-source and open-hardware robotic platforms are playing an important role in research and education. Several mobile robots have been developed and successfully deployed in swarm robotic research studies, such as Khepera [8], Alice [9], Jasmine [10], E-puck [11], Colias [12], SwarmBot [13], Kilobot [14], and S-bot [15]. In these studies bio-inspired collective behaviour has been imitated, however, despite this work only a limited number of low-cost, open-source, and open-hardware mobile robots are available for use in swarm robotic research studies. For example, ’Colias’ is an open-source, low-cost mobile robot that was developed for application to swarm scenarios. A large group of Colias robots played the role of young honeybees role to mimic BEECLUST aggregation [16]. Colias has also been utilised to study bio-inspired vision mechanism [17] and artificial pheromone communication system [18]. Recently, Mona has been developed as a low-cost mobile robot for research and education purposes. The first version of Mona was utilised in a study on the feasibility of creating a Perpetual Robot Swarm system, where the robot was able to recharge itself whilst in motion [19]. The Mona robot has been developed, in collaboration with a commercial partner, as a low-cost platform (£100) for robotic education and swarm/collaborative research. It has been successfully used for teaching on an undergraduate unit and MSc projects in University of Manchester. The rest of this paper provides briefly on its design and capabilities. Mona Robot Mona (Fig. 1) uses a circular PCB board with the diameter of 8 cm accommodates its modules including main processor, motors and drivers, infra-red proximity sensors, power management, Figure 1: (a) Mona robot, (b) ROS module (breakout board for Teensy 3.2 and WiFi), and (c) an expansion board for the off-the-shelf modules: Raspberry Pi Zero, RF transceiver, and XBee. and 3.7 V Li-Po battery. Mona is a modular robot hence any module that uses the serial communication standards (i.e. RS232, I2C, and SPI) can be easily attached to the robot. Due to open-source criterion of the Mona, Arduino [20] that is one of the most successful opensource platforms was used to program the Mona. The important reasons to use Arduino were: i) it is relatively easy platform in comparison to other open-source platforms, ii) the rich set of online forums and available libraries with free access, and iii) variety of Arduino compatible programming environments especially for young age students. An AVR 8-bit microcontroller (Atmega-328, with 32 KB in-system self-programmable flash memory and 2 KB internal SRAM) was utilised as the main processor. The main clock source is an external 16 MHz crystal oscillator. Two micro DC gearhead motors (with a high gear ratio of 280:1) and two wheels with diameter of 28 mm move Mona with a maximum speed of 10 cm/s. The rotational speed for each motor is controlled individually using a pulse-width modulation (PWM) technique. Each motor is controlled separately with a macroscopic model of the utilized motors [21]. In addition, the utilised motors have magnetic encoders attached to the back side of the motors. Each encoder generates two pulses per rev (before gear), which provides enough precision in terms of wheels’ displacement. The output of the encoders can be used as an input to a proportional-integral-derivative (PID) controller for closed-loop motion control. The main sensory system which is used in Mona is the short-range infra-red (IR) proximity sensors. Five sensors in front half of the robot, which were located in 35◦ angular distance estimate the distance of an obstacle by translating the received reflected IR to an analogue voltage [22]. Mona also monitors its battery level using an ADC (analog-to-digital converter) channel of the main processor by sampling its battery level by a voltage divider including two resistors. To study on possibility of controlling Mona using ROS (Robot Operating System), a breakout board has been made that supports a Teensy 3.2 module and a WiFi module, as shown in Fig. 1(b). The board was attached on top of Mona and communicates via UART (universal asynchronous receiver-transmitter). In this configuration, an ID was assigned to each Mona and the base-station (ROS server) receives sensory readings from each Mona and also sends commands to Mona’s motors and LEDs via WiFi module. In addition, a breakout board as shown in Fig. 1(c) has been developed which supports: i) Raspberry Pi Zero, ii) XBee module, and iii) NRF24L01 RF transceiver. The board is mounted on top of the main platform and is able to communicate with the main platform using RS232 serial port. Mona has been developed based on an AVR RISC micro-controller (ATMega328P). The architecture of the robot allows connecting the robot to Arduino-based platforms via a USB cable. However, it is possible to use any programming language which was developed for AVR micro-controllers including C, C++, Java, Pascal, Basic, and Assembly. Mona’s design library and codes are available at [23].