• No results found

Thesis

N/A
N/A
Protected

Academic year: 2020

Share "Thesis"

Copied!
14
0
0

Loading.... (view fulltext now)

Full text

(1)

Abstract

Our goal in this research is to develop and integrate three-dimensional

collision-avoidance and navigation with physical agents, such as micro-air vehicles (MAVs). We build

on prior techniques based on reciprocal velocity obstacles (RVOs) for collision-free

navigation and use the ArduCopter quad-rotor helicopters, designed by 3D Robotics, as the

physical agents. MAVLink, a communications protocol for micro-air vehicles, is used with the

Mission Planner ground-station software providing hardware- and software-in-the-loop

capabilities to interface between the quadcopters and the RVO software. We also extend

RVO-based 3D collision algorithms to take into account kinematic and dynamic constraints,

including bounds on the turn radius, maximum altitude, maximum velocity, etc., and

highlight the results using our simulator.

Introduction

Research in robot motion planning has become enormously popular in recent years,

demonstrated by such projects as Google Chauffeur, the software powering the company’s

self-driving car, Big Dog and other products by Boston Dynamics, and most recently Amazon

Prime Air, which aims to deliver packages using eight-rotor helicopters. Research in

two-dimensional motion planning for agents confined to the ground and moving only in the x-y

plane with one rotational (turn) angle is much more mature than its younger counterpart of

motion planning in three dimensions. Motion planning for micro-air vehicles (MAVs) in a

three-dimensional workspace have a configuration space denoted R3 x SO(3), meaning they

are capable of achieving configurations in the three translational components (x, y, z) as well

(2)

are said to have six degrees of freedom.

Let us define the meaning of autonomous. In Merriam-Webster’s dictionary, it is

defined as existing or acting separately from other things or people. With this definition of

autonomy we cannot use the term to accurately describe the vast majority of existing

unmanned aircraft systems (UAS), if any at all, at the current state of the art. These UAS do

not act and form decisions independently of things or people. Rather they are unmanned or

remotely piloted, meaning that although a human is not physically in the cockpit of the

aircraft, a human has either pre-programmed the UAS’s flight path and cleared the airspace

to ensure its success, or a human is piloting the UAS from a ground station as if it were a

videogame. The long-term goal of our research is to develop a UAS that is capable of

collecting data about its environment and, given a goal destination, planning a path that

avoids static and dynamic obstacles and that obeys the kinematic, dynamic, and stability

constraints of the micro-air vehicle to successfully reach its goal destination.

Previous Work

The basis for much of this work comes from previous work in the GAMMA (Geometric

Algorithms for Modeling, Motion, and Animation) group at UNC Chapel Hill. We use an

implementation of collision-free navigation using reciprocal velocity obstacles (RVO),

defined as follows:

𝑅𝑉𝑂𝐵𝐴(𝑣𝐵, 𝑣𝐴) = {𝒗′𝐴|2𝒗′

𝐴− 𝒗𝐴 ∈ 𝑉𝑂𝐵𝐴(𝒗𝑩)}

The reciprocal velocity obstacle 𝑅𝑉𝑂𝐵𝐴(𝑣

𝐵, 𝑣𝐴) of an agent B to an agent A contains all

velocities for agent A that are the average of the current velocity vA and a velocity inside the

