Functional Architecture Using ROS for Autonomous Uavs

Functional Architecture Using ROS for Autonomous Uavs

Functional Architecture using ROS for Autonomous UAVs Johvany Gustave, Jamy Chahal and Assia Belbachir Department of Aerospace Systems, IPSA, Ivry-Sur-Seine, France Keywords: Functional Architecture, UAV, Quadrotor, ROS. Abstract: Unmanned Aerial Vehicles (UAVs) are used for several applications due to their stability and versatility. In this paper, we developed a functional architecture for autonomous UAVs using Robot Operating System (ROS). Due to its flexibility and its easy-to-use implementation, our architecture simplifies embedding autonomous behaviours for any kind of UAV. This hierarchical architecture is divided into three layers: decision, control and perception layer. In this paper, all the layers and their implementation under ROS are explained and detailed. 1 INTRODUCTION UAVs need a robust functional organization in or- der to perform an interaction between the sense (sen- Nowadays, the application of Unmanned Aerial Ve- sors), the flight’s stabilization while reaching the de- hicles (UAV) also called drones covers a growing sired location (controller) and the decision making scope. Drones are especially prized for being cost (depending on the strategy). The organization rely effective, stable, semi or fully autonomous and able on a sturdy architecture certifying the coaction’s ef- to carry loads. Indeed, with only some motors gener- ficiency of all software components and the system’s ating lift in the same direction, control theory allows robustness. Thus, we can find in the literature several drones to perform specific behaviour like hovering, types of functional architectures such as the subsump- going to a specific position, following a path, turn- tion architecture (Brooks, 1986), hierarchical archi- ing in circle around a point etc. Besides, drones can tecture (Alami et al., 1998), etc. More details on the embed several sensors such as LIDAR, camera mono, pros and cons for UAV’s architecture was explained stereo, or sonar depending on their mission. Several in (Asmaa et al., 2019). drone missions such as search and rescue (Misra et al., In this article, we have decided to develop a hierar- 2020), monitoring (Wang et al., 2019) or exploration chical architecture for its robustness and its easy im- (Maciel-Pearson et al., 2019) has been developed and plementation using Robot Operating System (ROS) experimented. This hierarchical architecture allows our UAV to or- In (Misra et al., 2020), the authors developed a ganize the commands into three levels. Each level has swarm cooperative UAVs to perform selective explo- its own role and its own importance. Higher is the ration. This approach is applied in search and res- level, higher is its goal. High level (decision) has in- cue to improve ground survivor’s detection. In (Wang formation related to the whole mission thus it has a et al., 2019), the authors propose the use of UAV with higher reasoning time. However the lower level has a high resolution camera to monitore the ocean envi- reduced time to reason but is more reactive in a short ronment. The method of superpixel and Convolu- term mission, such as avoiding obstacles. The aim of tional Neural Networks (CNNs) is used to improve this framework is to be flexible for any kind of UAV the supervision of seaweed proliferation. In (Maciel- and missions. We rely on Gazebo’s simulator 1 to val- Pearson et al., 2019), the authors developed an au- idate the proposed architecture. tonomous UAV to explore an outdoor environment ROS is an open source Meta-Operating System with deep reinforcement learning. This approach use providing an ecosystem and a set of tools for robotics Deep Q-Network to reduce exploration time. application. ROS allows the communication between UAVs are also used for missions which are dan- programs, called nodes. This communication is cen- gerous and locations which are hard to access for hu- tralized around a single node called the master. Each mans. To perform these missions, UAVs can be re- motely operated or fully autonomous. Autonomous 1http://gazebosim.org 506 Gustave, J., Chahal, J. and Belbachir, A. Functional Architecture using ROS for Autonomous UAVs. DOI: 10.5220/0009888305060512 In Proceedings of the 17th International Conference on Informatics in Control, Automation and Robotics (ICINCO 2020), pages 506-512 ISBN: 978-989-758-442-8 Copyright c 2020 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved Functional Architecture using ROS for Autonomous UAVs node shares continuously through topic a structured data called message. Nodes can also use services to send request with the client-server relationship. Due to its structure, ROS implementation is robust, exten- sible and benefits from graphic tools analysis. Developing a functional architecture in a stable framework such as ROS, ensures to get a reliable sys- tem. This association has been done with the sub- sumption architecture in (Li et al., 2016; Yi et al., 2016), and with the T-Rex architecture (Mcgann et al., 2008). Hierarchical architecture has only been ex- perimented with ROS for domestic robot’s planning (Janssen et al., 2013). Nonetheless, this implementa- tion was generic and not developed for UAVs. In this paper we present our developed architec- ture which is divided into three layer: perception (lower layer), control (middle layer) and decision layer (higher layer). This architecture is implemented for the fire localization use case. The validation of the approach was already done Figure 1: Illustration of the embedded developed architec- in (Belbachir and Escareno, 2016), however, the ar- ture for the quadrotor. chitecture was not implemented into an UAV. Thus, in this article, we propose to extend the previous explo- we model the dynamic of our quadrotor. In or- ration strategy into our functional architecture based der to represents the quadrotor dynamic model, on ROS. let us consider e = [x y z f q y ]T as the state of This paper is organized as follows. Section II ex- the quadrotor in the fixed earth coordinate frame. plains the design of the framework for UAV’s applica- Taking into account Newton’s second law and Eu- tion. Section III details how this framework is imple- ler method (Benic et al., 2016), we approximate mented. Section IV provides conclusions and future the dynamical model of the quadrotor as follow: work to be done. 8 x¨ = U1 (cos(y)sin(q)cos(f) + sin(y)sin(f)) > m > y¨ = U1 (sin( )sin( )cos( ) − cos( )sin( )) > m y q f y f 2 FUNCTIONAL > U1 < z¨ = m cos(q)cos(f) − g ARCHITECTURE FOR f¨ = U2 Ixx > U > q¨ = 3 AUTONOMOUS QUADROTOR > Iyy > U : y¨ = 4 Izz We developed a hierarchical architecture for an au- (1) tonomous UAV. We used for this architecture an ex- ample of a developed quardrotor. The architecture is where represented in Figure 1. The three layers of the archi- U1 represents the total thrust, tecture are explained from down to up as follow: U2, U3 and U4 represent the torque applied to x, y and z axis respectively. • Perception. This layer contains exteroceptive These forces are directly linked to the commands sensing, including temperature sensing for the ap- Ui: plication at hand i.e. forest-fire localization, and measurement of quadrotor pose. Several sensors 8 4 > U1 = ∑i=1 Fi can be added in this layer for other kind of mis- > < U2 = l(F2 − F4) sion. (2) U3 = l(F1 − F3) > • Controller. The middle layer consists of outer : U4 = c(F1 − F2 + F3 − F4) and inner control loops. Quadrotor pose infor- mation from perception layer and is used by the with l the distance between each propeller and the control layer to calculate and apply the desired center of gravity of the quadrotor, b the thrust co- d motion commands to the quadrotor. To do so, efficient, c = b and d the drag coefficient. 507 ICINCO 2020 - 17th International Conference on Informatics in Control, Automation and Robotics Fi represents the applied force to the rotor i. Con- sidering a quadrotor, i 2 [1;2;3;4]. This force is 2 proportional to wi (the square of the angular ve- locity of the rotor i) and is computed as follow: 2 Fi = bwi where b represents the thrust coefficient. We then, compute the control law. Kotarski et al. (Kotarski et al., 2016) explain the control law the authors applied to their drone. As shown in figure 2, the controller is divided in three parts: first, the outer loop, which retrieves the desired Figure 2: Illustration of the Quadrotor control diagram. The pose (xd;yd;zd;yd) from a task and the current outer loop defines the desired roll and pitch angles sent as state of the drone (x;y;z;f;q;y) from sensors and inputs to the inner loop in order to compute the commands returns the desired roll and pitch angles fd and qd sent to the quadrotor motors. respectively. 3.1 Robot Operating System Once you determine these desired angles, you proceed to the inner control loop. This loop con- Robot Operating System (ROS) is an open source en- sists of applying a PID controller, as explained by vironment that allows us to create complex and ro- (Kotarski et al., 2016). Here are the 4 commands: bust robot behaviour using a set of libraries and tools. Thus, a main program can be divided in several sub- R processes that will run in parallel and communicate 8 U1 = K pzez + Kiz ez + Kdze˙z + mg > R together. < U2 = K pfef + Kif ef + Kdfe˙f R U3 = K pqeq + Kiq eq + Kdqe˙q :> R Nodes. Nodes represent processes. Each of them U4 = K pyey + Kiy ey + Kdye˙y (3) has a specific task in order to improve the efficiency of the overall system. The communication between with ei = ides − imes, i 2 fz;f;q;yg.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us