├── .gitignore
├── Makefile
├── report
├── quadreport.pdf
├── img
│ ├── attractive.png
│ ├── feedback.png
│ ├── gazebo-ros.png
│ ├── potential.png
│ ├── quad_model.png
│ ├── repulsive.png
│ ├── attractive_grad.png
│ ├── boundarysphere.png
│ └── plot
│ │ ├── matlab
│ │ ├── sim1.png
│ │ ├── sim2.png
│ │ ├── sim1_pdf.png
│ │ ├── sim1_xy.png
│ │ ├── sim2_pdf.png
│ │ ├── sim2_xz.png
│ │ ├── sim2_yz.png
│ │ └── simulation1.png
│ │ └── gazebo
│ │ ├── rumore.png
│ │ ├── rumore_zoom.png
│ │ ├── simulazione1.png
│ │ ├── simulazione2.png
│ │ ├── simulazione3.png
│ │ ├── simulazione1_xy.png
│ │ ├── simulazione2_xz.png
│ │ ├── simulazione2_yz.png
│ │ ├── simulazione3_xy.png
│ │ ├── simulazione1_pdf.png
│ │ ├── simulazione2_pdf.png
│ │ └── simulazione3_pdf.png
├── references.bib
├── .gitignore
└── quadreport.tex
├── mesh
└── quadrotorblender.stl
├── README.md
├── manifest.xml
├── mainpage.dox
├── include
└── quadrotor_obstacle_avoidance
│ ├── functionlib.h
│ └── feedbacklinearization.h
├── urdf
├── obstacle.urdf.xacro
├── quad_hokuyo_laser.xacro
└── quadrotor.urdf.xacro
├── launch
└── quadrotor.launch
├── CMakeLists.txt
├── world
└── empty.world
└── src
├── functionlib.cpp
└── feedbacklinearization.cpp
/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | bin
3 | lib
4 |
5 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | include $(shell rospack find mk)/cmake.mk
--------------------------------------------------------------------------------
/report/quadreport.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/quadreport.pdf
--------------------------------------------------------------------------------
/mesh/quadrotorblender.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/mesh/quadrotorblender.stl
--------------------------------------------------------------------------------
/report/img/attractive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/attractive.png
--------------------------------------------------------------------------------
/report/img/feedback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/feedback.png
--------------------------------------------------------------------------------
/report/img/gazebo-ros.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/gazebo-ros.png
--------------------------------------------------------------------------------
/report/img/potential.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/potential.png
--------------------------------------------------------------------------------
/report/img/quad_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/quad_model.png
--------------------------------------------------------------------------------
/report/img/repulsive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/repulsive.png
--------------------------------------------------------------------------------
/report/img/attractive_grad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/attractive_grad.png
--------------------------------------------------------------------------------
/report/img/boundarysphere.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/boundarysphere.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim1.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim2.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/rumore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/rumore.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim1_pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim1_pdf.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim1_xy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim1_xy.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim2_pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim2_pdf.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim2_xz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim2_xz.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/sim2_yz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/sim2_yz.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/rumore_zoom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/rumore_zoom.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione1.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione2.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione3.png
--------------------------------------------------------------------------------
/report/img/plot/matlab/simulation1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/matlab/simulation1.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione1_xy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione1_xy.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione2_xz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione2_xz.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione2_yz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione2_yz.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione3_xy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione3_xy.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione1_pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione1_pdf.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione2_pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione2_pdf.png
--------------------------------------------------------------------------------
/report/img/plot/gazebo/simulazione3_pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/THeK3nger/ros-quadrotor-obstacle-avoidance/HEAD/report/img/plot/gazebo/simulazione3_pdf.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ROS Quadrotor Obstacle Avoidance
2 |
3 | **This repo is an archive for a very old project I did for a University course. I canno guarantee that this project still works with the current version of ROS (probably not!) or any additional work on it.**
4 |
5 | **For more info, I have included [the original PDF report (in Italian)](./report/quadreport.pdf). Unfortunately, this is in Italian. If somebody wants to do a PR to translate that, I'll include it.**
6 |
7 | **But as I said, the project is very old. The best things you can extract from this is the `cpp` feedback linearization code and include it in a new project based on a recent ROS version.**
--------------------------------------------------------------------------------
/manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Implementation of obstacle avoidance through the use of artificial
5 | potential field for a quadrotor.
6 |
7 |
8 | Davide Aversa, Vittorio Perera
9 | BSD
10 |
11 | http://ros.org/
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/mainpage.dox:
--------------------------------------------------------------------------------
1 | /**
2 | \mainpage
3 | \htmlinclude manifest.html
4 |
5 | \b quadrotor_obstacle_avoidance is ...
6 |
7 |
10 |
11 |
12 | \section codeapi Code API
13 |
14 |
24 |
25 |
26 | */
27 |
--------------------------------------------------------------------------------
/include/quadrotor_obstacle_avoidance/functionlib.h:
--------------------------------------------------------------------------------
1 | /**
2 | This file is part of ROS Quadrotor Feedback Controller.
3 |
4 | Foobar is free software; you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation; either version 2 of the License, or
7 | any later version.
8 |
9 | ROS Quadrotor Feedback Controller is distributed in the hope that it will
10 | be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
12 | Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License along
15 | with ROS Quadrotor Feedback Controller; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 | **/
18 | #ifndef FUNCTIONLIB_HH
19 | #define FUNCTIONLIB_HH
20 |
21 | double * controller (double* X, double *V );
22 |
23 | double* backward_derivative(double* X,double* X_new, double dt);
24 |
25 | double* force_vector(double* position, double yaw, double* goal, double* obstacle);
26 |
27 | double* damping(double* velocity, double* acceleration, double* jerk, double yaw_d);
28 |
29 | double denormalize_angle(double angle, double previous_angle);
30 |
31 | void toMatlab(FILE* id, double* X, double* U, double* FV, double* V);
32 | #endif
33 |
--------------------------------------------------------------------------------
/urdf/obstacle.urdf.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
14 |
15 | Gazebo/${color}
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/launch/quadrotor.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
17 |
18 |
19 |
20 |
28 |
29 |
30 |
31 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.4.6)
2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
3 |
4 | # Set the build type. Options are:
5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
6 | # Debug : w/ debug symbols, w/o optimization
7 | # Release : w/o debug symbols, w/ optimization
8 | # RelWithDebInfo : w/ debug symbols, w/ optimization
9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
10 | #set(ROS_BUILD_TYPE RelWithDebInfo)
11 |
12 | rosbuild_init()
13 |
14 | #set the default path for built executables to the "bin" directory
15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
16 | #set the default path for built libraries to the "lib" directory
17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
18 |
19 | #uncomment if you have defined messages
20 | #rosbuild_genmsg()
21 | #uncomment if you have defined services
22 | #rosbuild_gensrv()
23 |
24 | #common commands for building c++ executables and libraries
25 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
26 | #target_link_libraries(${PROJECT_NAME} another_library)
27 | #rosbuild_add_boost_directories()
28 | #rosbuild_link_boost(${PROJECT_NAME} thread)
29 | #rosbuild_add_executable(example examples/example.cpp)
30 | #target_link_libraries(example ${PROJECT_NAME})
31 |
32 |
33 | rosbuild_add_boost_directories()
34 | find_package(Armadillo)
35 |
36 | rosbuild_add_library(feedbacklinearization src/feedbacklinearization.cpp src/functionlib.cpp)
37 | rosbuild_link_boost(feedbacklinearization thread)
38 | target_link_libraries(feedbacklinearization ${ARMADILLO_LIBRARY})
39 |
--------------------------------------------------------------------------------
/urdf/quad_hokuyo_laser.xacro:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | true
45 | 45
46 | 45
47 | 1
48 |
49 | 0.0 0.0 0.035
50 | false
51 |
52 | -180
53 | 180
54 |
55 | -90
56 | 90
57 |
58 | 90
59 | 90
60 |
61 |
62 | 1
63 | 4.0
64 | 0.001
65 | 10.0
66 |
67 |
68 | 0.005
69 | true
70 | 10.0
71 | full_cloud
72 | base_scan_link
73 |
74 |
75 |
76 |
77 |
78 |
79 | Erratic/Red
80 |
81 |
82 |
83 | Erratic/Red
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/report/references.bib:
--------------------------------------------------------------------------------
1 | @inproceedings{Al-Hiddabi2009,
2 | author = {Al-Hiddabi, S.A.},
3 | booktitle = {Mechatronics and its Applications, 2009. ISMA'09. 6th International Symposium on},
4 | file = {:home/davide/Documents/Library/Al-Hiddabi - 2009 - Quadrotor control using feedback linearization with dynamic extension.pdf:pdf},
5 | isbn = {9781424434817},
6 | keywords = {controll,feedback linearizzation,quadrotor,robotics},
7 | mendeley-tags = {controll,robotics},
8 | number = {1},
9 | pages = {1--3},
10 | publisher = {IEEE},
11 | title = {{Quadrotor control using feedback linearization with dynamic extension}},
12 | url = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=5164788},
13 | year = {2009}
14 | }
15 | @inproceedings{Isidori1986,
16 | author = {Isidori, A. and Moog, CH and {De Luca}, A.},
17 | booktitle = {Decision and Control, 1986 25th IEEE Conference on},
18 | file = {:home/davide/Documents/Library/Isidori, Moog, De Luca - 1986 - A sufficient condition for full linearization via dynamic state feedback.pdf:pdf},
19 | keywords = {controll,feedback linearizzation,non-linear controll,robotics},
20 | mendeley-tags = {controll,robotics},
21 | number = {December},
22 | pages = {203--208},
23 | publisher = {IEEE},
24 | title = {{A sufficient condition for full linearization via dynamic state feedback}},
25 | url = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=4048739},
26 | volume = {25},
27 | year = {1986}
28 | }
29 | @inproceedings{Mistler2001,
30 | abstract = {This paper presents a nonlinear dynamic model for a four rotors helicopter in a form suited for control de- sign. We show that the input-output decoupling prob- lem is not solvable for this model by means of a static state feedback control law. Then, a dynamic feed- back controller is developed which render the closed- loop system linear, controllable and nonintemctive af- ter a change of coordinates in the state-space. Finally, the stability and the robustness of the proposed control law in the presence of uind, turbulences and pammet- ric uncertainties is analyzed through a simulated case study.},
31 | author = {Mistler, V. and Benallegue, A. and M'Sirdi, N.K.},
32 | booktitle = {Robot and Human Interactive Communication, 2001. Proceedings. 10th IEEE International Workshop on},
33 | doi = {10.1109/ROMAN.2001.981968},
34 | file = {:home/davide/Documents/Library/Mistler, Benallegue, M'Sirdi - 2001 - Exact linearization and noninteracting control of a 4 rotors helicopter via dynamic feedback.pdf:pdf;:home/davide/Documents/Library/Mistler, Benallegue, M'Sirdi - 2001 - Exact linearization and noninteracting control of a 4 rotors helicopter via dynamic feedback.pdf:pdf},
35 | isbn = {0-7803-7222-0},
36 | keywords = {quadrotor,robotics},
37 | mendeley-tags = {quadrotor,robotics},
38 | pages = {586--593},
39 | publisher = {IEEE},
40 | title = {{Exact linearization and noninteracting control of a 4 rotors helicopter via dynamic feedback}},
41 | url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=981968 http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=981968},
42 | year = {2001}
43 | }
44 | @inproceedings{Park2001,
45 | author = {Park, M.G. and Jeon, J.H. and Lee, M.C.},
46 | booktitle = {Industrial Electronics, 2001. Proceedings. ISIE 2001. IEEE International Symposium on},
47 | file = {:home/davide/Documents/Library/Park, Jeon, Lee - 2001 - Obstacle avoidance for mobile robots using artificial potential field approach with simulated annealing.pdf:pdf},
48 | pages = {1530--1535},
49 | publisher = {IEEE},
50 | title = {{Obstacle avoidance for mobile robots using artificial potential field approach with simulated annealing}},
51 | url = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=931933},
52 | volume = {3},
53 | year = {2001}
54 | }
55 |
56 | @Book{RoboticsMPC,
57 | author = {B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo},
58 | ALTeditor = {Springer},
59 | title = {Robotics Modelling, Planning and Control},
60 | publisher = {Springer},
61 | year = {2008}
62 | }
63 |
64 | @Book{NonLinearKhalil,
65 | author = {H.K. Khalil},
66 | ALTeditor = {Prentice Hall},
67 | title = {Non-Linear System},
68 | publisher = {Prentice Hall},
69 | year = {1996}
70 | }
71 |
72 | @Book{NonLinearIsidoril,
73 | author = {A. Isidori},
74 | ALTeditor = {Springer},
75 | title = {Non-Linear Control System},
76 | publisher = {Springer},
77 | year = {1995}
78 | }
79 |
80 |
--------------------------------------------------------------------------------
/report/.gitignore:
--------------------------------------------------------------------------------
1 | ## Core latex/pdflatex auxiliary files:
2 | *.aux
3 | *.lof
4 | *.log
5 | *.lot
6 | *.fls
7 | *.out
8 | *.toc
9 | *.fmt
10 | *.fot
11 | *.cb
12 | *.cb2
13 | .*.lb
14 |
15 | ## Intermediate documents:
16 | *.dvi
17 | *.xdv
18 | *-converted-to.*
19 | # these rules might exclude image files for figures etc.
20 | # *.ps
21 | # *.eps
22 | # *.pdf
23 |
24 | ## Generated if empty string is given at "Please type another file name for output:"
25 | .pdf
26 |
27 | ## Bibliography auxiliary files (bibtex/biblatex/biber):
28 | *.bbl
29 | *.bcf
30 | *.blg
31 | *-blx.aux
32 | *-blx.bib
33 | *.run.xml
34 |
35 | ## Build tool auxiliary files:
36 | *.fdb_latexmk
37 | *.synctex
38 | *.synctex(busy)
39 | *.synctex.gz
40 | *.synctex.gz(busy)
41 | *.pdfsync
42 |
43 | ## Build tool directories for auxiliary files
44 | # latexrun
45 | latex.out/
46 |
47 | ## Auxiliary and intermediate files from other packages:
48 | # algorithms
49 | *.alg
50 | *.loa
51 |
52 | # achemso
53 | acs-*.bib
54 |
55 | # amsthm
56 | *.thm
57 |
58 | # beamer
59 | *.nav
60 | *.pre
61 | *.snm
62 | *.vrb
63 |
64 | # changes
65 | *.soc
66 |
67 | # comment
68 | *.cut
69 |
70 | # cprotect
71 | *.cpt
72 |
73 | # elsarticle (documentclass of Elsevier journals)
74 | *.spl
75 |
76 | # endnotes
77 | *.ent
78 |
79 | # fixme
80 | *.lox
81 |
82 | # feynmf/feynmp
83 | *.mf
84 | *.mp
85 | *.t[1-9]
86 | *.t[1-9][0-9]
87 | *.tfm
88 |
89 | #(r)(e)ledmac/(r)(e)ledpar
90 | *.end
91 | *.?end
92 | *.[1-9]
93 | *.[1-9][0-9]
94 | *.[1-9][0-9][0-9]
95 | *.[1-9]R
96 | *.[1-9][0-9]R
97 | *.[1-9][0-9][0-9]R
98 | *.eledsec[1-9]
99 | *.eledsec[1-9]R
100 | *.eledsec[1-9][0-9]
101 | *.eledsec[1-9][0-9]R
102 | *.eledsec[1-9][0-9][0-9]
103 | *.eledsec[1-9][0-9][0-9]R
104 |
105 | # glossaries
106 | *.acn
107 | *.acr
108 | *.glg
109 | *.glo
110 | *.gls
111 | *.glsdefs
112 | *.lzo
113 | *.lzs
114 |
115 | # uncomment this for glossaries-extra (will ignore makeindex's style files!)
116 | # *.ist
117 |
118 | # gnuplottex
119 | *-gnuplottex-*
120 |
121 | # gregoriotex
122 | *.gaux
123 | *.gtex
124 |
125 | # htlatex
126 | *.4ct
127 | *.4tc
128 | *.idv
129 | *.lg
130 | *.trc
131 | *.xref
132 |
133 | # hyperref
134 | *.brf
135 |
136 | # knitr
137 | *-concordance.tex
138 | # TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
139 | # *.tikz
140 | *-tikzDictionary
141 |
142 | # listings
143 | *.lol
144 |
145 | # luatexja-ruby
146 | *.ltjruby
147 |
148 | # makeidx
149 | *.idx
150 | *.ilg
151 | *.ind
152 |
153 | # minitoc
154 | *.maf
155 | *.mlf
156 | *.mlt
157 | *.mtc[0-9]*
158 | *.slf[0-9]*
159 | *.slt[0-9]*
160 | *.stc[0-9]*
161 |
162 | # minted
163 | _minted*
164 | *.pyg
165 |
166 | # morewrites
167 | *.mw
168 |
169 | # nomencl
170 | *.nlg
171 | *.nlo
172 | *.nls
173 |
174 | # pax
175 | *.pax
176 |
177 | # pdfpcnotes
178 | *.pdfpc
179 |
180 | # sagetex
181 | *.sagetex.sage
182 | *.sagetex.py
183 | *.sagetex.scmd
184 |
185 | # scrwfile
186 | *.wrt
187 |
188 | # sympy
189 | *.sout
190 | *.sympy
191 | sympy-plots-for-*.tex/
192 |
193 | # pdfcomment
194 | *.upa
195 | *.upb
196 |
197 | # pythontex
198 | *.pytxcode
199 | pythontex-files-*/
200 |
201 | # tcolorbox
202 | *.listing
203 |
204 | # thmtools
205 | *.loe
206 |
207 | # TikZ & PGF
208 | *.dpth
209 | *.md5
210 | *.auxlock
211 |
212 | # todonotes
213 | *.tdo
214 |
215 | # vhistory
216 | *.hst
217 | *.ver
218 |
219 | # easy-todo
220 | *.lod
221 |
222 | # xcolor
223 | *.xcp
224 |
225 | # xmpincl
226 | *.xmpi
227 |
228 | # xindy
229 | *.xdy
230 |
231 | # xypic precompiled matrices and outlines
232 | *.xyc
233 | *.xyd
234 |
235 | # endfloat
236 | *.ttt
237 | *.fff
238 |
239 | # Latexian
240 | TSWLatexianTemp*
241 |
242 | ## Editors:
243 | # WinEdt
244 | *.bak
245 | *.sav
246 |
247 | # Texpad
248 | .texpadtmp
249 |
250 | # LyX
251 | *.lyx~
252 |
253 | # Kile
254 | *.backup
255 |
256 | # gummi
257 | .*.swp
258 |
259 | # KBibTeX
260 | *~[0-9]*
261 |
262 | # TeXnicCenter
263 | *.tps
264 |
265 | # auto folder when using emacs and auctex
266 | ./auto/*
267 | *.el
268 |
269 | # expex forward references with \gathertags
270 | *-tags.tex
271 |
272 | # standalone packages
273 | *.sta
274 |
275 | # Makeindex log files
276 | *.lpz
277 |
278 | # xwatermark package
279 | *.xwm
280 |
281 | # REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
282 | # option is specified. Footnotes are the stored in a file with suffix Notes.bib.
283 | # Uncomment the next line to have this generated file ignored.
284 | #*Notes.bib
--------------------------------------------------------------------------------
/world/empty.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
20 |
21 | 4
22 | 5
23 |
24 |
25 |
26 |
27 |
28 | 0.001
29 | 0 0 -9.8
30 | 0.0000000001
31 | 0.2
32 | true
33 | 10
34 | 1.3
35 | 100.0
36 | 0.001
37 |
38 |
39 |
40 | 37.4270909558-122.077919338
41 |
42 |
43 |
44 | fltk
45 | 480 320
46 | 0 0
47 |
48 |
49 |
50 | 0.3 0 3
51 | 0 90 90
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 | 0.5 0.5 0.5 0.5
60 |
61 | Gazebo/CloudySky
62 |
63 | false
64 | 10.
65 | none
66 | false
67 |
68 |
69 |
70 |
71 | 0 0 0
72 | 0 0 0
73 | true
74 |
75 |
76 |
77 | 2000.0
78 | 50.0
79 | 50.0
80 | 1000000000.0
81 | 1.0
82 | 0 0 1
83 | 51.3 51.3
84 | 10 10
85 | 100 100
86 | Gazebo/GrayGrid
87 |
88 |
89 |
90 |
91 |
98 |
116 |
117 |
118 |
119 | 0.0 0.0 8
120 | false
121 |
122 | point
123 | 0.5 0.5 0.5
124 | .1 .1 .1
125 | 0.2 0.1 0
126 | 10
127 |
128 |
129 |
130 |
131 |
--------------------------------------------------------------------------------
/include/quadrotor_obstacle_avoidance/feedbacklinearization.h:
--------------------------------------------------------------------------------
1 | /**
2 | This file is part of ROS Quadrotor Feedback Controller.
3 |
4 | Foobar is free software; you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation; either version 2 of the License, or
7 | any later version.
8 |
9 | ROS Quadrotor Feedback Controller is distributed in the hope that it will
10 | be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
12 | Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License along
15 | with ROS Quadrotor Feedback Controller; if not, write to the Free Software
16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 | **/
18 | #ifndef FEEDBACKLINEARIZATION_HH
19 | #define FEEDBACKLINEARIZATION_HH
20 |
21 | #include