Cloud Robot with Agriculture Using Raspberry Pi

Download Full-Text PDF Cite this Publication

Text Only Version

Cloud Robot with Agriculture Using Raspberry Pi

S. Logeswari, R. Subhashini,

Students, MRK Institute of Technology, Kattumannarkoil, Nattarmangalam, Cuddalore, Tamil Nadu

Abstract In this paper, a system is designed with an autonomous robot to sense environmental data such as temperature, humidity, and air quality, along with GPS coordinates and store them on the cloud. The mobile robot is controlled using an Arduino microcontroller and communicates with the cloud via a Raspberry Pi. Advanced Fuzzy logic controller is implemented to change the steering angle and the speed of the robot according to the desired reference position using raspberry PI. The collected data are stored in a cloud server which could be viewed through a web browser and can be used to create awareness about the environmental changes of the location under study. A proof-of-concept prototype has been developed to illustrate the effectiveness of the proposed system

Keywords Cloud Robotics, Open source software, Raspberry Pi, Mobile Robot, GPS.


    Cloud robotics is an emerging field that merges the concepts of cloud technologies and service robots. It is a disruptive technology based on the advantages of rapid fall in costs of servers, data centers, and broadband access, inexpensive cloud storage, and distributed computing. Internet is used to complement the capabilities of the robots by relieving them from on-board computation-intensive tasks and enable them to provide effective services on demand. Robotics is a technology that deals with the design, construction, operation, and application of robots, as well as computer systems for their control, sensory feedback, and information processing. The human operator may manipulate the robot from a distance by sending commands and receiving information via communication network. Robotic systems have brought significant economic and social impacts to human lives over the past few decades. Recently, robotic systems are utilized as data-gathering tools by scientists for a greater understanding of environmental processes. Robots are also being designed to explore deep oceans, to track harmful.

    Recently, researchers have started to merge cloud computing concepts with mobile robotics, e.g., [4], [5]. This approach has been particularly useful in the context of computation-intensive applications like image processing and cognition needed by mobile robots as these tasks take up space, power, and incur high costs. The cost and complexity of performing the basic functionalities such as sensing, actuation, and control in a single robot increases exponentially. Therefore, the cloud robot system efficiently provides different types of support. An interesting related technological development is the emergence of Robots as a Service (RAAS), analogous to system oriented architecture [6].

    In spite of the significant potential of cloud robot systems, much of the research in literature has focused mainly

    on cloud-based operation of robot manipulators or arms. For example, Kehoe, et al [7] have applied the cloud computing concept to a manipulator mounted on a mobile robot system. Their technique performs object recognition, pose estimation and grasping of common household objects with the aid of Google Goggles Image Recognition System and stores the results on a cloud server. Kamei, et al [8] have proposed the use of cloud networked robots for providing multi-location daily activity using on-board manipulators to support elderly and disabled people. Use of vision-based servo control of manipulators with distributed computing has been proposed in [9]. More recently, robotics researchers have turned to the applications of cloud computing in individual and wirelessly networked mobile robot systems. Real-time path planning for mobile robots using computation-intensive evolutionary algorithms on the cloud has been studied in [10]. Use of cloud- based multi-core graphic processing units for analysis of 3D perceptual changes in robot texture images for purposes of navigation has been made in [11].

    A number of mobile robotic systems have been developed in recent years for monitoring climate variables both terrestrial and underwater, harmful algal blooms and volcanoes. Mobile robots with on-board environmental sensors offer several advantages – low cost, ease of automation, wide operational range, and flexibility – in the monitoring of wide geographical areas [12]. Indoor and outdoor environmental monitoring using mobile robots has been considered by several researchers, e.g., [13], [14]. Small mobile robots called Boebots have been built to capture image that will be processed by a cloud setup using Microsoft windows Azure [15].However, these robots are very small in size, and so not well suited for either indoor or outdoor real-world environments.

    A standalone low cost device for transmitting data with touch screen display had been built using Raspberry Pi and Bluetooth [16]. A robot to recognize voice had been developed using Google voice API and Raspberry Pi [17]. Raihan et. al.

    [18] had developed an economical automated toll system that work by processing images using Raspberry Pi. The system was developed as an alternative to the more costly system using RFID.

    In this paper, a robot is designed to move autonomously in the open space and to monitor the environmental conditions. The sensor data collected by the robot are stored in a cloud server that could be also be displayed in a webpage as well. Since very large amounts of spatio-temporal environmental data are collected in the process, a cloud server is used for economical storage, analysis, and retrieval of the data. The cloud environment is set up using OpenStack in Ubuntu Linux.

    The Raspberry Pi microcontroller is used in the robot for communicating with the cloud server, while an Arduino microcontroller is used for control of the robot.


    Air quality and pollution monitoring technologies have so far been quite expensive, and beyond the reach of countries like India. Such monitoring systems have been adhoc or needed stationary constructions, with manual fetching of the data, storage, and retrieval. Even with wireless transmission of round-the-clock data to the server, the measurements are mainly applicable to the immediate vicinity of the station. For example, a recent report in the New York Times reported that for a city of 20 million population New Delhi have only six state of-art monitoring stations [19].

    Researchers at the University of California in Berkeley in USA have developed an urban sensor network to provide real- time, neighborhood-by-neighborhood measurements of carbon dioxide. The prototype network employs 40 sensors spread over a 27 square-mile grid [20]. Though the system uses off- the-shelf environment sensors to lower the cost from $250,000 (~ Rs. 1.5 crores) for a traditional monitoring station to

    $12,500 (~ Rs. 7.5 lakhs) it is still prohibitively expensive to use in India.

    Previously, we have developed a low-cost mobile urban air quality monitoring system for Madurai city [21]. The developed system was fitted in school buses to monitor pollution in the city. More recently, the authors have developed a network of three robots (one master and two slave robots) wirelessly connected to monitor the environment [22].The robots moved around autonomously on a flat surface and submitted the collected data to a cloud server. A laptop computer was fixed in the master robot to communicate with the cloud server.

    In the present work, we have replaced the laptop which is usd for communication with Raspberry Pi, a microcontroller of low cost. The advantage of this proposed system is that the microcontroller is of low power and light weight, and consumes very less power when compared to laptop. The system developed in this project is completely based on open source hardware Arduino and Raspberry Pi and open source software OpenStack for setting up the cloud.

  3. ARCHITECTURE OF SMART CLOUD ROBOT The architecture of the proposed smart cloud robot system

    is shown in Fig. 1. The mobile robot is of wheeled type that is easy to navigate indoors, but can also be used for navigation on smooth outdoor surfaces. The robot may be scaled up in the future with more powerful motors and rubber wheels for operating in uneven outdoor terrains. The robot is made to move in a fixed path using Arduino and GPS. The robot communicates the sensor readings to the cloud server using Raspberry Pi. In this experiment, temperature and humidity sensors were used to observe the changes in the environmental conditions. A LAMP server is setup in an instance of Ubuntu Linux


    The schematic diagram of the mobile robot architecture is shown in Fig. 2.The mobile robot is operated with a gel acid battery powering the 12 V DC servomotors, through an H- bridge motor driver under PWM outputs from the Arduino. A GPS shield is mounted on the Arduino to tag the latitude and longitude coordinates of the robot's position in addition to readings from a temperature/humidity sensor. The Raspberry Pi connected with the Arduino communicates the reading of the sensors to the cloud server through Wi-Fi. The robot is equipped with an ultrasonic sensor to measure the distance between the robot and an obstacle. On detecting an obstacle the robot takes action such as move reverse direction or rotate and then move. Arduino is based on an Atmel AVR processor, with on-board support for analog inputs, analog or pulse width modulation (PWM) outputs, and digital input/output [23].The microcontroller may be interfaced to a personal computer or a Raspberry Pi for programming and data acquisition through a USB port.

    The Arduino board is programmed in a C-like integrated development environment, with built-in example code known as sketches. Extensive built-in libraries are available with custom code for various applications. Arduino can be used for creating interactive objects or environments. The microcontroller boards can be either built by hand with the help of hardware reference designs (CAD files) or purchased preassembled. A number of Arduino boards such as Arduino Uno, Arduino Due, and Arduino Mega are available.

    Temperature sensor and humidity sensors are connected to the board to observe the variables in the environment. The Global Positioning System (GPS) is a satellite based navigation system that sends and receives radio signals. GPS receivers acquire these signals and provide Information. Using GPS technology we can determine location, velocity round the clock in any weather conditions anywhere in the world. We need to interface Arduino Uno with GPS [24]. The location of the robot is tracked in Google maps with Trimble Studio as depicted in Fig. 3.

    Fig. 1. Schematic of Proposed System

    Fig.2. Mobile Robot Control Architecture

    Ultrasonic sensors work on the principle of radar evaluates attributes of a target by interpreting the echoes from radio or sound waves respective [25].In this project, ultrasonic sensor

    is used for obstacle detection. The object sensor is placed in the front side of the robot model to navigate and automatically detect if any obstacle is present. The maximum coverage range of sensor is 2 to 250 centimeters. It has a Broadcom system on a chip (SoC), Which includes a 700 MHz processor, Video Core IV GPU, and a RAM of size 256 MB or 512 MB. It uses an SD card for booting and persistent storage. The Raspberry Pi is a credit-card-sized single-board computer which is used to communicate with the cloud operating system, OpenStack. Raspberry Pi is based on the Linux platform which supports the functionality of cloud environment. The sensor readings are stored in the cloud server once every minute via wireless communication using a Wi-Fi dongle device and Raspberry Pi board.

    Fig. 3. Location of GPS Receiver as Viewed in Trimble Studio


    A private cloud was setup to provide Infrastructure as a Service (IaaS) using OpenStack. OpenStack is a cloud operating system that manages a network of virtual machines and offers computing resources on demand. Flexibility is an important advantage of OpenStack, and it is possible to design the cloud as per the user specifications and resource availability. A web interface is provided to manage the computing resources throughout the datacenter. A cloud was setup on a single machine in the laboratory with Ubuntu operating system to conduct experiments.

    Figure 4 shows the conceptual architecture of an OpenStack

    cloud. The Cloud Dashboard is a user interface for the administrators and clients (robots) to access and automate the resources in the cloud. Typing the host ip address in the browser opens the dashboard of the cloud. The OpenStack dashboard is a graphical interface for administrators and users to access, control and allocate the resources in the cloud [26].The dashboard is just one way to interact with OpenStack resources. It provides an overall view of the size and state of the cloud. Dashboard can be used to create users, projects, and assign users to the project to set limits on the resources. Keystone provides identity service by maintaining a central directory of users mapped to access the OpenStack services and authorizes the users. Neutron is an OpenStack networking system used for managing networks and IP addresses and it ensures that the network will not be a bottleneck in a cloud deployment. The jobs submitted to the cloud platform are processed by Nova, which is the main part of the IaaS. Swift is a scalable redundant storage system. Files are written to multiple disks present throughout the datacenter. The resource usage overview in the dashboard of a cloud setup using a single machine is illustrated in Fig. 5. The number of instances running, usage of virtual CPUs, and RAM are displayed in the dashboard. A Linux instance was setup in the cloud and a LAMP server was made ready. A webpage was created for displaying the environmental data. Only authorized users can login into the webpage. LAMP is a stack comprising Linux, Apache webserver, MySQL relational database, and PHP. These are industrial-strength, open-source software that collectively can be used to develop, deploy and run web applications. After logging in, the user may view the sensor readings shown in Fig. 5.server-side programming platform).A graphical user interface (GUI) is developed for storage and retrieval of the environmental data. For ease of understanding, the values can be shown graphically for periodic intervals such as weeks, months, etc., and comparative summaries provided as column/bar charts or in tabular form.

    Fig. 4. Conceptual Architecture of OpenStack Cloud


    The robot was run and tested in the campus; the readings taken by the robot were submitted to the cloud server and displayed using a webpage. The robot could run smoothly on flat concrete surface and the robot had troubles in moving on

    an uneven surface due to lack of powerful driving motors. Raspberry Pi was mounted on a small robot for collecting as well as performs basic processing of data. Fig. 6 shows the pictorial representation of environmental data collected over a period of four months. Robots of the type proposed here can work effectively in remote places to collect data, alone or in teams. Further on-board cameras may also be mounted on the robots and used to perform surveillance. Statistical analysis of the data variation over space and time can be performed, along with data mining and analytics of the environmental data. As shown in Table 1, the cost of the proposed mobile robot for environmental monitoring is around Rs. 10000. The proposed system is quite cost effective when compared to other existing methods that require more number of hardware accessories.

    Fig.5. Dashboard depicting Utilization of Resources in Cloud


    Fig. 6. Display of Temperature/Humidity on Cloud Server


    In this paper, we have proposed a design of a smart cloud robot to monitor the environmental condition of a remote place. A prototype has been developed and tested in our campus to illustrate the effectiveness of the proposed methodology. The system submits the collected data to the cloud as well as displays it on the web for further investigation. Storage is one of the challenges of the mobile robot, which is being addressed in this contribution.


