Fig 4 - uploaded by Micael S. Couceiro
Content may be subject to copyright.
Source publication
This article presents the full integration of compact educational mobile robotic platforms built around an Arduino controller board in the Robotic Operating System (ROS). To that end, a driver interface in ROS was created to drastically decrease the development time, providing hardware abstraction and intuitive operation mode, allowing researchers...
Contexts in source publication
Context 1
... though most platforms referred in section II- A provide open source software, they usually require a slow learning curve and the hardware has limited expandability. Arduino solutions have recently appeared in the market to work around such issues. For this reason, our platforms were built around an Arduino control board [6] (Fig. 2), which accesses the motor encoders and other information from the power motor driver, like temperature and battery state, being also able to send commands to the motors, read sonar information and exchange messages natively through Zigbee. Although this section briefly describes the platforms assembled in our research laboratory, the proposed driver could be applied to any other Arduino-based platform such as the eSwarBot [11], the Bot’n Roll OMNI 27 and several others ( cf. , [2]). The Arduino-based platforms under consideration, namely the TraxBot v1 and v2 and the Stingbot are depicted in Fig. 3. All these platforms’ processing units consist of Arduino Uno boards, which include a microcontroller ATmega 328p that controls the platforms motion through the use of the Bot’n Roll OMNI-3MD motor driver. 27 As for power source, two packs of 12 V 2300 mAh Ni-MH batteries ensure good energy autonomy to the robots (around 2–3 h with a netbook atop). For distance sensing, three Maxbotix Sonars MB1300 with a range of approximately 6 m were used. However, and as experimental results depict in Section 4, the sensing capabilities of the platforms can be easily upgraded with other sensors, e.g., laser range finders, RGB depth sensors (e.g., Kinect), temperature, dust and alcohol sensors, etc. Moreover, the platforms have the ability to also include a netbook on top of an acrylic support, which extends the processing power and provides more flexibility. In our case, the ASUS eeePC 1025C has been used due to its reduced price and size. The netbook provides Wireless Wi-Fi 802.11 b/g/n communication to the robot and is dedicated to run ROS onboard, providing the tools and means for enhanced control of the robot. Additionally, the platforms are also equipped with an Xbee Shield from Maxstream, consisting on a ZigBee communication module with an antenna attached on top of the Arduino Uno board as an expansion module. This Xbee Series 2 module is powered at 2 mW having a range between 40 m and 120 m, for indoor and outdoor operation, respectively. Having specified the hardware and the platform electronics, the modular control architecture of these robots is summarized in Fig. 4. As Fig. 4 depicts, the Arduino Uno board is used as the central component of the system. The sonars range finders connect to the Arduino board using its analog inputs. As for the connection to the Bot’n Roll OMNI-3MD motor driver, the pins A4 and A5 are used as I2C peripheral. The Bot’n Roll motor driver has the ability to control the motion of the platform by benefiting from a PID controller for both velocity (linear and angular) and position of the motors. The feedback is given by the motors integrated encoders. The other analog and digital ports available can be used to integrate more sensors. The USB port of the Arduino board connects to the netbook, receiving (RX) and transmiting (TX) TTL serial data, which is decoded using a USB-to- TTL serial chip. It is also possible to send and receive information wirelessly, by benefiting from a ZigBee shield, or other shields that can be mounted on top of the Arduino board, providing a wireless ...
Context 2
... though most platforms referred in section II- A provide open source software, they usually require a slow learning curve and the hardware has limited expandability. Arduino solutions have recently appeared in the market to work around such issues. For this reason, our platforms were built around an Arduino control board [6] (Fig. 2), which accesses the motor encoders and other information from the power motor driver, like temperature and battery state, being also able to send commands to the motors, read sonar information and exchange messages natively through Zigbee. Although this section briefly describes the platforms assembled in our research laboratory, the proposed driver could be applied to any other Arduino-based platform such as the eSwarBot [11], the Bot’n Roll OMNI 27 and several others ( cf. , [2]). The Arduino-based platforms under consideration, namely the TraxBot v1 and v2 and the Stingbot are depicted in Fig. 3. All these platforms’ processing units consist of Arduino Uno boards, which include a microcontroller ATmega 328p that controls the platforms motion through the use of the Bot’n Roll OMNI-3MD motor driver. 27 As for power source, two packs of 12 V 2300 mAh Ni-MH batteries ensure good energy autonomy to the robots (around 2–3 h with a netbook atop). For distance sensing, three Maxbotix Sonars MB1300 with a range of approximately 6 m were used. However, and as experimental results depict in Section 4, the sensing capabilities of the platforms can be easily upgraded with other sensors, e.g., laser range finders, RGB depth sensors (e.g., Kinect), temperature, dust and alcohol sensors, etc. Moreover, the platforms have the ability to also include a netbook on top of an acrylic support, which extends the processing power and provides more flexibility. In our case, the ASUS eeePC 1025C has been used due to its reduced price and size. The netbook provides Wireless Wi-Fi 802.11 b/g/n communication to the robot and is dedicated to run ROS onboard, providing the tools and means for enhanced control of the robot. Additionally, the platforms are also equipped with an Xbee Shield from Maxstream, consisting on a ZigBee communication module with an antenna attached on top of the Arduino Uno board as an expansion module. This Xbee Series 2 module is powered at 2 mW having a range between 40 m and 120 m, for indoor and outdoor operation, respectively. Having specified the hardware and the platform electronics, the modular control architecture of these robots is summarized in Fig. 4. As Fig. 4 depicts, the Arduino Uno board is used as the central component of the system. The sonars range finders connect to the Arduino board using its analog inputs. As for the connection to the Bot’n Roll OMNI-3MD motor driver, the pins A4 and A5 are used as I2C peripheral. The Bot’n Roll motor driver has the ability to control the motion of the platform by benefiting from a PID controller for both velocity (linear and angular) and position of the motors. The feedback is given by the motors integrated encoders. The other analog and digital ports available can be used to integrate more sensors. The USB port of the Arduino board connects to the netbook, receiving (RX) and transmiting (TX) TTL serial data, which is decoded using a USB-to- TTL serial chip. It is also possible to send and receive information wirelessly, by benefiting from a ZigBee shield, or other shields that can be mounted on top of the Arduino board, providing a wireless ...
Similar publications
This paper deals with a method for building a mobile robot in order to transform the material into a practical guide for beginners in the study of mobile robotics. The project is divided into layers that can define the topics related to the areas of knowledge that will be used in carrying out the project. These areas are the mechanics, electronics...
Citations
... REV has developed multiple such systems, which have supported research for over ten years, with evolution enabled by the increasing availability of compact, high-performance computing hardware [20], [24], [25]. As ROS has evolved as the de-facto standard for such projects [26], we leverage the ecosystem, but in doing so, introduce potential safety and reliability problems managed by the techniques described in this paper. ...
This paper presents an analysis and implementation of a robust autonomous driving system for an electric passenger shuttle in shared spaces. We present results of a risk assessment for our vehicle scenario and develop a flexible architecture that integrates safety features and optimises open-source software, facilitating research and operational functionality. Identifying limitations of the Robot Operating System (ROS) framework, we incorporate our own control measures for autonomous, unsupervised operation with enhanced intelligence. The study emphasises algorithm selection based on application requirements to ensure optimal performance. We discuss system improvements, including monitoring node implementation and localisation algorithm selection. Future work should explore transitioning to a real-time operating system (RTOS) and establishing standardised software engineering practices for consistent reliability. Our findings contribute to effective autonomous shuttle systems in shared spaces, promoting safer and more reliable transportation solutions.
... Robot operating system (ROS) has been utilized as a framework for developing the robot application of this study. The developed robot in this work combines various hardware pieces into a unified ROS network and utilizes existing control codes and drivers [24,25]. For this project, ROS distribution Indigo Igloo package was used, as some beneficial control packages are available with this version. ...
This paper presents various perspectives on designing and implementing a communication platform for a teleoperated mobile robot. The deployment of a communication network for a mobile robot and the integration of robot components in the developed communication platform are discussed in this article. A Wi-Fi-based communication network has been established, and to secure remote control over long distances, Internet-based communication via the 4G protocol has been launched using a virtual private network setup. Since an unstable network can damage the robot or the surrounding environment, an algorithm has been developed to monitor the state of the network connection through different protocols. The developed algorithm is able to detect network failure independently of the wireless communication technology used and notify the system of any disruptive communication. The robot's primary reactions to connection failure have been programmed to keep the robot under control until the communication with the control station is restored. Various experiments were carried out to validate the performance of the designed algorithm and statistical analysis was performed for each experiment. One of the main contributions of this study is the development of an algorithm for communication between the mobile robot and the control station based on both Wi-Fi and 4G, which is capable to keep the robot behavior safe and reliable in the presence of an unstable network or connection failure.
... Esta lógica de instrucciones envía la información a la CPU del robot donde se ejecutan todas las acciones correspondientes, sumado a esto, el controlador actúa como puente entre los demás elementos del robot, pues, recibe información de los sensores y envía información a los actuadores para que realicen los movimientos dependiendo de las instrucciones previas, por último, una vez el dispositivo está en la posición deseada, el controlador envía una señal al actuador final para que se realice la tarea asignada [39]. El tipo de controlador más utilizado en la industria son los Controladores Lógicos Programables (PLC), mientras que, en la academia, se utilizan placas de desarrollo Arduino u ordenadores de placa reducida denominados Raspberry Pi, por su bajo precio y prestaciones [40] (Figura 2). ...
En la actualidad, los sistemas robóticos industriales han tomado gran importancia en la sociedad, debido a que se utilizan en muchos dominios como la robótica de servicios, la industria de manufactura y las ciencias de la salud, entre otros. Sin embargo, hay un aumento en la complejidad del software requerido por parte de estos sistemas electromecánicos. Como respuesta, las universidades han diseñado programas de formación relacionados con esta área de conocimiento. En particular, la construcción de robots en el ámbito académico se ha centrado en la realización de prototipos, que permiten a los estudiantes comprender el dominio y sus principales bases teóricas y prácticas. Estos prototipos suelen utilizar microcontroladores (Arduino o Raspberry Pi) para dotar de inteligencia a los dispositivos electrónicos, lo que permite emular el desarrollo de software en la industria y cómo influye en el hardware subyacente. Aunque se han realizado esfuerzos para incorporar metodologías de reutilización de software en el dominio de Arduino, no se reportan muchas investigaciones que lo hagan en robots industriales que utilicen estos microcontroladores. Por lo tanto, se hace evidente la necesidad de fomentar y aplicar enfoques de reutilización que mejoren el desarrollo de software para robots industriales con Arduino, de manera que los desarrolladores (estudiantes) puedan beneficiarse de la reutilización planificada, además, de entender y familiarizarse con estos enfoques de ingeniería de software desde su formación académica, permitiendo así que la reutilización en la industria sea más factible en estos dispositivos cuando sea necesaria. Para resolver el problema planteado, se propuso como solución una línea de productos de software (IRArduino-SPL) enfocada en robots industriales con Arduino, desarrollada a través de dos iteraciones dentro de este enfoque de reutilización, la primera para observar la viabilidad de la propuesta en el dominio y la segunda para refinar la línea en base a la experiencia adquirida e incrementar el nivel de abstracción. Posteriormente, IRArduino-SPL demostró su viabilidad en el dominio mediante una prueba de concepto y su utilidad en términos de reutilización a través de un estudio de caso, logrando reutilizar aproximadamente entre el 38 y el 41% del total de las líneas de código necesarias para el funcionamiento de un robot industrial con Arduino.
... An ultrasonic sensor is an instrument that measures the distance to an object using ultrasonic sound waves. An ultrasonic sensor uses a [5] transducer to send and receive ultrasonic pulses that relay back information about an object's proximity. ...
One of the concerned areas today for the usage of robots is military. It is known that a lot of military organizations are taking the help of robots to perform highly dangerous jobs. They consist of many kinds of sensors and have many other internal applications based on the usage. Some of the most advanced robots are now equipped with cameras that provide live footage, grippers and integrated systems. There are various shapes of the robot based on the application of the robots. To sense the surroundings in a better way, while protecting the lives of humans, this robot would be found useful in defense applications.
... To sum up, in order to achieve the above stated goals, the open source robot operating system ROS was finally chosen in this study through the later research(Robot Operating System). With the grasping of target items on the production line as the application background, the control System platform [6] was built, the control System was designed and the corresponding simulation and physical control experiments were carried out. ...
Aiming at the problem of mechanized and repeated parts grasping, and aiming to reduce the development cost, this study added an end-effector and designed a ROS-based grasping robot control system on the basis of fully analyzing the structure and workflow of the robot. The grasping robot can be controlled and monitored in real time by operating on the RVIZ interface. According to the needs and process of grasping work, the control system process design and control system programming of the robot are completed. Subsequent simulation experiments and real object control experiments show that the control system has high robustness and real-time performance. The control system can meet the task of mechanization and repeated parts grasping, and can effectively improve the production efficiency, enhance the competitiveness of enterprises, and reduce the cost of enterprises.
... REV has developed multiple such systems, which have supported research for over ten years, with evolution enabled by the increasing availability of compact, high-performance computing hardware [20], [24], [25]. As ROS has evolved as the de-facto standard for such projects [26], we leverage the ecosystem, but in doing so, introduce potential safety and reliability problems managed by the techniques described in this paper. ...
... In the last years, Robot Operating System (ROS) is stablished as a robotic middleware, that is, a collection of frameworks for software development of robots [7]. Despite not being an operating system, ROS provides standard services such as hardware abstraction, control of low-level devices, etc. Besides, ROS is free software under BSD license terms and has been established as the standard OS for robots, widely used in educational Robotics, where most manufacturers offer libraries to work with their robots for free, [8,9]. ...
... Arduino is an open-source platform used for building electronics projects [12]. Arduino consists of both a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on our computer, used to write and upload computer code to the physical board. ...
In today's technology development, mobile robotics plays a vital role in many aspects because they are used to operate in hazardous and urban environments[1]. Some of the mobile robots are designed to operate only on natural terrains, but some other also for rough terrains and artificial environments. In the present day technology, it is necessary to monitor and control the robot from everywhere. Although many methods for remotely controlled robots have been developed such as serial joysticks and RF communication but these methods have the problem such as line of sight propagation and limited distance. There is an advanced method for robotic control using the DTMF technology. DTMF (Dual Tone Multi Frequency) is one of the most widely used wireless controlling technologies. In the present work, the robot is controlled by a mobile phone that makes a call to the mobile phone attached to the robot. In the course of a call, if any button is pressed, a tone corresponding to the button pressed is heard at the other end of the call, this tone is called "Dual Tone Multiple-Frequency" (DTMF) tone. The output of the mobile is given to the decoder IC MT8870 which is helpful in exciting the motor to rotate that is connected to the ARDUINO UNO microcontroller in order to make the movement of the robot. The robot is also equipped with different sensors for industrial monitoring and information from sensors will be transmitted continuously to the mobile using GSM technology[2]. Experimental trials showed that the implementation of the behavior control systems was successful.
... The use of an open source software is the best model for dissemination of this initiative. Moreover, Arduino solutions with robotics have been demonstrated in [3] to be fully compatible by overcoming hardware limitations in terms of expandability. This allows compatibility with the EV3 which is also an open source making it easily available to all interested parties and allows network programmability ensuring network flexibility. ...
... Even though the AVR R ⃝ is adopted as CPU, engineers do not need to know kind of the CPU due to superior IDE and good compatible interface design. Even though Arduino R ⃝ Uno is used for beginner use well [14] [15], SRAM memory of 2 kB is insufficient for teaching materials of control engineering. Large memory is often necessary to collect chronological order data. ...
... Since Scilab provides a toolbox to connect to the Arduino R ⃝ , cooperation of them is very easy. Furthermore, engineers make easily the HILS (Hardware In the Loop Simulation) environment using Scilab and the Arduino R ⃝ [15]. ...
This paper proposes a teaching method and material to learn the control engineering in an industrial company. It is very important to teach engineers who have knowledge of control engineering in a company which is developing high precision equipment. However, there were not teaching curriculum and material that are suitable for beginner and intermediate engineers. Particularly, it is important the teaching material is low cost and linear system. Moreover, it is good to be the teaching material that is able to control with less programs. This paper proposes the one axis stage system that adopts Arduino® which is low-priced microcomputer for education and hobby. Arduino® is suitable for education of beginner and intermediate engineers because it can control peripheral devices with less programs. Then, engineers are not confused by making complicate programs. Therefore, engineers can learn the basics of control engineering surely because the one axis stage system is comprised of only linear elements. Here, even though the low-priced position sensor has a non-linear characteristic, it seems to be the linear sensor because it is linearized and encapsulated by Lagrange interpolation method. Engineers attending the lecture do not need to care non-linearity. This paper describes the one axis stage system and the teaching curriculum using the one axis stage. Then, this paper describes growing up of an engineer via developing of the active damping system. An engineer improved a repeatability of measurement accuracy of the LSI line width by developing of an active damping system.