版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LSwarm: Effi cient Collision Avoidance for Large Swarms with Coverage Constraints in Complex Urban Scenes Senthil Hariharan Arul1, Adarsh Jagan Sathyamoorthy1, Shivang Patel2, Michael Otte2, Huan Xu2, Ming C Lin3, and Dinesh Manocha4 AbstractIn this paper, we address the problem of collision avoidan
2、ce for a swarm of UAVs used for continuous surveillance of an urban environment. Our method, LSwarm, effi ciently avoids collisions with static obstacles, dynamic obstacles and other agents in 3-D urban environments while considering coverage constraints. LSwarm calculates collision avoiding velocit
3、ies that (i) maximize the conformity of an agent to an optimal path given by a global coverage strategy and (ii) ensure suffi cient resolution of the coverage data collected by each agent. Our algorithm is formulated based on ORCA (Optimal Reciprocal Collision Avoidance) and is scalable with respect
4、 to the size of the swarm. We evaluate the coverage performance of LSwarm in realistic simulations of a swarm of quadrotors in complex urban models. In practice, our approach can compute collision avoiding velocities for a swarm composed of tens to hundreds of agents in a few milliseconds on dense u
5、rban scenes consisting of tens of buildings. I. INTRODUCTION Recent advances in multi-rotor UAVs have created new ar- eas of application, including surveillance, search and rescue, and monitoring. Continuous surveillance involves gathering sensory data (such as from a camera) from all regions in an
6、area or volume of interest by traversing a path optimized for maximum coverage while accounting for static and dynamic obstacles 1. For applications such as surveillance, using a single UAV/agent may not be effective when time, battery capacity, reliability, and coverage performance are considered.
7、A solution to this problem is to use a swarm of agents to perform surveillance, where each agent follows an optimal path provided by a global coverage strategy that maximizes the covered area or the information gathered from the environment. We use “optimal coverage path” or “global coverage path” t
8、o refer to this global path in this paper. Many techniques have been proposed that have formulated this optimal coverage path for multi-agent systems, while ThisworkwassupportedbyDARPAcooperativeagreement HR00111820028 as part of DARPA OFFSET, ARO grant W911NF- 19-1- 0069, and Intel. 1Authors arewit
9、htheDepartmentofElectricalandComputer Engineering,UniversityofMaryland,CollegePark.sarul1, 2Authors arewiththeDepartmentofAerospaceEngineering, UniversityofMaryland,CollegeParkspatel43, otte, 3Author is with the Department of Computer Science, University of Maryland, Coll
10、ege P 4Author is with the Department of Computer Science, and Electri- cal and Computer Engineering, University of Maryland, College Park Fig. 1: Simulation of 30 quadrotors surveying our “High- Dense” urban environment using LSwarm for collision avoid- ance with agents,
11、 dynamic obstacles and static obstacles while considering constraints on coverage. considering collision avoidance 2, 3, 4, 5, 6. How- ever, existing algorithms either ignore collisions between the swarm agents and dynamic obstacles in the environment 2, 4, or do not provide solutions that can be sc
12、aled to hundreds of agents. Moreover, making an agent hover to avoid collision would fail when multiple dynamic obstacles approach head-on. When an agent encounters large numbers of dynamic ob- stacles, a haphazard maneuver to avoid collisions will again lead to loss of valuable data on the ground.
13、In addition, the resolution of the gathered data must be considered to ensure its usefulness. Main Contributions: We present LSwarm, a local collision avoidance method for quadrotor swarms performing contin- uous surveillance of large, complex 3-D urban environments (see Fig.1). LSwarm builds on ORC
14、A 7 (a Velocity Obstacle based collision avoidance method), and to the best of our knowledge, it is the fi rst implementation that considers all of the following: (a) Collision avoidance with agents for example, 27 uses a combination of boustrophedon and A* to, respectively, (a) perform a search swe
15、ep in unknown terrain, and (b) optimally traverse the known terrain. Using lawnmower sweep in urban environments provides a unique set of challenges. Covering occluded areas where buildings are densely constructed is one challenge that is not typically addressed by the standard two-dimensional imple
16、mentations of the approach. The occlusion problem can be mitigated by having agents adjust their height to fl y over the buildings that create such occlusion. In other words, connections between different regions of ground-level search are possible by having agents perform a temporary change in alti
17、tude by fl ying over buildings. 1)Lawnmower sweep: A mathematical formulation of the lawnmower sweep and sampling of free space are dis- cussed in detail in 8. 2) Global Solution: Our global lawnmower solution ex- periments take the quadrotors sensor model and a resolution measure for the sensor out
18、put into account and precompute the waypoints (as seen in Fig. 2) over the environment. We use a simple approach that extends a standard lawnmower sweep from 2-D to 3-D by determining the optimal fl ying altitude to obtain a good resolution in the output and the necessary altitude changes to avoid c
19、ollisions with building along the sweep path, and then augmenting the height components of the path accordingly. It is possible to use more sophisticated methods, which calculate a sweep path that minimizes the number of altitude changes required over the entire search. IV. LOCAL COLLISION AVOIDANCE
20、 WITH COVERAGE CONSTRAINTS In this section, we provide an introduction to ORCA and defi ne our local collision avoidance method with coverage constraints. Refer to 8 for the defi nitions of the symbols used here. A. Optimal Reciprocal Collision Avoidance ORCA is a computationally fast algorithm that
21、 calculates collision avoiding velocities in real-time using linear pro- gramming. We provide ORCAs main result that is used to Fig. 2: Top-down view of Lawnmower waypoints over a city block. The white part represents the buildings (obstacles) and the black regions represent obstacle-free space. A p
22、art of lawnmower sweep is shown in green and red colors. Green color represents the optimal height of operation while the red color represents an elevated path to avoid buildings. select collision avoiding velocities. The collision free ORCA velocity set for an agent A (given the position and veloci
23、ty of an agent B) can be formulated as: ORCA A|B= v|(v(vA+u) n 0, (4) where viis the current velocity of agent i, u is the vector from vAvBto the Velocity Obstacle boundary point and n is the outward normal at (vAvB)+u on the boundary of VO A|B. is the responsibility factor for agent A in avoiding t
24、he collision. For collision avoidance between two agents (reactive obstacles), each take half of the responsibility for changing their velocities such that their relative velocities lie outside VO A|B. Hence, = 1 2 for reactive obstacles. In the case of non-reactive obstacles (e.g., buildings or bir
25、ds), = 1 for the agent. After computing the intersection of all pairwise ORCA sets to get ORCA A, agent A selects its new velocity from it such that vnew A = argmin vORCA A |vvpref A |.(5) For a detailed discussion of ORCA refer to 7. B. Collision Avoidance with Static Obstacles In dense urban scena
26、rios, the quadrotors might be required to maneuver close to buildings. Even though the global cov- erage path accounts for static obstacles, any deviation from the global path during collision avoidance may cause the quadrotor to collide with the buildings (Fig. 3). To prevent such collisions, our m
27、ethod accounts for the static obstacles using proximity queries 19. Each quadrotor continuously computes its proximity to static obstacles, like the buildings in an urban scene. The closest point on the static obstacle is considered as a point obstacle and the Minkowski sum is calculated considering
28、 a small positive value for the radius () of this closest point and the quadrotor spheres radius (r). R = r.(6) We use the ORCA formulation for non-reactive obstacles as described in Section IV.A to select a new collision free velocity for the agent. Since this method uses only proximity queries, it
29、 can be easily incorporated in a physical quadrotor system using depth sensors. Fig. 3: In this scenario, both agents have a collision free global path but reactive collision avoidance deviates agent towards the building. Top LSwarm avoids static obstacle while Bottom ORCA suffers Collision. Arrows
30、indicate the preferred path and more recent time steps are indicated with spheres of higher color intensity. Avoiding Deadlock: In ORCA, an agent As preferred velocity vpref A at each time step is directed towards the next waypoint. In certain cases, with the deviation caused by collision avoidance,
31、 the quadrotor might be directed towards a building. Although the static obstacle avoidance would prevent any collision, vpref A might still be directed through the building. Since we consider only the closest point as obstacles, the quadrotor might reach a deadlock trying to follow this vpref A . T
32、o solve this issue, we update the vpref A as being directed to the closest point along the line segment connecting the previous and the next waypoints. This helps overcome potential deadlock scenarios. C. Dynamics Constraints ORCA assumes that agents can modify their velocity instantaneously. Quadro
33、tors in the swarm may destabilize when there is a large change in their velocities, which results in large pitch or roll angles, that might topple the quadrotors. We prevent such scenarios by adding constraint on each quadrotors maximum acceleration. The feasible velocity space for a quadrotor is gi
34、ven by: vnew vcurrent+amaxt.(7) This formulation keeps the collision-free velocity space convex, thus ensuring fast computation time. The search for appropriate velocities can be performed using acceleration velocity obstacles 28. D. Modeling Uncertainty We use Kalman fi ltering to handle noise in t
35、he positions and velocities of all moving entities. We fi rst estimate the means and the covariance matrices of the positions and velocities of all moving entities. The square root of the largest eigenvalue of an entitys position covariance matrix is used as a measure to increase the radius of the b
36、ounding sphere of that entity. This ensures that the agent remains within this augmented bounding sphere as long as the real position is within one standard deviation of estimated position. The VO is constructed using this bounding sphere and the resultant VO is augmented by the covariance of the ve
37、locity uncertainty. Thus, as the uncertainty in sensing increases, each agent takes a more conservative approach to avoid collisions. E. Dynamic Collision Avoidance with Coverage Constraints Our goal is to compute a velocity that avoids collision and detours the quadrotor in a path which minimizes t
38、he coverage loss. In this section, we provide details on the coverage loss formulation. In the absence of dynamic obstacles, all quadrotors would fl y between one waypoint to the next with their preferred velocities, at the optimal altitude computed by the lawn- mower strategy. As mentioned previous
39、ly, we assume a square footprint for the cameras coverage cone at any instant of time. Therefore, the area covered by a quadrotor at any time instant t 0, can be given as: areapref= Area(x,y,s,t) = Square area of side s centered at(x, y).(8) Where is the time horizon over which we calculate the area
40、, x = vprefxt, y = vprefyt, and s = ?hv prefzt ? tan 2. Here, h is the initial altitude of the quadrotor at t = 0. The area covered over for which the velocity will be constant can be computed as: Area(x,y,s,t).(9) We sample the time horizon into smaller time steps and forward simulate the velocity
41、vnewto calculate the area that would be covered if vnewis chosen as the new velocity. When dynamic obstacles are present, the quadrotors chooses a new velocity vnewaccording to (5), and x, y and s in (8) would be with respect to vnew. areanew= Area ? vnewxt, vnewyt, ?hv newzt ?tan 2, t ? (10) The co
42、nformity to the global optimal coverage path auto- matically results in minimizing the loss of the coverage area. Conformity increases with an increase in overlap between the areas in (9) and (10), while also limiting the GSD below an upper threshold. Therefore, our objective function becomes: max G
43、SDGSDmax ?area overlap ? =max GSDGSDmax ? areapref areanew ? (11) A collision avoidance scenario is shown in Fig. 4, and the corresponding coverage area for different states of the quadrotor are shown in Fig. 5. Overlap area can be computed by methods such as clipping, but performing clipping for ea
44、ch possible velocity, in each time-step for each agent would be computationally expensive. F. LSwarm Acceleration In order to reduce the computation burden and ensure scalability, LSwarm uses a Look Up Table (LUT) to select a collision avoiding velocity that maximizes (11). The LUT contains precompu
45、ted values for the overlap areas for various new velocities. At runtime, we select a new velocity based on its corresponding overlap area from this LUT and on certain conditions. The construction of the LUT and velocity selection are discussed in the following sections. 1) Constructing the Look Up T
46、able: Let us consider the unit vector (1,0,0) and call it vunit. This unit vector corresponds to the forward direction for the quadrotor in the quadrotors frame of reference and can be transformed to any preferred velocity vector by using the standard 3x3 rotational transformation matrix (R) as, vpr
47、ef= Rtransvunit.(12) For a time horizon , we calculate areaunitcorresponding to vunitas given in (9) assuming a fl ying altitude of 5m. We rotate vunit(about Y and Z axes) in all possible forward directions to evaluate how such rotations affect the overlap area with areaunit . We fi rst apply a rota
48、tion to vunitabout the Z-axis by an angle as, v= RZvunit.(13) where 90,90. For each angle of rotation about the Z-axis, we again apply a rotation about the Y-axis as, v= RYv,(14) where 90,90. is the angle which governs whether the quadrotor will move upward or downward. Let us denote the coverage ar
49、ea for vover time as area. The rotation of vunitis continued until all values of , and are used by increments of 1, and vand the overlap between areaand areaunitare recorded into the LUT. The fully constructed LUT has 32,761 x 5 entries. 2) Selecting New Velocity from LUT: When the quadrotor has to
50、change its velocity to avoid an obstacle, we fi rst use ORCA to compute a new velocity vnewas given in (5). The difference between vnewand vprefis given as, = |vprefvnew|(15) Next, we search the LUT for vsuch that |vunitv| +(16) where is a small positive value. All the velocities which satisfy (16)
51、are ranked based on their corresponding overlap area with areaunit. The Z-component of vis used to compute the altitude change in the time horizon, and the velocities whose altitude change fail the GSD constraint are neglected. The rotation Rtransis applied to each shortlisted vto transform it corre
52、spond to the preferred velocity orientation. Let us denote the transformed velocity as vtrans . It is computed as: vtrans = Rtransv.(17) Fig. 4: Quadrotor deviating downward when avoiding a dy- namic obstacle (a bird). The translucent quadrotors represent the path that would have been taken in the a
53、bsence of the dynamic obstacle, when v = vpref. The curve with the opaque quadrotors represents the path taken to avoid the obstacle when v = vnewand is computed by ORCA. The different states of the quadrotor are numbered. We highlight the coverage for these positions in Fig. 5. We check if each vtr
54、ans ORCA quadrotor which is the ORCA set for the quadrotor for time . The transformed velocity vtrans with the highest rank that belongs to ORCA quadrotor is guaranteed to avoid collisions and such a vtrans may or may not be equal to the new velocity given by ORCA. Thus, the coverage area resulting
55、from choosing this velocity will always be greater than or equal to the coverage area resulting from the velocity given by ORCA. Computed Behavior: ORCA computes a set of collision free velocity for an agent, from which the velocity that satisfi es (5) is chosen. In contrast, LSwarm replaces (5) by
56、selecting the velocity in (16) that satisfi es GSD constraint and has maximum coverage overlap. V. RESULTS AND PERFORMANCE In this section, we describe our implementation and high- light LSwarms performance. A. Implementation LSwarm was implemented on an Intel Xeon octacore processor at 3.6 GHz with
57、 32 GB memory and GeForce GTX 1080 GPU. For simulating the swarm of quadrotors, we used ROS Kinetic, Gazebo 7.14.0, along with the PX4 Software-In-The-Loop fi rmware. 1) LawnMower Strategy: LSwarm can handle arbitrary 3- D models. X-Y values of the global waypoints are computed using an occupancy gr
58、id constructed from the 2D footprint of the environment, while the Z values vary based on the building heights (Section III.C). 2) Local Collision Avoidance: ORCA is implemented using the RVO2-3D 18 library. In LSwarm, we compute the Euclidean separation distance for static collision avoidance using
59、 the Proximity Query Package (PQP) library 29. We do not include a static obstacle avoidance as a part of ORCA in our comparisons. ORCA models static obstacles as line segments or planes, which is unsuitable for real world implementation. Hence, we test ORCA with the lawnmower strategy (which accounts for static obstacles) to test if it would be adequate to avoid collision with bui
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年青岛黄海学院高职单招职业技能考试题库及参考答案详解【培优】
- 2025年查干湖职业学院高职单招职业适应性测试考试模拟试卷带答案详解(典型题)
- 2026年山东黄河职业学院高职单招职业技能考试模拟试卷及答案详解(典优)
- 2027年山东东岳职业学院单招职业技能考试题库附参考答案详解【培优B卷】
- 2024年湖北交通职业学院高职单招职业技能考试题库及参考答案详解【预热题】
- 2026年山西华澳商贸职业学院高职单招职业适应性测试考试模拟试卷含完整答案详解【名师系列】
- 2024年广安华蓥山职业学院单招综合素质考试题库附参考答案详解(轻巧夺冠)
- 2024年山东外国语职大高职单招职业适应性测试考试模拟试卷附参考答案详解(突破训练)
- 2024年可可专修学院单招综合素质考试题库附参考答案详解【B卷】
- 2025年淄博新能源职业学院单招职业技能考试题库附参考答案详解【综合题】
- 2026年中小学教师(语文)副高级职称评审答辩题库及答案
- 学校管理与教师专业发展手册
- 初中音乐七年级上册《美丽的草原我的家》深度鉴赏与跨文化理解教案
- 2026秋新人教版英语五年级上册单元一Unit 1 Different friends测试卷-提高卷附答案(文档中已插入听力音频)
- 2026年餐饮服务食品安全管理员试题及答案
- GB/T 47950-2026资产管理数据资产登记指南
- 2026版《医师外出会诊管理暂行规定》课件
- 影像医学技术操作规程大全
- 中国老年抗中性粒细胞胞浆抗体相关肾小球肾炎治疗指南总结2026
- 2026版中华人民共和国生态环境法典深度解析课件
- 《运动治疗技术》课件-pnf技术
评论
0/150
提交评论