In further work, the environmental monitoring robot may be extended for intrusion detection. On-board camera may be installed on the robot to capture images which could be submitted to the cloud for real-time processing. The image processing software available in the cloud, such as Google Object Recognition Engine could be used to identify the objects and report to officials if any intruder is found.


  1. M. Trincavelli, S. Reggente, S. Coradeschi, A. Loutfi, H. Ishida and A.J.

    Lilienthal, 2008, "Towards Environmental Monitoring with Mobile Robots,Proc. IEEE/RSJ Int. Conf.on Intelligent Robots and Systems, pp. 22-26 .

  2. M. Dunbabin and L. Marques, 2012, Robotics for Environmental Monitoring", IEEE Robotics and Automation Magazine, 19, pp. 24-39.

  3. C. Kirsch, E. Pereira, R. Sengupta, H. Chen, R. Hansen, J. Huang, F.Landolt, M. Lippautz, A. Rottmann, R. Swick, R. Trummer, and D.Vizzini, 2012, "Cyber-Physical Cloud Computing: The Binding and Migration Problem", Design, Automation & Test in Europe Conference

    & Exhibition (DATE),Dresden, Germany, pp. 1425-1428.

  4. G. Hu, W. P. Tay, and Y. Wen, 2012, "Cloud Robotics: Architecture, Challenges and Applications", IEEE Network, 26, pp. 21-28.

  5. E. Guizzo, 2011, "Robots with their heads in the clouds", IEEE Spectrum, March, pp. 17-18.

  6. Y. Chen, Z. Du, and M. García-Acosta, 2010, "Robot as a Service in Cloud Computing", Proc. IEEE International Symposium on Service Oriented System Engineering, pp. 151-158.

  7. B.Kehoe, M. Akihiro, S. Candido, J. Kuffner, K. Goldberg, 2013,Cloud-based Robot Grasping with Google Object Recognition Engine,IEEE Int. Conf. on Robotics and Automation, pp.4263-4270

  8. K. Kamei, S. Nishio, N. Hagita, M. Sato, 2102, "Cloud networked robotics," IEEE Network, 26, no.3, pp.28-34.

  9. H. Wu, L. Lou, C-C. Chen, S. Hirche, and K. Kühnlenz, 2013, "Cloud- Based Networked Visual Servo Control", IEEE Trans. Industrial Electronics, 60, pp. 554-566.

  10. X. Dai, X. Ning, Z. Yao and H. Shao, 2010, "Integrating Cloud Model in

    Evolutionary Algorithm for Path Planning of Mobile Robots", Proc. IEEE Int. Conf. Information and Automation, Harbin, China, pp. 2352-


  11. N. Ejaz, I. Mehmood, J. J. Lee, S. M. Ji, M. H. Lee, S. Anh, S. W. Baik, 2012, "Detection of 3D Perceptual Changes in Robot Navigation Using

    Cloud Computing", Proc. Cloud Computing and Social Networking,Bandung, Indonesia, pp. 1-4.

  12. M. Dunbabin and L. Marques, 2012, Robotics for environmental monitoring", IEEE Robotics and Automation Magazine, 19, pp. 24-39.

  13. M. Trincavelli, M. Reggente, S. Coradeschi, A. Loutfi, H. Ishida and

    A.J. Lilienthal, 2008, "Towards Environmental Monitoring with Mobile Robots", Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Nice, France, pp. 2210-2216.

  14. J. Wu, Z. Huang, Y. Guan, C. Cai, Q. Wang, Z. Xiao, Z. Zheng, H.Zhang and X. Zhang, 2011, An Intelligent Environmental Monitoring System Based on Autonomous Mobile Robot, Proc. IEEE Int. Conf. on Robotics and Biomimetics, Phuket, Thailand.

  15. S. Rastkar, D. Quintero, D. Bolivar, S. Tosunoglu, 2012, Empowering Robots via Cloud Robotics: Image Processing and Decision Making BoeBots Proc. Florida Conf. on Recent Advances in Robotics, Boca Raton, Florida.

  16. G. S. Sundaram, N.C. Charlotte, B. Patibandala, 4-7 Aril 2013, Bluetooth communication using a touchscreen interface with the Raspberry Pi, Proc. Southeast IEEE conf. Jacksonville, FL.

  17. Chen Hong Lu, Yue Li Hu, 2013, Speech Control System for Robot Based on Raspberry Pi, Advanced Material Research, pp. 791-793.

Leave a Reply

Your email address will not be published. Required fields are marked *