Three-dimensional manipulation of teams of quadrotors
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G01C-023/00
G05D-001/10
B64C-039/02
G08G-005/04
출원번호
US-0397761
(2013-04-30)
등록번호
US-9599993
(2017-03-21)
국제출원번호
PCT/US2013/038769
(2013-04-30)
국제공개번호
WO2014/018147
(2014-01-30)
발명자
/ 주소
Kumar, Vijay
Kushleyev, Aleksandr
Mellinger, Daniel
출원인 / 주소
THE TRUSTEES OF THE UNIVERSITY OF PENNSYLVANIA
대리인 / 주소
Jenkins, Wilson, Taylor & Hunt, P.A.
인용정보
피인용 횟수 :
1인용 특허 :
7
초록▼
A system and method is described for controlling flight trajectories of at least two flying vehicles towards goal positions. The system includes at least two flying vehicles with onboard inertial measurement units for determining and updating orientation, angular velocities, position and linear velo
A system and method is described for controlling flight trajectories of at least two flying vehicles towards goal positions. The system includes at least two flying vehicles with onboard inertial measurement units for determining and updating orientation, angular velocities, position and linear velocities of the at least two flying vehicles, a motion capture system to detect current position and velocity of each of the at least two flying vehicles, and a base controller in communication with the motion capture system and in communication with the plurality of flying vehicles. The base controller calculates for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths using piece-wise smooth polynomial functions, applying weighting factors, and enforcing overlap constraints.
대표청구항▼
1. A trajectory generation method for controlling states of at least two vehicles towards goal positions and orientations, the method comprising the steps of: determining orientation and angular velocities of the vehicles;controlling the orientation and angular velocities of the vehicles by controll
1. A trajectory generation method for controlling states of at least two vehicles towards goal positions and orientations, the method comprising the steps of: determining orientation and angular velocities of the vehicles;controlling the orientation and angular velocities of the vehicles by controlling at least one motor of the vehicles;determining current position and velocity of each of the vehicles;controlling the position and velocity of each of the vehicles by specifying the desired orientation and angular velocities and the net thrust required from the at least one motor;calculating for each of the vehicles, at predetermined intervals of time, optimum trajectory paths by using piece-wise smooth polynomial functions, applying relative cost weighting factors among the at least two vehicles and enforcing inter-vehicle overlap constraints;based on the calculated optimum trajectory paths, sending commands to each of the vehicles to control, individually, their state, causing such vehicles to follow the calculated optimum trajectory path while avoiding collisions; andupdating current position and velocity of each of the vehicles. 2. A method as in claim 1, wherein each state of a vehicle comprises its orientation and angular velocity, and position and linear velocity. 3. A method as in claim 1, wherein an orientation error is estimated and the orientation is controlled on-board of each of the vehicles. 4. A method as in claim 1, wherein the weighting factors applied to each of the at least two vehicles are dissimilar. 5. A method as in claim 1, wherein the method is iteratively executed at a plurality of said pre-determined intervals of time. 6. A method as in claim 1, further comprising using integer constraints to enforce collision constraints with obstacles and other vehicles and to optimally assign goal positions for said at least two vehicles. 7. A method as in claim 6, wherein said integer constraints are used to find the optimal goal assignments for the flying vehicles by applying for each quadrotor q and goal g the following integer constraints: xTq(tnw)≦xg+Mβqg xTq(tnw)≧xg−Mβqg yTq(tnw)≦yg+Mβqg yTq(tnw)≧yg−Mβqg zTq(tnw)≦zg+Mβqg zTq(tnw)≧zg−Mβqg where βqg is a binary variable used to enforce an optimal goal assignment. 8. A method as in claim 7, further comprising applying the following constraint to guarantee that at least ng quadrotors reach the desired goal positions: Σq=1nqΣg=1ngβqg≦ngnq−ng. 9. A method as in claim 1, wherein the at least two vehicles comprises at least two flying vehicles. 10. A trajectory generation method for controlling states of at least two flying vehicles towards goal positions and orientations, the method comprising the steps of: determining orientation and angular velocities of the flying vehicles;controlling the orientation and angular velocities of the flying vehicles by controlling at least one motor of the flying vehicles;determining current position and velocity of each of the flying vehicles;controlling the position and velocity of each of the flying vehicles by specifying the desired orientation and angular velocities and the net thrust required from the at least one motor;calculating for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths by using piece-wise smooth polynomial functions, applying weighting factors and enforcing overlap constraints;based on the calculated optimum trajectory paths, sending commands to each of the flying vehicles to control, individually, their state, causing such flying vehicles to follow the calculated optimum trajectory path while avoiding collisions; and updating current position and velocity of each of the flying vehicles, wherein calculating an optimum trajectory path for each flying vehicle comprises generating trajectories that smoothly transition through nw desired waypoints at specified times, tw while minimizing the integral of the krth derivative of position squared for nq quadrotors in accordance with the equation: min∑q=1nq∫t0tnwⅆkrrTqⅆtkr2ⅆts.t.rTq(tw)=rwq,w=0,…,nw;∀qⅆjxTqⅆtjt=tw=0orfree,w=0,nw;j=1,…,kr;∀qⅆjyTqⅆtj❘t=tw=0orfree,w=0,nw;j=1,…,kr;∀qⅆjzTqⅆtj❘t=tw=0orfree,w=0,nw;j=1,…,kr;∀q where rTq=[xTq, yTq, zTq] represents the trajectory for quadrotor q and rwq represents desired waypoints for quadrotor q. 11. A method as in claim 10, wherein the flying vehicles are maintained at a safe distance from each other when transitioning between waypoints on a flying vehicle's trajectory path by enforcing a constraint at nk intermediate time steps between waypoints which can be represented mathematically for flying vehicles 1 and 2 by the following set of constraints: ∀tk: xT1(tk)−xT2(tk)≦dx12 or xT2(tk)−xT1(tk)≦dx21 or yT1(tk)−yT2(tk)≦dy12 or yT2(tk)−yT1(tk)≦dy21 where the d terms represent safety distances between flying vehicles 1 and 2. 12. A method as in claim 11, wherein said flying vehicles are axially symmetric and dx12=dx21=dy12=dy21. 13. A trajectory generation method for controlling states of at least two flying vehicles towards goal positions and orientations, the method comprising the steps of: determining orientation and angular velocities of the flying vehicles;controlling the orientation and angular velocities of the flying vehicles by controlling at least one motor of the flying vehicles;determining current position and velocity of each of the flying vehicles;controlling the position and velocity of each of the flying vehicles by specifying the desired orientation and angular velocities and the net thrust required from the at least one motor;calculating for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths by using piece-wise smooth polynomial functions, applying weighting factors and enforcing overlap constraints;based on the calculated optimum trajectory paths, sending commands to each of the flying vehicles to control, individually, their state, causing such flying vehicles to follow the calculated optimum trajectory path while avoiding collisions; and updating current position and velocity of each of the flying vehicles, further comprising providing collision avoidance among said at least two flying vehicles by modeling the flying vehicles as a rectangular prism oriented with a world frame with side lengths lx, ly, and lz that are large enough so that the flying machines may roll, pitch, and yaw to any angle and stay within the prism. 14. A method as in claim 13, further comprising navigating the prism through an environment with no convex obstacles, where each convex obstacle o is represented by a convex region in configuration space with n(o) faces, and for each face f the condition that the flying vehicle's desired position at time tk, rTq(tk), is outside of obstacle o is represented as: nof·rTq(tk)≦sof where nof is the normal vector to face f of obstacle o in configuration space and sof is a scalar, whereby if the equation for the flying vehicle's positions at time tk is satisfied for at least one of the faces, then the rectangular prism, and hence the flying machine, is not in collision with the obstacle. 15. A method as in claim 14, wherein a condition that flying machine q does not collide with an obstacle o at time tk is enforced with binary variables, bqofk, as: nof·rTq(tk)≤sof+Mbqofk∀f=1,…,nf(o)bqofk=0or1∀f=1,…,nf(o)∑f=1nf(o)bqofk=nf(o)-1 where M is a large positive number. 16. A method as in claim 15, wherein the equation of claim 15 is introduced into the equation of claim 10 for all nq flying machines for all obstacles at nk intermediate time steps between waypoints. 17. A trajectory generation method for controlling states of at least two flying vehicles towards goal positions and orientations, the method comprising the steps of: determining orientation and angular velocities of the flying vehicles;controlling the orientation and angular velocities of the flying vehicles by controlling at least one motor of the flying vehicles;determining current position and velocity of each of the flying vehicles;controlling the position and velocity of each of the flying vehicles by specifying the desired orientation and angular velocities and the net thrust required from the at least one motor;calculating for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths by using piece-wise smooth polynomial functions, applying weighting factors and enforcing overlap constraints;based on the calculated optimum trajectory paths, sending commands to each of the flying vehicles to control, individually, their state, causing such flying vehicles to follow the calculated optimum trajectory path while avoiding collisions; and updating current position and velocity of each of the flying vehicles, the method further comprising: organizing the flying vehicles into a plurality of groups, wherein each of the plurality of groups are coordinated independently; andgenerating a trajectory for each of the plurality of groups to group goal positions. 18. A method as in claim 17, wherein an environment for the flying vehicles is partitioned into nr convex sub-regions where each sub-region contains the same number of flying vehicle start and goal positions, and separate trajectories are generated for the flying vehicles inside each sub-region whereby the flying vehicles are required to stay inside their own sub-regions using linear constraints on the positions of the flying vehicles. 19. A system for controlling trajectories of at least two vehicles towards goal positions, the system comprising: at least two vehicles with onboard inertial measurement units for determining and updating orientation, angular velocities, position and linear velocities of the at least two vehicles;a motion capture system to detect current position and velocity of each of the at least two vehicles;a base controller in communication with the motion capture system and in communication with the plurality of vehicles, said base controller calculating, for each of the vehicles, at predetermined intervals of time, optimum trajectory paths using piece-wise smooth polynomial functions, applying relative cost weighting factors among the plurality of vehicles, and enforcing inter-vehicle overlap constraints, and based on the calculated optimum trajectory path, sending commands to each of the vehicles to control, individually, their state, causing said at least two vehicles to follow the calculated optimum trajectory path while avoiding collisions. 20. A system as in claim 19, wherein the at least two vehicles are homogenous vehicles. 21. A system as in claim 19, wherein the at least two vehicles are heterogeneous vehicles. 22. A system as in claim 19, wherein each state of a vehicle comprises its orientation and angular velocity, and position and linear velocity. 23. A system as in claim 19, further comprising a microcontroller on board each of the vehicles that estimates an orientation error and controls the orientation of the associated vehicle. 24. A system as in claim 21, wherein the weighting factors applied to each of the at least two vehicles are dissimilar. 25. A system as in claim 19, wherein said base controller uses integer constraints to enforce collision constraints with obstacles and other vehicles and to optimally assign goal positions for said at least two vehicles. 26. A system as in claim 25, wherein the base station uses said integer constraints to find the optimal goal assignments for the flying vehicles by applying for each quadrotor q and goal g the following integer constraints: xTq(tnw)≦xg+Mβqg xTq(tnw)≧xg−Mβqg yTq(tnw)≦yg+Mβqg yTq(tnw)≧yg−Mβqg zTq(tnw)≦zg+Mβqg zTq(tnw)≧zg−Mβqg where βqg is a binary variable used to enforce an optimal goal assignment. 27. A system as in claim 26, wherein said base controller further applies the following constraint to guarantee that at least ng quadrotors reach the desired goal positions: Σq=1nqΣg=1ngβqg≦ngnq−ng. 28. A system as in claim 19, wherein the at least two vehicles comprises at least two flying vehicles. 29. A system for controlling flight trajectories of at least two flying vehicles towards goal positions, the system comprising: at least two flying vehicles with onboard inertial measurement units for determining and updating orientation, angular velocities, position and linear velocities of the at least two flying vehicles;a motion capture system to detect current position and velocity of each of the at least two flying vehicles;a base controller in communication with the motion capture system and in communication with the plurality of flying vehicles, said base controller calculating, for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths using piece-wise smooth polynomial functions, applying weighting factors, and enforcing overlap constraints, and based on the calculated optimum trajectory path, sending commands to each of the flying vehicles to control, individually, their state, causing said at least two flying vehicles to follow the calculated optimum trajectory path while avoiding collisions, wherein said base controller calculates an optimum trajectory path for each flying vehicle by generating trajectories that smoothly transition through nw desired waypoints at specified times, tw while minimizing the integral of the krth derivative of position squared for nq quadrotors in accordance with the equation: min∑q=1nq∫t0tnwⅆkrrTqⅆtkr2ⅆts.t.rTq(tw)=rwq,w=0,…,nw;∀qⅆjxTqⅆtjt=tw=0orfree,w=0,nw;j=1,…,kr;∀qⅆjyTqⅆtj❘t=tw=0orfree,w=0,nw;j=1,…,kr;∀qⅆjzTqⅆtj❘t=tw=0orfree,w=0,nw;j=1,…,kr;∀q where rTq=[xTq, yTq, zTq] represents the trajectory for quadrotor q and rwq represents desired waypoints for quadrotor q. 30. A system as in claim 29, wherein the base station maintains flying vehicles at a safe distance from each other when transitioning between waypoints on a flying vehicle's trajectory path by enforcing a constraint at nk intermediate time steps between waypoints which can be represented mathematically for flying vehicles 1 and 2 by the following set of constraints: ∀tk: xT1(tk)−xT2(tk)≦dx12 or xT2(tk)−xT1(tk)≦dx21 or yT1(tk)−yT2(tk)≦dy12 or yT2(tk)−yT1(tk)≦dy21 where the d terms represent safety distances between flying vehicles 1 and 2. 31. A system as in claim 30, wherein said flying vehicles are axially symmetric and dx12=dx21=dy12=dy21. 32. A system for controlling flight trajectories of at least two flying vehicles towards goal positions, the system comprising: at least two flying vehicles with onboard inertial measurement units for determining and updating orientation, angular velocities, position and linear velocities of the at least two flying vehicles;a motion capture system to detect current position and velocity of each of the at least two flying vehicles;a base controller in communication with the motion capture system and in communication with the plurality of flying vehicles, said base controller calculating, for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths using piece-wise smooth polynomial functions, applying weighting factors, and enforcing overlap constraints, and based on the calculated optimum trajectory path, sending commands to each of the flying vehicles to control, individually, their state, causing said at least two flying vehicles to follow the calculated optimum trajectory path while avoiding collisions, wherein said base controller further provides collision avoidance among said at least two flying vehicles by modeling the flying vehicles as a rectangular prism oriented with a world frame with side lengths lx, ly, and lz that are large enough so that the flying machines may roll, pitch, and yaw to any angle and stay within the prism. 33. A system as in claim 32, wherein said base controller navigates the prism through an environment with no convex obstacles, where each convex obstacle o is represented by a convex region in configuration space with n(o) faces, and for each face f the condition that the flying vehicle's desired position at time tk, rTq(tk), is outside of obstacle o is represented as: nof·rTq(tk)≦sof where nof is the normal vector to face f of obstacle o in configuration space and sof is a scalar, whereby if the equation for the flying vehicle's positions at time tk is satisfied for at least one of the faces, then the rectangular prism, and hence the flying machine is not in collision with the obstacle. 34. A system as in claim 33, wherein the base controller enforces a condition that flying machine q does not collide with an obstacle o at time tk with binary variables, bqofk, as: nof·rTq(tk)≤sof+Mbqofk∀f=1,⋯,nf(o)bqofk=0or1∀f=1,…,nf(o)∑f=1nf(o)bqofk=nf(o)-1 where M is a large positive number. 35. A system as in claim 34, wherein the base controller introduces the equation of claim 34 into the equation of claim 29 for all nq flying machines for all obstacles at nk intermediate time steps between waypoints. 36. A system for controlling flight trajectories of at least two flying vehicles towards goal positions, the system comprising: at least two flying vehicles with onboard inertial measurement units for determining and updating orientation, angular velocities, position and linear velocities of the at least two flying vehicles;a motion capture system to detect current position and velocity of each of the at least two flying vehicles;a base controller in communication with the motion capture system and in communication with the plurality of flying vehicles, said base controller calculating, for each of the flying vehicles, at predetermined intervals of time, optimum trajectory paths using piece-wise smooth polynomial functions, applying weighting factors, and enforcing overlap constraints, and based on the calculated optimum trajectory path, sending commands to each of the flying vehicles to control, individually, their state, causing said at least two flying vehicles to follow the calculated optimum trajectory path while avoiding collisions, wherein said base controller is further programmed to: organize the flying vehicles into a plurality of groups, wherein each of the plurality of groups are coordinated independently; and generate a trajectory for each of the plurality of groups to group goal positions. 37. A system as in claim 36, wherein the base controller partitions an environment for the flying vehicles into nr convex sub-regions where each sub-region contains the same number of flying vehicle start and goal positions, and generates separate trajectories for the vehicles inside each sub-region whereby the flying vehicles are required to stay inside their own sub-regions using linear constraints on the positions of the flying vehicles.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (7)
Morrison, Jamie R.; Raquet, John F.; Veth, Michael J., Coded aperture aided navigation and geolocation systems.
Loianno, Giuseppe; Mulgaonkar, Yash Shailesh; Kumar, R. Vijay, Systems, devices, and methods for on-board sensing and control of micro aerial vehicles.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.