198 research outputs found
TZC: Efficient Inter-Process Communication for Robotics Middleware with Partial Serialization
Inter-process communication (IPC) is one of the core functions of modern
robotics middleware. We propose an efficient IPC technique called TZC (Towards
Zero-Copy). As a core component of TZC, we design a novel algorithm called
partial serialization. Our formulation can generate messages that can be
divided into two parts. During message transmission, one part is transmitted
through a socket and the other part uses shared memory. The part within shared
memory is never copied or serialized during its lifetime. We have integrated
TZC with ROS and ROS2 and find that TZC can be easily combined with current
open-source platforms. By using TZC, the overhead of IPC remains constant when
the message size grows. In particular, when the message size is 4MB (less than
the size of a full HD image), TZC can reduce the overhead of ROS IPC from tens
of milliseconds to hundreds of microseconds and can reduce the overhead of ROS2
IPC from hundreds of milliseconds to less than 1 millisecond. We also
demonstrate the benefits of TZC by integrating with TurtleBot2 that are used in
autonomous driving scenarios. We show that by using TZC, the braking distance
can be shortened by 16% than ROS
An Optimized, Data Distribution Service-Based Solution for Reliable Data Exchange Among Autonomous Underwater Vehicles
Major challenges are presented when managing a large number of heterogeneous vehicles that have to communicate underwater in order to complete a global mission in a cooperative manner. In this kind of application domain, sending data through the environment presents issues that surpass the ones found in other overwater, distributed, cyber-physical systems (i.e., low bandwidth, unreliable transport medium, data representation and hardware high heterogeneity). This manuscript presents a Publish/Subscribe-based semantic middleware solution for unreliable scenarios and vehicle interoperability across cooperative and heterogeneous autonomous vehicles. The middleware relies on different iterations of the Data Distribution Service (DDS) software standard and their combined work between autonomous maritime vehicles and a control entity. It also uses several components with different functionalities deemed as mandatory for a semantic middleware architecture oriented to maritime operations (device and service registration, context awareness, access to the application layer) where other technologies are also interweaved with middleware (wireless communications, acoustic networks). Implementation details and test results, both in a laboratory and a deployment scenario, have been provided as a way to assess the quality of the system and its satisfactory performanceEuropean Commission H2020. SWARMs
European project (Smart and Networking Underwater Robots in Cooperation Meshes), under Grant Agreement
No. 662107-SWARMs-ECSEL-2014-1, partially supported by the ECSEL JU, the Spanish Ministry of Economy
and Competitiveness (Ref: PCIN-2014-022-C02-02)
A distributed architecture for unmanned aerial systems based on publish/subscribe messaging and simultaneous localisation and mapping (SLAM) testbed
A dissertation submitted in fulfilment for the degree of Master of Science.
School of Computational and Applied Mathematics, University of the Witwatersrand, Johannesburg, South Africa, November 2017The increased capabilities and lower cost of Micro Aerial Vehicles (MAVs) unveil big opportunities for a rapidly growing number of civilian and commercial applications. Some missions require direct control using a receiver in a point-to-point connection, involving one or very few MAVs. An alternative class of mission is remotely controlled, with the control of the drone automated to a certain extent using mission planning software and autopilot systems.
For most emerging missions, there is a need for more autonomous, cooperative control of MAVs, as well as more complex data processing from sensors like cameras and laser scanners. In the last decade, this has given rise to an extensive research from both academia and industry. This research direction applies robotics and computer vision concepts to Unmanned Aerial Systems (UASs). However, UASs are often designed for specific hardware and software, thus providing limited integration, interoperability and re-usability across different missions. In addition, there are numerous open issues related to UAS command, control and communication(C3), and multi-MAVs.
We argue and elaborate throughout this dissertation that some of the recent standardbased publish/subscribe communication protocols can solve many of these challenges and meet the non-functional requirements of MAV robotics applications. This dissertation assesses the MQTT, DDS and TCPROS protocols in a distributed architecture of a UAS control system and Ground Control Station software. While TCPROS has been the leading robotics communication transport for ROS applications, MQTT and DDS are lightweight enough to be used for data exchange between distributed systems of aerial robots. Furthermore, MQTT and DDS are based on industry standards to foster communication interoperability of “things”. Both protocols have been extensively presented to address many of today’s needs related to networks based on the internet of things (IoT). For example, MQTT has been used to exchange data with space probes, whereas DDS was employed for aerospace defence and applications of smart cities.
We designed and implemented a distributed UAS architecture based on each publish/subscribe protocol TCPROS, MQTT and DDS. The proposed communication systems were tested with a vision-based Simultaneous Localisation and Mapping (SLAM) system involving three Parrot AR Drone2 MAVs. Within the context of this study, MQTT and DDS messaging frameworks serve the purpose of abstracting UAS complexity and heterogeneity. Additionally, these protocols are expected to provide low-latency communication and scale up to meet the requirements of real-time remote sensing applications. The most important contribution of this work is the implementation of a complete distributed communication architecture for multi-MAVs. Furthermore, we assess the viability of this architecture and benchmark the performance of the protocols in relation to an autonomous quadcopter navigation testbed composed of a SLAM algorithm, an extended Kalman filter and a PID controller.XL201
Avances en sistemas software para robótica con atributos de calidad de servicio adaptativos
En esta Tesis se presenta Nerve, un middleware para sistemas distribuidos y robótica basado en la librería de comunicaciones multiplataforma ACE y el en estándar the Data Distribution Service (DDS). Nerve garantiza la escalabilidad y las calidades de servico (QoS) necesarias para sistemas de tiempo real, pero también permite a los desarrolladores reutilizar la mayoría del código existente y ofrecerles los mecanismos necesarios para desplegar partes de dicho código en tareas distribuidas. Además, Nerve ofrece una infraestructura de monitorización y adaptación. La infraestructura de monitorización permite tener acceso a las métricas del sistema (CPU, memoria, etc.) y a las métricas de usuario (QoS, variables utilizadas en algoritmos, etc.). Para ello se describe un mecanismo de instrumentación automática de código utilizando las herramientas basadas en los compiladores LLVM. Con respecto a la infraestructura de adaptación, ésta se encarga de modificar las QoS para obtener el mejor comportamiento posible del robot con los recursos disponibles en tiempo de ejecución.
También se describen la implementación e integración en Nerve de un mecanismo de comunicaciones basado en petición/respuesta que, junto al original basado en la publicación/suscripción, permite dar soporte al modelo cliente/servidor. Este modelo clásico de comunicaciones se ha utilizado con éxito para integrar Nerve en otros frameworks existentes para robótica.
Finalmente, los beneficios del uso de Nerve se verán reflejados a través de su aplicación en sistemas robóticos reales.Los robots sociales son robots autónomos que trabajan en entornos sociales reales donde tienen que interactuar con seres humanos e incluso con otros robots. La implementación de estos sistemas robóticos está moviendose hacia el uso de frameworks basados en componentes, los cuales se centran en la reusabilidad y en la evolución del software. De esta manera, el software de un robot está compuesto por entidades binarias (componentes) distribuidos que se comunican entre sí utilizando un middleware de comunicaciones, que permite abstraer al desarrollador de los detalles de bajo nivel y comunicar sistemas heterogéneos. Si embargo, el uso de estos frameworks basados en componentes y middleware para robótica implica una curva de aprendizaje muy pronunciada, además de introducir nuevos desafíos a los desarrolladores para poder satisfacer los requisitos de alto rendimiento y otras calidades de servicio. El análisis y la verificación de esas propiedades no funcionales debe incluir formas de monitorizar los diferentes valores del sistema. Normalmente, las herramientas de monitorización para robótica incluyen sólo información sobre el estado de los componentes y la acción típica a realizar, en caso de detectar que no se satisface algún requisito, es parar el software, lo que suele implicar parar el robot. Obviamente, este escenario no es la mejor opción para los robots sociales, a menos que introduzcamos un mecanismo que garantice que el sistema de control del robot se autoadaptará y reparará él mismo si es necesario (y posible). De esta forma, aparece un nuevo requisito: un sistema de control de un robot debe de ser tolerante a fallos, permitiendo auto-adaptarse, es decir: detectar cambios significativos, decidir cómo reaccionar, y actuar para ejecutar tales decisiones
AGNI: an API for the control of automomous service robots
With the continuum growth of Internet connected devices, the scalability of the
protocols used for communication between them is facing a new set of challenges. In
robotics these communications protocols are an essential element, and must be able to
accomplish with the desired communication.
In a context of a multi-‐‑agent platform, the main types of Internet communication
protocols used in robotics, mission planning and task allocation problems will be
revised. It will be defined how to represent a message and how to cope with their
transport between devices in a distributed environment, reviewing all the layers of the
messaging process.
A review of the ROS platform is also presented with the intent of integrating the
already existing communication protocols with the ServRobot, a mobile autonomous
robot, and the DVA, a distributed autonomous surveillance system. This is done with
the objective of assigning missions to ServRobot in a security context
Comparison of DDS, MQTT, and Zenoh in Edge-to-Edge and Edge-to-Cloud Communication for Distributed ROS 2 Systems
The increased data transmission and number of devices involved in
communications among distributed systems make it challenging yet significantly
necessary to have an efficient and reliable networking middleware. In robotics
and autonomous systems, the wide application of ROS\,2 brings the possibility
of utilizing various networking middlewares together with DDS in ROS\,2 for
better communication among edge devices or between edge devices and the cloud.
However, there is a lack of comprehensive communication performance comparison
of integrating these networking middlewares with ROS\,2. In this study, we
provide a quantitative analysis for the communication performance of utilized
networking middlewares including MQTT and Zenoh alongside DDS in ROS\,2 among a
multiple host system. For a complete and reliable comparison, we calculate the
latency and throughput of these middlewares by sending distinct amounts and
types of data through different network setups including Ethernet, Wi-Fi, and
4G. To further extend the evaluation to real-world application scenarios, we
assess the drift error (the position changes) over time caused by these
networking middlewares with the robot moving in an identical square-shaped
path. Our results show that CycloneDDS performs better under Ethernet while
Zenoh performs better under Wi-Fi and 4G. In the actual robot test, the robot
moving trajectory drift error over time (96\,s) via Zenoh is the smallest. It
is worth noting we have a discussion of the CPU utilization of these networking
middlewares and the performance impact caused by enabling the security feature
in ROS\,2 at the end of the paper.Comment: 19 pages, 8 figures. Submitted to the Journal of Intelligent &
Robotic Systems. Under revie
Service Oriented Robotic Architecture for Space Robotics: Design, Testing, and Lessons Learned
This paper presents the lessons learned from six years of experiments with planetary rover prototypes running the Service Oriented Robotic Architecture (SORA) developed by the Intelligent Robotics Group (IRG) at the NASA Ames Research Center. SORA relies on proven software engineering methods and technologies applied to space robotics. Based on a Service Oriented Architecture and robust middleware, SORA encompasses on-board robot control and a full suite of software tools necessary for remotely operated exploration missions. SORA has been eld tested in numerous scenarios of robotic lunar and planetary exploration. The experiments conducted by IRG with SORA exercise a large set of the constraints encountered in space applications: remote robotic assets, ight relevant science instruments, distributed operations, high network latencies and unreliable or intermittent communication links. In this paper, we present the results of these eld tests in regard to the developed architecture, and discuss its bene ts and limitations
FastCycle: A Message Sharing Framework for Modular Automated Driving Systems
Automated Driving Systems (ADS) have rapidly evolved in recent years and
their architecture becomes sophisticated. Ensuring robustness, reliability and
safety of performance is particularly important. The main challenge in building
an ADS is the ability to meet certain stringent performance requirements in
terms of both making safe operational decisions and finishing processing in
real-time. Middlewares play a crucial role to handle these requirements in ADS.
The way middlewares share data between the different system components has a
direct impact on the overall performance, particularly the latency overhead. To
this end, this paper presents FastCycle as a lightweight multi-threaded
zero-copy messaging broker to meet the requirements of a high fidelity ADS in
terms of modularity, real-time performance and security. We discuss the
architecture and the main features of the proposed framework. Evaluation of the
proposed framework based on standard metrics in comparison with popular
middlewares used in robotics and automated driving shows the improved
performance of our framework. The implementation of FastCycle and the
associated comparisons with other frameworks are open sourced
Distributed Robotic Systems in the Edge-Cloud Continuum with ROS 2: a Review on Novel Architectures and Technology Readiness
Robotic systems are more connected, networked, and distributed than ever. New
architectures that comply with the \textit{de facto} robotics middleware
standard, ROS\,2, have recently emerged to fill the gap in terms of hybrid
systems deployed from edge to cloud. This paper reviews new architectures and
technologies that enable containerized robotic applications to seamlessly run
at the edge or in the cloud. We also overview systems that include solutions
from extension to ROS\,2 tooling to the integration of Kubernetes and ROS\,2.
Another important trend is robot learning, and how new simulators and cloud
simulations are enabling, e.g., large-scale reinforcement learning or
distributed federated learning solutions. This has also enabled deeper
integration of continuous interaction and continuous deployment (CI/CD)
pipelines for robotic systems development, going beyond standard software unit
tests with simulated tests to build and validate code automatically. We discuss
the current technology readiness and list the potential new application
scenarios that are becoming available. Finally, we discuss the current
challenges in distributed robotic systems and list open research questions in
the field
- …