velocity obstacle 𝑉𝑂𝐵𝐴(𝑣

(3)

The RVO2 (Reciprocal Velocity Obstacle) library was developed by researchers in

GAMMA for collision avoidance in real-time multi-agent simulations. We use the extension

of this library, RVO2-3D, which differs from RVO2 in that it does not allow for static obstacles

(or any obstacles except other known agents) and it is applied in three dimensional

workspaces rather than two-dimensional workspaces. Using this library, the user specifies

the number of agents in the environment as well as the initial and goal positions, radius, and

preferred velocity for each agent. The implementation assumes that all agents can sense

their own position, radius, and velocity as well as those of all other agents in the

environment. At each timestep, each individual agent computes a collision-free motion plan

based on the optimal reciprocal collision avoidance (ORCA) algorithm.

In ORCA, for any given pair of agents each agent takes half the responsibility for

avoiding collisions, assuming the aforementioned parameters are known and other agents

are using the same logic for avoiding collisions. A given agent computes a half-plane of

velocities (in velocity-space) for each of the other agents in the environment that it might

take in order to avoid collisions with those agents. The agent then decides the best course of

action by taking the intersection of all these half-planes in velocity-space, guaranteeing a

smooth and collision-free trajectory for at least a given time window [Snape et al, 2010].

In Navigating Multiple Simple-Airplanes in 3D Workspace [Snape and Manocha 2010],

the authors introduce the simple airplane model which computes collision-free and

oscillation-free motion using ORCA in three-dimensions while also accounting for kinematic

and dynamic constraints. This paper also introduces the concept of variable reciprocity in

avoiding collisions. The size, mass, payload, and countless other factors of fixed-wing aircraft

(4)

reciprocity, aircraft that experience fewer constraints on motion have a higher responsibility

to avoid collisions since they have a larger space of velocities to choose from than an aircraft

with more constraints they might be avoiding collisions with. Since quadrotor helicopters,

or quadcopters, have different kinematic and dynamic constraints than a simple fixed-wing

aircraft, we extend this approach to account for the variations in physical constraints of

quadcopters.

System Formulation

Towards the goal of autonomous navigation -- meaning real-time, collision-free path

planning with no intervention from a human pilot or external controller -- we propose a

system of three components: a ground station, an arbitrary number of physical agents, and

telemetry communications between the ground and air components. Figure 1 illustrates a

potential configuration of two quadcopters, each with a corresponding ground station

performing path computation, that broadcast information about their position, velocity, etc.

to any subscribing ground stations.

There are good path planning techniques that have been successfully tested on

physical systems in two-dimensional workspaces, but not many have been tested on physical

systems in three-dimensional workspaces outside of simulation. In this work we modify one

such algorithm proven successful on physical systems in 2D, Reciprocal Velocity Obstacles

(RVO), to perform automatic path computation for quadcopters, the physical agents. In RVO,

agents assume equal responsibility for avoiding collisions in a pairwise manner. It computes

the position and velocity of each nearby agent, and computes a set of velocities for each agent

(5)

set that results in minimal change from the current velocity and the resulting trajectory

would also satisfy the kinematic and dynamics constraints.

The software library RVO2 is one of the implementations of the ORCA algorithm,

which has been applied to the iRobot Create mobile robots to successfully demonstrate

collision-free and oscillation-free navigation for physical agents on a two dimensional-plane.

We use the RVO2-3D software library, a 3D extension of collision avoidance for objects in a

three-dimensional workspace. The existing implementation assumes each agent can

correctly sense its own radius, position, and velocity as well as those of all other agents in

the environment. It accounts for only four degrees of freedom -- the translation components

x, y, z and one rotation angle, yaw -- and ignores the two remaining rotation angles, pitch and

roll. Our goal is to modify this implementation to account for the dynamic and control

constraints specific to quadcopters.

Figure 1

(6)

We chose to use a quadcopter (quad-rotor helicopter) as the form-factor for physical

agents. We chose this over other aerial vehicle options, i.e. fixed-wing or helicopter, because

of their stability (achieved by electronic control systems and sensors), comparatively low

price, small size, agile maneuverability, and ability to be flown indoors and outdoors. For

these reasons, quadcopters are an extremely popular platform for research in unmanned

aerial systems.

After extensive research into different manufacturers of these quadcopters, we chose

the ArduCopter Quad C Frame by 3D Robotics. This option was very inexpensive compared

to other vehicles designed and sold for research purposes and had an optional electronics

kit which provided us with a wireless telemetry kit, ArduPilot Mega 2.6 autopilot, power

module, and GPS unit in addition to the frame, propellers, motors, and some spare parts. The

ArduCopter allows a load capacity of 400 grams, more than double the average load capacity

of less expensive quadcopters on the market (i.e. the Parrot ARDrone 2.0).

The ArduPilot Mega (APM) autopilot suite consists of three components: the

hardware, the firmware, and the software. The hardware is the physical autopilot unit

manufactured by 3D Robotics, which contains embedded systems and peripheral sensors

such as accelerometers within a small hardware package (Figure 2). The ArduPilot acts as

the eyes and ears of the system. It transmits information about the vehicle’s position, speed,

flight progress, etc. through the radio module on board the vehicle through, which is

(7)

Figure 2

The ArduPilot Mega 2.6 (APM) combines all the systems and sensors needed for an autopilot into a small, modular package.

The firmware runs on top of the hardware, which we loaded onto the APM during

setup. There are firmware options for any of the supported aerial vehicles; in our case the

option was “QuadCopter,” but we could use the same APM unit with another type of vehicle,

such as an Octocopter, Hexacopter, Fixed-wing, or land rover, simply by loading the provided

firmware for that vehicle (Figure 3).

Figure 3

(8)

The software component of the APM suite, called Mission Planner, serves as the user’s

interface to the hardware system. Initial set-up, configuration, and testing (including

selecting and loading firmware onto the vehicle) is done through this interface. Mission

Planner allows planning of missions by selection and design of waypoints or more detailed

flight plans as well as post-mission analysis using full automatic data logs (Figure 4).

Figure 4

Mission Planner allows definition of flight plans via point-and-click selection or loading of waypoints.

Communication between the ground station and quadcopters is performed using the

MAVLink Micro-Air Vehicle Communication Protocol. MAVLink is a lightweight, header-only

message marshalling library. These messages are transmitted and received by the ground

station and quadcopters using interchangeable ground and air radio telemetry modules

manufactured by 3D Robotics. The quadcopter transmits information about its position,

(9)

module in the form of MAVLink packets. The GPS module, shown in Figure 5, contains a

digital compass and has a theoretical accuracy between two and three meters.

Figure 5

The image on the left shows the interchangeable ground and air radio telemetry modules used for communications between the ground station and quadcopters. The image on the right shows the GPS module with digital compass.

Sensing and Uncertainty

There are many factors we assume to be negligible in simulation that we must

consider in reality, such as the influence of wind and drag on the flight of a quadcopter. Many

challenges arise as a result of error and uncertainty introduced when we move from the

perfect world of simulation to the unpredictable physical world due to use of various

sensors. In our simulation, RVO2-3D assumes that each agent can correctly measure its own

position and velocity as well those of all other agents in the environment. This assumption is

acceptable in simulated environments but accurate positioning becomes a challenge with

real sensors that have noise and error. For example, the accuracy of the quadcopter’s

(10)

additional methods must be incorporated to mitigate the uncertainty of positioning. In our

physical system we must also account for the latency of communication between the

quadcopters and their respective ground stations in order to ensure a new velocity can be

computed and received by the quadcopter’s autopilot before the potential collision occurs.

Another challenge present in the physical world but absent from simulation is the

quadcopter battery duration. Electronic stabilization and control of four motors combined

with the quadcopter’s small and lightweight form factor requires significant power

consumption, so the expected battery life must be accounted for in the lifetime of the path

computation from initial to goal positions.

Preliminary Results

In order to test the path planning computation and our various modifications to the

existing RVO2-3D implementation in simulation, we created a visualization of the simulation

using Ogre3D, an open-source graphics engine. We created a test simulation of our own

system with two quadcopters, represented by the blue spheres in Figure 5, whose initial

positions are at opposite ends of a sphere. The goal point of each quadcopter is on the

antipodal position of the sphere, to which they must autonomously compute a collision-free

and oscillation-free path. We include various parameters, such as agent separation (the

distance between a given pair of quadcopters) in a detail panel in the upper left, also shown

(11)

Figure 6

(12)

where they must choose new velocities to avoid an imminent collision with each other. The third image shows the agents after they have successfully avoided collisions with each other and have begun to move away from the center of the sphere to their goal location.

Quadcopters achieve motion by varying the rotation speed, and thus the lift forces,

produced by each of the four motors that control the propellers. Increasing or decreasing the

rotational speed of all four motors simultaneously results in a motion in the up and down

direction, respectively. Creating a differential in thrust between each of the four motors will

tilt the entire body in the direction resulting from that particular control configuration. Thus

quadcopters achieve configurations in three-dimensional workspaces with six-degrees of

freedom by a combination of rotational speeds of the individual motors and subsequent lift

forces at each rotor. In some configurations where these thrust forces are unbalanced, the

quadcopter is unable to maintain stability and may return to its original configuration if

disturbed or even be overcome by the gravitational force downward and crash. The

trajectory of this dynamic system is expressed by differential equations relating the

quadcopter body and inertial earth frame of reference through a rotation matrix.

Towards the goal of incorporating these dynamic and control constraints for

quadcopters into the RVO2-3D implementation, we have incorporated restrictions on the

velocities that need to be taken into account during path computation. We modify the

implementation to ensure the computed velocities are not only collision- and oscillation-free

but also within the range of achievable altitudes and velocities of the ArduCopter. We also

specify a generous time horizon -- the minimum amount of time in seconds for which a new

agent's velocities that are computed by the simulation are safe with respect to other agents

(13)

ground station and quadcopter. We limit the yaw angle, the only rotational angle accounted

for by the current implementation, to ensure stable configurations. We incorporate the

uncertainty of the GPS into the specification of the agents’ radii to form a “safety bubble”

around the agents as they move through the environment.

Ongoing Work

Often with hardware we find that the theoretical specifications reported by the

manufacturer varies significantly from actual values measured in experiment. For example,

3D Robotics claims the radio telemetry modules support links 4.5 kilometers long and a GPS

accuracy between two and three meters, but in practice this is probably much different.

Other factors, such as battery life, tend to vary significantly from the reported values and

must be measured through repeated tests in practice. Before we can integrate the ground

station software and quadcopters together into a single system, we must first measure these

values and account for them in our path computation.

Once this testing is complete, we can integrate the three components of the system—

ground station running RVO2-3D, quadcopters, and radio telemetry—by establishing a

publish-and-subscribe framework between the various ground stations and micro-air

vehicles. Improving accuracy and reducing noise in measurements for values like agent

position and velocity that RVO2-3D relies on to compute collision-free paths is an ongoing

challenge. We must continue to explore potential methods of guaranteeing accuracy in these

measurements in order to ensure the automatic navigation of these vehicles is as safe and

reliable as possible. The current system formulation only accounts for avoiding collisions

(14)

work we aim to extend this formulation to avoid collisions with unknown static and dynamic

obstacles in the environment, not just other quadcopters, by incorporating technologies such

References

Related documents

(Although basic math facts include addition, subtraction, multiplication, and division, this study tested multiplication only.) The students’ fluency was then related to their

In this study it is aimed to investigate the total lipid and the fatty acid composition of pearl mullet which is the only fish species occurring in Lake Van and

A multiple linear regression model was developed with the level of confidence that the teachers have in their capacity to teach students with disabilities as the dependent variable

[4] C Hoffmann, S Schubert, A Leeman, M Motavalli “Recycled Concrete and Mixed Rubble as Aggregates: Influence of variations in Composition on the Concrete Properties

As a result, in case of nitrogen gas root protection higher austenite content could be measured on weld root and the corrosion resistance improves.. For root protection three

The results obtained show that, at zero angular momentum, under the effect of QNF within the FTBCS1 (FTLN1), the sharp SN phase transition predicted by the FTBCS theory is smoothed

Statement of Work - A statement of the work or services which the Contractor is to perform under any contract awarded, and which is generally in the form of an exhibit attached

Information about the effects of organizational devices on coherent representa- tion building during the reading of electronic text will show educators whether and how