├── README.md
├── grid_motion_planning
├── Artificial Potential field
│ ├── GradientBasedPlanner.m
│ ├── PotentialFieldScript.m
│ ├── artificial_potential.gif
│ ├── quiver_plot.jpg
│ └── total_potential.jpg
└── Dijkstra_Astar
│ ├── AStarGrid.m
│ ├── AstarGrid.gif
│ ├── DijkstraGrid.gif
│ ├── DijkstraGrid.m
│ └── TestScript1.m
└── quadcopter_gazebo
├── CMakeLists.txt
├── launch
├── gmap.launch
├── octomap_uav.launch
└── uav.launch
├── meshes
├── hokuyo.dae
├── hokuyo_convex.stl
├── kinect.dae
└── quadrotor_base.dae
├── models
├── Box
│ ├── model.config
│ └── model.sdf
├── BoxesLargeOnPallet
│ ├── materials
│ │ └── scripts
│ │ │ └── BoxesLargeOnPallet.material
│ ├── model.config
│ └── model.sdf
├── D60
│ ├── D60.dae
│ └── D60
│ │ ├── Carpet_Diamond_Olive.jpg
│ │ ├── Carpet_Loop_Pattern.jpg
│ │ └── Carpet_Pattern_Leaf_Squares_Tan.jpg
├── big_box
│ ├── materials
│ │ └── textures
│ │ │ ├── Kraft_Tile.jpg
│ │ │ ├── barcode.png
│ │ │ ├── front.pdn
│ │ │ ├── front.png
│ │ │ ├── side1.pdn
│ │ │ ├── side1.png
│ │ │ ├── side2.pdn
│ │ │ └── side2.png
│ ├── meshes
│ │ └── big_box.dae
│ ├── model.config
│ └── model.sdf
├── depth_camera
│ ├── depth_camera.sdf
│ ├── depth_camera.sdf.jinja
│ ├── depth_camera.sdf.last_generated
│ ├── meshes
│ │ ├── hokuyo.dae
│ │ └── hokuyo_convex.stl
│ └── model.config
├── fla_hotel_3doors
│ ├── fla_hotel_3doors.dae
│ ├── fla_hotel_3doors.skb
│ ├── fla_hotel_3doors.skp
│ └── fla_hotel_3doors
│ │ ├── Carrera_Marble.jpg
│ │ ├── Granite_Dark_Gray.jpg
│ │ ├── Stone_Vein_Gray.jpg
│ │ ├── Stone_Vein_Gray_0.jpg
│ │ └── Wood_OSB.jpg
├── fla_office
│ ├── fla_office.dae
│ ├── fla_office.stl
│ └── fla_office
│ │ ├── Beadboard.jpg
│ │ ├── Brick_Colored_Blue.jpg
│ │ ├── Brick_Colored_Blue_3.jpg
│ │ ├── Carrera_Marble.jpg
│ │ ├── Cladding_Siding_Tan.jpg
│ │ ├── Leather_Blue.jpg
│ │ ├── Marble_Carrara_Floor_Tile.jpg
│ │ ├── Modern_Siding.jpg
│ │ ├── Modern_Siding_0.jpg
│ │ ├── Modern_Siding_1.jpg
│ │ ├── Mosaic_Hexagonal_Tile.jpg
│ │ ├── Rough_Square_Concrete_Block.jpg
│ │ ├── Rough_Square_Concrete_Block_2.jpg
│ │ ├── Rough_Square_Concrete_Block_3.jpg
│ │ ├── Tile_Ceramic_Multi.jpg
│ │ ├── Tile_Navy.jpg
│ │ ├── Tile_Navy_0.jpg
│ │ ├── White_Square_Tile.jpg
│ │ ├── White_Subway_Tile.jpg
│ │ ├── White_Subway_Tile_1.jpg
│ │ ├── White_Subway_Tile_2.jpg
│ │ ├── Wood_Cherry_Original.jpg
│ │ ├── __Carpet_Pattern_Squares_Multi_1.jpg
│ │ ├── __Metal_Corrogated_Shiny_4.jpg
│ │ ├── grey_gloss.jpg
│ │ ├── material_1.jpg
│ │ ├── material_2.jpg
│ │ ├── material_3.jpg
│ │ ├── stainless_steel.jpg
│ │ ├── stainless_steel2.jpg
│ │ ├── stainless_steel2_0.jpg
│ │ └── stainless_steel2_1.jpg
├── forest0
│ ├── Tree1.dae
│ ├── Tree2.dae
│ ├── Tree3.dae
│ ├── Tree4.dae
│ ├── Tree5.dae
│ ├── Tree6.dae
│ └── forest0
│ │ ├── Tree1.dae
│ │ ├── Tree2.dae
│ │ ├── Tree3.dae
│ │ ├── Tree4.dae
│ │ ├── Tree5.dae
│ │ ├── Tree6.dae
│ │ ├── bark.jpg
│ │ ├── bark.png
│ │ ├── bark_loo.jpg
│ │ ├── blatt.jpg
│ │ ├── blatt.png
│ │ ├── blatt1.jpg
│ │ ├── blatt1_a.jpg
│ │ ├── nadeln4.jpg
│ │ ├── nadeln4.png
│ │ ├── nadeln4a.jpg
│ │ ├── nadeln4a.png
│ │ ├── stamm2.jpg
│ │ ├── stamm2.png
│ │ ├── stamm21.jpg
│ │ ├── stamm21.png
│ │ └── stamm22.jpg
├── ground_plane_residential
│ ├── model-1_2.sdf
│ ├── model-1_3.sdf
│ ├── model-1_4.sdf
│ ├── model.config
│ └── model.sdf
├── iris
│ ├── iris.sdf
│ ├── iris.sdf.jinja
│ ├── iris.sdf.last_generated
│ ├── meshes
│ │ ├── iris.stl
│ │ ├── iris_prop_ccw.dae
│ │ └── iris_prop_cw.dae
│ └── model.config
├── iris_depth_camera
│ ├── iris_depth_camera.sdf
│ └── model.config
├── occupancy_grid
│ ├── model.config
│ └── occupancy_grid.sdf
├── ros_interface
│ ├── model.config
│ └── model.sdf
└── rplidar
│ ├── model.config
│ └── model.sdf
├── package.xml
├── src
├── px4_offboard.py
└── teleop.py
└── worlds
├── D60.world
├── basic.world
├── cyl_pillars.world
├── empty.world
├── forest_Large.world
├── outdoor.world
├── pillars.world
├── quad.world
├── warehouse.world
└── waypoint.world
/README.md:
--------------------------------------------------------------------------------
1 |
2 | ## Grid Motion Planning
3 | In this project, we aim to learn and implement different motion planning algorithms.
4 |
5 | ### Path planning algorithms for point object
6 | **Dijkstra**
7 |
8 | 
9 |
10 | **A star**
11 |
12 | 
13 |
14 | **Artificial Potential Field**
15 |
16 | 
17 |
18 | **Quiver Plot for APF method**
19 |
20 | 
21 |
22 |
23 |
24 | ### References
25 |
26 | * [Autonomous Navigation, Part 4: Path Planning with A* and RRT, by MATLAB](https://www.youtube.com/watch?v=QR3U1dgc5RE)
27 | * [A* playlist by Sebastian Lague](https://www.youtube.com/watch?v=-L-WgKMFuhE)
28 | * [RRT, RRT* & Random Trees by Aaron Becker](https://youtu.be/Ob3BIJkQJEw)
29 | * [Robotics: Computational Motion Planning ](https://www.coursera.org/learn/robotics-motion-planning/home/welcome)
30 |
31 |
--------------------------------------------------------------------------------
/grid_motion_planning/Artificial Potential field/GradientBasedPlanner.m:
--------------------------------------------------------------------------------
1 | function route = GradientBasedPlanner (f, start_coords, end_coords, max_its)
2 | % GradientBasedPlanner : This function plans a path through a 2D
3 | % environment from a start to a destination based on the gradient of the
4 | % function f which is passed in as a 2D array. The two arguments
5 | % start_coords and end_coords denote the coordinates of the start and end
6 | % positions respectively in the array while max_its indicates an upper
7 | % bound on the number of iterations that the system can use before giving
8 | % up.
9 | % The output, route, is an array with 2 columns and n rows where the rows
10 | % correspond to the coordinates of the robot as it moves along the route.
11 | % The first column corresponds to the x coordinate and the second to the y coordinate
12 |
13 | [gx, gy] = gradient(-f);
14 |
15 |
16 | %%% All of your code should be between the two lines of stars.
17 | % *******************************************************************
18 | route = start_coords;
19 | current_coords = start_coords;
20 | norm = sqrt(gx.*gx + gy.*gy);
21 | gx = gx./norm;
22 | gy = gy./norm;
23 |
24 |
25 |
26 | for i = 1:max_its
27 | a = end_coords-current_coords;
28 | norm_a = sqrt(a(1).*a(1) + a(2).*a(2));
29 | current_pos(1) = round(current_coords(1));
30 | current_pos(2) = round(current_coords(2));
31 | if norm_a >=2
32 | next_coords = [current_coords(1)+gx(current_pos(2),current_pos(1)),current_coords(2)+gy(current_pos(2),current_pos(1))];
33 | route = [route;next_coords];
34 | next_coords;
35 | current_coords = next_coords;
36 | else
37 | break;
38 | end
39 | end
40 |
41 | % *******************************************************************
42 | end
43 |
--------------------------------------------------------------------------------
/grid_motion_planning/Artificial Potential field/PotentialFieldScript.m:
--------------------------------------------------------------------------------
1 | %
2 | % PotentialFieldScript.m
3 | %
4 |
5 | %% Generate some points
6 |
7 | nrows = 400;
8 | ncols = 600;
9 |
10 | obstacle = false(nrows, ncols);
11 |
12 | [x, y] = meshgrid (1:ncols, 1:nrows);
13 |
14 | %% Generate some obstacle
15 |
16 | obstacle (300:end, 100:250) = true;
17 | obstacle (150:200, 400:500) = true;
18 |
19 | t = ((x - 200).^2 + (y - 50).^2) < 50^2;
20 | obstacle(t) = true;
21 |
22 | t = ((x - 400).^2 + (y - 300).^2) < 100^2;
23 | obstacle(t) = true;
24 |
25 | %% Compute distance transform
26 |
27 | d = bwdist(obstacle);
28 |
29 | % Rescale and transform distances
30 |
31 | d2 = (d/100) + 1;
32 |
33 | d0 = 2;
34 | nu = 800;
35 |
36 | repulsive = nu*((1./d2 - 1/d0).^2);
37 |
38 | repulsive (d2 > d0) = 0;
39 |
40 |
41 | %% Display repulsive potential
42 |
43 | figure;
44 | m = mesh (repulsive);
45 | m.FaceLighting = 'phong';
46 | axis equal;
47 |
48 | title ('Repulsive Potential');
49 |
50 | %% Compute attractive force
51 |
52 | goal = [400, 50];
53 |
54 | xi = 1/700;
55 |
56 | attractive = xi * ( (x - goal(1)).^2 + (y - goal(2)).^2 );
57 |
58 | figure;
59 | m = mesh (attractive);
60 | m.FaceLighting = 'phong';
61 | axis equal;
62 |
63 | title ('Attractive Potential');
64 |
65 | %% Display 2D configuration space
66 |
67 | figure;
68 | imshow(~obstacle);
69 |
70 | hold on;
71 | plot (goal(1), goal(2), 'r.', 'MarkerSize', 25);
72 | hold off;
73 |
74 | axis ([0 ncols 0 nrows]);
75 | axis xy;
76 | axis on;
77 |
78 | xlabel ('x');
79 | ylabel ('y');
80 |
81 | title ('Configuration Space');
82 |
83 | %% Combine terms
84 |
85 | f = attractive + repulsive;
86 |
87 | figure;
88 | m = mesh (f);
89 | m.FaceLighting = 'phong';
90 | axis equal;
91 |
92 | title ('Total Potential');
93 |
94 | %% Plan route
95 | start = [30, 350];
96 |
97 | route = GradientBasedPlanner (f, start, goal, 1000);
98 |
99 | %% Plot the energy surface
100 |
101 | figure;
102 | m = mesh (f);
103 | axis equal;
104 |
105 | %% Plot ball sliding down hill
106 | video1 = VideoWriter('artificial_potential'); %creating animation
107 | video1.FrameRate = 20;
108 | open(video1)
109 | [sx, sy, sz] = sphere(20);
110 |
111 | scale = 20;
112 | sx = scale*sx;
113 | sy = scale*sy;
114 | sz = scale*(sz+1);
115 |
116 | hold on;
117 | p = mesh(sx, sy, sz);
118 | p.FaceColor = 'red';
119 | p.EdgeColor = 'none';
120 | p.FaceLighting = 'phong';
121 | hold off;
122 |
123 | for i = 1:size(route,1)
124 | P = round(route(i,:));
125 | z = f(P(2), P(1));
126 |
127 | p.XData = sx + P(1);
128 | p.YData = sy + P(2);
129 | p.ZData = sz + f(P(2), P(1));
130 |
131 | drawnow;
132 |
133 | drawnow;
134 | frame = getframe(gcf); %get frame
135 | writeVideo(video1, frame);
136 | end
137 | close(video1)
138 | %% quiver plot
139 | [gx, gy] = gradient (-f);
140 | skip = 20;
141 |
142 | figure;
143 |
144 | xidx = 1:skip:ncols;
145 | yidx = 1:skip:nrows;
146 |
147 | quiver (x(yidx,xidx), y(yidx,xidx), gx(yidx,xidx), gy(yidx,xidx), 0.4);
148 |
149 | axis ([1 ncols 1 nrows]);
150 |
151 | hold on;
152 |
153 | ps = plot(start(1), start(2), 'r.', 'MarkerSize', 30);
154 | pg = plot(goal(1), goal(2), 'g.', 'MarkerSize', 30);
155 | p3 = plot (route(:,1), route(:,2), 'r', 'LineWidth', 2);
156 |
--------------------------------------------------------------------------------
/grid_motion_planning/Artificial Potential field/artificial_potential.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/grid_motion_planning/Artificial Potential field/artificial_potential.gif
--------------------------------------------------------------------------------
/grid_motion_planning/Artificial Potential field/quiver_plot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/grid_motion_planning/Artificial Potential field/quiver_plot.jpg
--------------------------------------------------------------------------------
/grid_motion_planning/Artificial Potential field/total_potential.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/grid_motion_planning/Artificial Potential field/total_potential.jpg
--------------------------------------------------------------------------------
/grid_motion_planning/Dijkstra_Astar/AStarGrid.m:
--------------------------------------------------------------------------------
1 | function [route,numExpanded] = AStarGrid (input_map, start_coords, dest_coords)
2 | % Run A* algorithm on a grid.
3 | % Inputs :
4 | % input_map : a logical array where the freespace cells are false or 0 and
5 | % the obstacles are true or 1
6 | % start_coords and dest_coords : Coordinates of the start and end cell
7 | % respectively, the first entry is the row and the second the column.
8 | % Output :
9 | % route : An array containing the linear indices of the cells along the
10 | % shortest route from start to dest or an empty array if there is no
11 | % route. This is a single dimensional vector
12 | % numExpanded: Remember to also return the total number of nodes
13 | % expanded during your search. Do not count the goal node as an expanded node.
14 |
15 | % set up color map for display
16 | % 1 - white - clear cell
17 | % 2 - black - obstacle
18 | % 3 - red = visited
19 | % 4 - blue - on list
20 | % 5 - green - start
21 | % 6 - yellow - destination
22 |
23 | cmap = [1 1 1; ...
24 | 0 0 0; ...
25 | 1 0 0; ...
26 | 0 0 1; ...
27 | 0 1 0; ...
28 | 1 1 0; ...
29 | 0.5 0.5 0.5];
30 |
31 | colormap(cmap);
32 |
33 | % variable to control if the map is being visualized on every
34 | % iteration
35 | drawMapEveryTime = true;
36 |
37 | [nrows, ncols] = size(input_map);
38 |
39 | % map - a table that keeps track of the state of each grid cell
40 | map = zeros(nrows,ncols);
41 |
42 | map(~input_map) = 1; % Mark free cells
43 | map(input_map) = 2; % Mark obstacle cells
44 |
45 | % Generate linear indices of start and dest nodes
46 | start_node = sub2ind(size(map), start_coords(1), start_coords(2));
47 | dest_node = sub2ind(size(map), dest_coords(1), dest_coords(2));
48 |
49 | map(start_node) = 5;
50 | map(dest_node) = 6;
51 |
52 | % meshgrid will `replicate grid vectors' nrows and ncols to produce
53 | % a full grid
54 | % type `help meshgrid' in the Matlab command prompt for more information
55 | parent = zeros(nrows,ncols);
56 |
57 | %
58 | [X, Y] = meshgrid (1:ncols, 1:nrows);
59 | X = X';
60 | Y = Y';
61 |
62 | xd = dest_coords(1);
63 | yd = dest_coords(2);
64 |
65 | % Evaluate Heuristic function, H, for each grid cell
66 | % Manhattan distance
67 | dx = X-xd;
68 | dy = Y-yd;
69 | H = sqrt(dx.*dx + dy.*dy);
70 |
71 |
72 | % Initialize cost arrays
73 | f = Inf(nrows,ncols);
74 | g = Inf(nrows,ncols);
75 |
76 | g(start_node) = 0;
77 | f(start_node) = H(start_node);
78 |
79 | % keep track of the number of nodes that are expanded
80 | numExpanded = 0;
81 |
82 | % Main Loop
83 |
84 |
85 | while true
86 |
87 | % Draw current map
88 | map(start_node) = 5;
89 | map(dest_node) = 6;
90 |
91 | % make drawMapEveryTime = true if you want to see how the
92 | % nodes are expanded on the grid.
93 |
94 | if (drawMapEveryTime)
95 | image(1.5, 1.5, map);
96 | grid on;
97 | axis image;
98 | drawnow;
99 |
100 | end
101 |
102 | % Find the node with the minimum f value
103 | [min_f, current] = min(f(:));
104 |
105 | if ((current == dest_node) || isinf(min_f))
106 | numExpanded = numExpanded-1;
107 | break;
108 | end;
109 | numExpanded = numExpanded+1;
110 | % Update input_map
111 | map(current) = 3;
112 | f(current) = Inf; % remove this node from further consideration
113 |
114 | % Compute row, column coordinates of current node
115 | [i, j] = ind2sub(size(f), current);
116 |
117 | % *********************************************************************
118 | % ALL YOUR CODE BETWEEN THESE LINES OF STARS
119 | % Visit all of the neighbors around the current node and update the
120 | % entries in the map, f, g and parent arrays
121 | %
122 | [p1,p2]=ind2sub(size(map),parent(i,j));
123 | numExpanded = numExpanded+1;
124 |
125 | if i+1<=nrows
126 | if (map(i+1,j) == 1 || map(i+1,j) == 6) && (i+1~=p1 || j~=p2)
127 | map(i+1,j) = 4;
128 | g(i+1,j) = g(i,j)+1;
129 | f(i+1,j) = g(i+1,j)+H(i+1,j);
130 | parent(i+1,j) = current;
131 | end
132 | end
133 | if j+1<=ncols
134 | if (map(i,j+1) == 1 || map(i,j+1) == 6) && (i~=p1 || j+1~=p2)
135 | map(i,j+1) = 4;
136 | g(i,j+1) = g(i,j)+1;
137 | f(i,j+1) = g(i,j+1)+H(i,j+1);
138 | parent(i,j+1) = current;
139 | end
140 | end
141 | if i-1>=1
142 | if (map(i-1,j) == 1 || map(i-1,j) == 6 ) && (i-1~=p1 || j~=p2)
143 | map(i-1,j) = 4;
144 | g(i-1,j) = g(i,j)+1;
145 | f(i-1,j) = g(i-1,j)+H(i-1,j);
146 | parent(i-1,j) = current;
147 | end
148 | end
149 | if j-1>=1
150 | if (map(i,j-1) == 1 || map(i,j-1) == 6 ) && (i~=p1 || j-1~=p2)
151 | map(i,j-1) = 4;
152 | g(i,j-1) = g(i,j)+1;
153 | f(i,j-1) = g(i,j-1)+H(i,j-1);
154 | parent(i,j-1) = current;
155 | end
156 | end
157 |
158 | %*********************************************************************
159 |
160 |
161 | end
162 |
163 | %% Construct route from start to dest by following the parent links
164 | if (isinf(f(dest_node)))
165 | route = [];
166 | else
167 | route = [dest_node];
168 |
169 | while (parent(route(1)) ~= 0)
170 | route = [parent(route(1)), route];
171 | end
172 |
173 |
174 |
175 | video1 = VideoWriter('astar5'); %creating animation
176 | video1.FrameRate = 20;
177 | open(video1)
178 |
179 | % Snippet of code used to visualize the map and the path
180 | for k = 2:length(route) - 1
181 | map(route(k)) = 7;
182 | pause(0.01);
183 | image(1.5, 1.5, map);
184 | grid on;
185 | axis image;
186 | frame = getframe(gcf); %get frame
187 | writeVideo(video1, frame);
188 | end
189 | close(video1)
190 | end
191 |
192 | end
193 |
--------------------------------------------------------------------------------
/grid_motion_planning/Dijkstra_Astar/AstarGrid.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/grid_motion_planning/Dijkstra_Astar/AstarGrid.gif
--------------------------------------------------------------------------------
/grid_motion_planning/Dijkstra_Astar/DijkstraGrid.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/grid_motion_planning/Dijkstra_Astar/DijkstraGrid.gif
--------------------------------------------------------------------------------
/grid_motion_planning/Dijkstra_Astar/DijkstraGrid.m:
--------------------------------------------------------------------------------
1 | function [route,numExpanded] = DijkstraGrid (input_map, start_coords, dest_coords)
2 | % Run Dijkstra's algorithm on a grid.
3 | % Inputs :
4 | % input_map : a logical array where the freespace cells are false or 0 and
5 | % the obstacles are true or 1
6 | % start_coords and dest_coords : Coordinates of the start and end cell
7 | % respectively, the first entry is the row and the second the column.
8 | % Output :
9 | % route : An array containing the linear indices of the cells along the
10 | % shortest route from start to dest or an empty array if there is no
11 | % route. This is a single dimensional vector
12 | % numExpanded: Remember to also return the total number of nodes
13 | % expanded during your search. Do not count the goal node as an expanded node.
14 |
15 |
16 | % set up color map for display
17 | % 1 - white - clear cell
18 | % 2 - black - obstacle
19 | % 3 - red = visited
20 | % 4 - blue - on list
21 | % 5 - green - start
22 | % 6 - yellow - destination
23 |
24 | cmap = [1 1 1; ...
25 | 0 0 0; ...
26 | 1 0 0; ...
27 | 0 0 1; ...
28 | 0 1 0; ...
29 | 1 1 0; ...
30 | 0 0.95 0];
31 |
32 | colormap(cmap);
33 |
34 | % variable to control if the map is being visualized on every
35 | % iteration
36 | drawMapEveryTime = true;
37 |
38 | [nrows, ncols] = size(input_map);
39 |
40 | % map - a table that keeps track of the state of each grid cell
41 | map = zeros(nrows,ncols);
42 |
43 | map(~input_map) = 1; % Mark free cells
44 | map(input_map) = 2; % Mark obstacle cells
45 |
46 | % Generate linear indices of start and dest nodes
47 | start_node = sub2ind(size(map), start_coords(1), start_coords(2));
48 | dest_node = sub2ind(size(map), dest_coords(1), dest_coords(2));
49 |
50 | map(start_node) = 5;
51 | map(dest_node) = 6;
52 |
53 | % Initialize distance array
54 | distanceFromStart = Inf(nrows,ncols);
55 |
56 | % For each grid cell this array holds the index of its parent
57 | parent = zeros(nrows,ncols);
58 |
59 | distanceFromStart(start_node) = 0;
60 |
61 | % keep track of number of nodes expanded
62 | numExpanded = 0;
63 |
64 | % Main Loop
65 | while true
66 |
67 | % Draw current map
68 | map(start_node) = 5;
69 | map(dest_node) = 6;
70 |
71 | % make drawMapEveryTime = true if you want to see how the
72 | % nodes are expanded on the grid.
73 |
74 | if (drawMapEveryTime)
75 | image(1.5, 1.5, map);
76 | grid on;
77 | axis image;
78 |
79 | end
80 |
81 | % Find the node with the minimum distance
82 | [min_dist, current] = min(distanceFromStart(:));
83 |
84 | if ((current == dest_node) || isinf(min_dist))
85 | numExpanded = numExpanded-1;
86 | break
87 | end
88 | numExpanded = numExpanded+1;
89 | % Update map
90 | map(current) = 3; % mark current node as visited
91 | distanceFromStart(current) = Inf; % remove this node from further consideration
92 |
93 | % Compute row, column coordinates of current node
94 | [i, j] = ind2sub(size(distanceFromStart), current);
95 |
96 | % *********************************************************************
97 | % YOUR CODE BETWEEN THESE LINES OF STARS
98 |
99 | % Visit each neighbor of the current node and update the map, distances
100 | % and parent tables appropriately.
101 | [p1,p2]=ind2sub(size(map),parent(i,j));
102 |
103 | if i+1<=nrows
104 | if (map(i+1,j) == 1 || map(i+1,j) == 6) && (i+1~=p1 || j~=p2)
105 | map(i+1,j) = 4;
106 | distanceFromStart(i+1,j) = min_dist+1;
107 | parent(i+1,j) = current;
108 | end
109 | end
110 | if j+1<=ncols
111 | if (map(i,j+1) == 1 || map(i,j+1) == 6) && (i~=p1 || j+1~=p2)
112 | map(i,j+1) = 4;
113 | distanceFromStart(i,j+1) = min_dist+1;
114 | parent(i,j+1) = current;
115 | end
116 | end
117 | if i-1>=1
118 | if (map(i-1,j) == 1 || map(i-1,j) == 6 ) && (i-1~=p1 || j~=p2)
119 | map(i-1,j) = 4;
120 | distanceFromStart(i-1,j) = min_dist+1;
121 | parent(i-1,j) = current;
122 | end
123 | end
124 | if j-1>=1
125 | if (map(i,j-1) == 1 || map(i,j-1) == 6 ) && (i~=p1 || j-1~=p2)
126 | map(i,j-1) = 4;
127 | distanceFromStart(i,j-1) = min_dist+1;
128 | parent(i,j-1) = current;
129 | end
130 | end
131 |
132 | %*********************************************************************
133 |
134 | end
135 | %% Construct route from start to dest by following the parent links
136 | if (isinf(distanceFromStart(dest_node)))
137 | route = [];
138 | else
139 | route = [dest_node];
140 |
141 | while (parent(route(1)) ~= 0)
142 | route = [parent(route(1)), route];
143 | end
144 |
145 | %for making all free cell white again
146 | %for n = 1:sub2ind(size(map),nrows,ncols)
147 | % if map(n) == 3 || map(n) == 4
148 | % map(n) = 1;
149 | % end
150 | video1 = VideoWriter('dijkstra5'); %creating animation
151 | video1.FrameRate = 20;
152 | open(video1)
153 |
154 | % Snippet of code used to visualize the map and the path
155 | for k = 2:length(route) - 1
156 | map(route(k)) = 7;
157 | pause(0.01);
158 | image(1.5, 1.5, map);
159 | grid on;
160 | axis image;
161 | frame = getframe(gcf); %get frame
162 | writeVideo(video1, frame);
163 | end
164 | close(video1)
165 | end
166 |
167 | end
168 |
--------------------------------------------------------------------------------
/grid_motion_planning/Dijkstra_Astar/TestScript1.m:
--------------------------------------------------------------------------------
1 | %
2 | % TestScript for Assignment 1
3 | %
4 |
5 | % map = false(50);
6 | %
7 | % map(5,5:7) = true;
8 | % map(6:7,7) = true;
9 | % start_coords = [1,2];
10 | % dest_coords = [48, 48];
11 |
12 | %% Define a small map
13 |
14 | map = false(80);
15 |
16 | %Add an obstacle
17 | map(1:20,9:16) = true;
18 | map(6:45,36:42) = true;
19 | map(50:70,56:62) = true;
20 | map(1:23,55:61) = true;
21 | map(17:27,76:79) = true;
22 | map(31:46,76:79) = true;
23 |
24 | start_coords = [24, 2];
25 | dest_coords = [80, 80];
26 |
27 |
28 | %%
29 | close all;
30 | [route, numExpanded] = DijkstraGrid (map, start_coords, dest_coords);
31 | %Uncomment following line to run Astar
32 | %[route, numExpanded] = AStarGrid (map, start_coords, dest_coords);
33 |
34 | %HINT: With default start and destination coordinates defined above, numExpanded for Dijkstras should be 76, numExpanded for Astar should be 23.
35 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(quadcopter)
3 |
4 | ## Compile as C++11, supported in ROS Kinetic and newer
5 | # add_compile_options(-std=c++11)
6 |
7 | ## Find catkin macros and libraries
8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
9 | ## is used, also find other catkin packages
10 | find_package(catkin REQUIRED COMPONENTS
11 | rospy
12 | std_msgs
13 | )
14 |
15 | ## System dependencies are found with CMake's conventions
16 | # find_package(Boost REQUIRED COMPONENTS system)
17 |
18 |
19 | ## Uncomment this if the package has a setup.py. This macro ensures
20 | ## modules and global scripts declared therein get installed
21 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
22 | # catkin_python_setup()
23 |
24 | ################################################
25 | ## Declare ROS messages, services and actions ##
26 | ################################################
27 |
28 | ## To declare and build messages, services or actions from within this
29 | ## package, follow these steps:
30 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in
31 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
32 | ## * In the file package.xml:
33 | ## * add a build_depend tag for "message_generation"
34 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
35 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
36 | ## but can be declared for certainty nonetheless:
37 | ## * add a exec_depend tag for "message_runtime"
38 | ## * In this file (CMakeLists.txt):
39 | ## * add "message_generation" and every package in MSG_DEP_SET to
40 | ## find_package(catkin REQUIRED COMPONENTS ...)
41 | ## * add "message_runtime" and every package in MSG_DEP_SET to
42 | ## catkin_package(CATKIN_DEPENDS ...)
43 | ## * uncomment the add_*_files sections below as needed
44 | ## and list every .msg/.srv/.action file to be processed
45 | ## * uncomment the generate_messages entry below
46 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
47 |
48 | ## Generate messages in the 'msg' folder
49 | # add_message_files(
50 | # FILES
51 | # Message1.msg
52 | # Message2.msg
53 | # )
54 |
55 | ## Generate services in the 'srv' folder
56 | # add_service_files(
57 | # FILES
58 | # Service1.srv
59 | # Service2.srv
60 | # )
61 |
62 | ## Generate actions in the 'action' folder
63 | # add_action_files(
64 | # FILES
65 | # Action1.action
66 | # Action2.action
67 | # )
68 |
69 | ## Generate added messages and services with any dependencies listed here
70 | # generate_messages(
71 | # DEPENDENCIES
72 | # std_msgs
73 | # )
74 |
75 | ################################################
76 | ## Declare ROS dynamic reconfigure parameters ##
77 | ################################################
78 |
79 | ## To declare and build dynamic reconfigure parameters within this
80 | ## package, follow these steps:
81 | ## * In the file package.xml:
82 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
83 | ## * In this file (CMakeLists.txt):
84 | ## * add "dynamic_reconfigure" to
85 | ## find_package(catkin REQUIRED COMPONENTS ...)
86 | ## * uncomment the "generate_dynamic_reconfigure_options" section below
87 | ## and list every .cfg file to be processed
88 |
89 | ## Generate dynamic reconfigure parameters in the 'cfg' folder
90 | # generate_dynamic_reconfigure_options(
91 | # cfg/DynReconf1.cfg
92 | # cfg/DynReconf2.cfg
93 | # )
94 |
95 | ###################################
96 | ## catkin specific configuration ##
97 | ###################################
98 | ## The catkin_package macro generates cmake config files for your package
99 | ## Declare things to be passed to dependent projects
100 | ## INCLUDE_DIRS: uncomment this if your package contains header files
101 | ## LIBRARIES: libraries you create in this project that dependent projects also need
102 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need
103 | ## DEPENDS: system dependencies of this project that dependent projects also need
104 | catkin_package(
105 | # INCLUDE_DIRS include
106 | # LIBRARIES quadcopter
107 | # CATKIN_DEPENDS rospy std_msgs
108 | # DEPENDS system_lib
109 | )
110 |
111 | ###########
112 | ## Build ##
113 | ###########
114 |
115 | ## Specify additional locations of header files
116 | ## Your package locations should be listed before other locations
117 | include_directories(
118 | # include
119 | ${catkin_INCLUDE_DIRS}
120 | )
121 |
122 | ## Declare a C++ library
123 | # add_library(${PROJECT_NAME}
124 | # src/${PROJECT_NAME}/fly_bot.cpp
125 | # )
126 |
127 | ## Add cmake target dependencies of the library
128 | ## as an example, code may need to be generated before libraries
129 | ## either from message generation or dynamic reconfigure
130 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
131 |
132 | ## Declare a C++ executable
133 | ## With catkin_make all packages are built within a single CMake context
134 | ## The recommended prefix ensures that target names across packages don't collide
135 | # add_executable(${PROJECT_NAME}_node src/fly_bot_node.cpp)
136 |
137 | ## Rename C++ executable without prefix
138 | ## The above recommended prefix causes long target names, the following renames the
139 | ## target back to the shorter version for ease of user use
140 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
141 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
142 |
143 | ## Add cmake target dependencies of the executable
144 | ## same as for the library above
145 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
146 |
147 | ## Specify libraries to link a library or executable target against
148 | # target_link_libraries(${PROJECT_NAME}_node
149 | # ${catkin_LIBRARIES}
150 | # )
151 |
152 | #############
153 | ## Install ##
154 | #############
155 |
156 | # all install targets should use catkin DESTINATION variables
157 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
158 |
159 | ## Mark executable scripts (Python etc.) for installation
160 | ## in contrast to setup.py, you can choose the destination
161 | # install(PROGRAMS
162 | # scripts/my_python_script
163 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
164 | # )
165 |
166 | ## Mark executables and/or libraries for installation
167 | # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
168 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
169 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
170 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
171 | # )
172 |
173 | ## Mark cpp header files for installation
174 | # install(DIRECTORY include/${PROJECT_NAME}/
175 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
176 | # FILES_MATCHING PATTERN "*.h"
177 | # PATTERN ".svn" EXCLUDE
178 | # )
179 |
180 | ## Mark other files for installation (e.g. launch and bag files, etc.)
181 | # install(FILES
182 | # # myfile1
183 | # # myfile2
184 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
185 | # )
186 |
187 | #############
188 | ## Testing ##
189 | #############
190 |
191 | ## Add gtest based cpp test target and link libraries
192 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_fly_bot.cpp)
193 | # if(TARGET ${PROJECT_NAME}-test)
194 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
195 | # endif()
196 |
197 | ## Add folders to be run by python nosetests
198 | # catkin_add_nosetests(test)
199 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/launch/gmap.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
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 |
45 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | -->
63 |
64 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/launch/octomap_uav.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/launch/uav.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
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 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/meshes/hokuyo_convex.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/meshes/hokuyo_convex.stl
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/Box/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Box
5 | 1.0
6 | model.sdf
7 |
8 |
9 | Warehouse environment.
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/Box/model.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
8 |
9 | model://Box/meshes/Box.dae
10 |
11 |
12 |
13 |
14 |
15 |
16 | model://Box/meshes/Box.dae
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/BoxesLargeOnPallet/materials/scripts/BoxesLargeOnPallet.material:
--------------------------------------------------------------------------------
1 | material BoxesLargeOnPallet/Diffuse
2 | {
3 | receive_shadows off
4 | }
5 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/BoxesLargeOnPallet/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Boxes large on pallet
5 | 1.0
6 | model.sdf
7 |
8 |
9 | Warehouse environment.
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/BoxesLargeOnPallet/model.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
8 |
9 | model://BoxesLargeOnPallet/meshes/BoxesLargeOnPallet.dae
10 |
11 |
12 |
13 |
14 |
15 |
16 | model://BoxesLargeOnPallet/meshes/BoxesLargeOnPallet.dae
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/D60/D60/Carpet_Diamond_Olive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/D60/D60/Carpet_Diamond_Olive.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/D60/D60/Carpet_Loop_Pattern.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/D60/D60/Carpet_Loop_Pattern.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/D60/D60/Carpet_Pattern_Leaf_Squares_Tan.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/D60/D60/Carpet_Pattern_Leaf_Squares_Tan.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/Kraft_Tile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/Kraft_Tile.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/barcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/barcode.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/front.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/front.pdn
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/front.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/side1.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/side1.pdn
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/side1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/side1.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/side2.pdn:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/side2.pdn
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/materials/textures/side2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/big_box/materials/textures/side2.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Big box
5 | 1.0
6 | model.sdf
7 |
8 |
9 | Aurelien Roy
10 | aurroy@hotmail.com
11 |
12 |
13 |
14 | Item for warehouse environment.
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/big_box/model.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 0 0 0.75 0 0 0
5 | false
6 |
7 |
8 | 40.0
9 |
10 | 1
11 | 0
12 | 0
13 | 1
14 | 0
15 | 1
16 |
17 |
18 |
19 |
20 |
21 |
22 | 1.20 0.80 1.50
23 |
24 |
25 |
26 |
27 |
28 | 0.1
29 | 0.001
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | model://big_box/meshes/big_box.dae
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/depth_camera/depth_camera.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0 0 0.035 0 0 0
6 |
7 |
8 | 0.01 0.025 0.025 0 0 0
9 | 0.01
10 |
11 | 4.15e-6
12 | 0
13 | 0
14 | 2.407e-6
15 | 0
16 | 2.407e-6
17 |
18 |
19 |
20 | 0 0 0 0 0 0
21 |
22 |
23 | model://realsense_camera/meshes/realsense.dae
24 |
25 |
26 |
27 | 30
28 | 0 0 0 0 0 0
29 |
30 | 1.02974
31 |
32 | R8G8B8
33 | 640
34 | 480
35 |
36 |
37 | 0.5
38 | 18
39 |
40 |
41 |
42 | camera
43 | true
44 | 20
45 | 0.2
46 | 20
47 | rgb/image_raw
48 | rgb/camera_info
49 | depth/image_raw
50 | depth/camera_info
51 | depth/points
52 | camera_optical_link
53 | 0.0
54 | 0.0
55 | 0.0
56 | 0.0
57 | 0.0
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/depth_camera/depth_camera.sdf.jinja:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0 0 0.035 0 0 0
6 |
7 |
8 | 0.01 0.025 0.025 0 0 0
9 | 0.01
10 |
11 | 4.15e-6
12 | 0
13 | 0
14 | 2.407e-6
15 | 0
16 | 2.407e-6
17 |
18 |
19 |
20 | 0 0 0 0 0 0
21 |
22 |
23 | model://realsense_camera/meshes/realsense.dae
24 |
25 |
26 |
27 |
28 | {%- if ros_version == '2' -%}
29 | 0
30 | 30
31 |
32 | 1.02974
33 |
34 | R8G8B8
35 | 640
36 | 480
37 |
38 |
39 | 0.5
40 | 18
41 |
42 |
43 | 0.0
44 | 0.0
45 | 0.0
46 | 0.0
47 | 0.0
48 | 0.5 0.5
49 |
50 |
51 |
52 |
53 | camera
54 | camera_link
55 | 0.07
56 | 0.1
57 | 12
58 |
59 | {%- else -%}
60 | 30
61 |
62 | 1.02974
63 |
64 | R8G8B8
65 | 640
66 | 480
67 |
68 |
69 | 0.5
70 | 18
71 |
72 |
73 |
74 | camera
75 | true
76 | 20
77 | 0.2
78 | 20
79 | rgb/image_raw
80 | rgb/camera_info
81 | depth/image_raw
82 | depth/camera_info
83 | depth/points
84 | camera_link
85 | 0.0
86 | 0.0
87 | 0.0
88 | 0.0
89 | 0.0
90 |
91 | {%- endif -%}
92 |
93 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/depth_camera/depth_camera.sdf.last_generated:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0 0 0.035 0 0 0
6 |
7 |
8 | 0.01 0.025 0.025 0 0 0
9 | 0.01
10 |
11 | 4.15e-6
12 | 0
13 | 0
14 | 2.407e-6
15 | 0
16 | 2.407e-6
17 |
18 |
19 |
20 | 0 0 0 0 0 0
21 |
22 |
23 | model://realsense_camera/meshes/realsense.dae
24 |
25 |
26 |
27 | 30
28 |
29 | 1.02974
30 |
31 | R8G8B8
32 | 640
33 | 480
34 |
35 |
36 | 0.5
37 | 18
38 |
39 |
40 |
41 | camera
42 | true
43 | 20
44 | 0.2
45 | 20
46 | rgb/image_raw
47 | rgb/camera_info
48 | depth/image_raw
49 | depth/camera_info
50 | depth/points
51 | camera_link
52 | 0.0
53 | 0.0
54 | 0.0
55 | 0.0
56 | 0.0
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/depth_camera/meshes/hokuyo_convex.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/depth_camera/meshes/hokuyo_convex.stl
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/depth_camera/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hokuyo
4 | 1.0
5 | depth_camera.sdf
6 |
7 |
8 | John Hsu
9 | hsu@osrfoundation.org
10 |
11 |
12 |
13 | Depth Camera
14 |
15 |
16 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors.skb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors.skb
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors.skp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors.skp
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Carrera_Marble.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Carrera_Marble.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Granite_Dark_Gray.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Granite_Dark_Gray.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Stone_Vein_Gray.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Stone_Vein_Gray.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Stone_Vein_Gray_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Stone_Vein_Gray_0.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Wood_OSB.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_hotel_3doors/fla_hotel_3doors/Wood_OSB.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Beadboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Beadboard.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Brick_Colored_Blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Brick_Colored_Blue.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Brick_Colored_Blue_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Brick_Colored_Blue_3.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Carrera_Marble.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Carrera_Marble.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Cladding_Siding_Tan.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Cladding_Siding_Tan.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Leather_Blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Leather_Blue.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Marble_Carrara_Floor_Tile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Marble_Carrara_Floor_Tile.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Modern_Siding.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Modern_Siding.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Modern_Siding_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Modern_Siding_0.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Modern_Siding_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Modern_Siding_1.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Mosaic_Hexagonal_Tile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Mosaic_Hexagonal_Tile.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Rough_Square_Concrete_Block.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Rough_Square_Concrete_Block.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Rough_Square_Concrete_Block_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Rough_Square_Concrete_Block_2.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Rough_Square_Concrete_Block_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Rough_Square_Concrete_Block_3.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Tile_Ceramic_Multi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Tile_Ceramic_Multi.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Tile_Navy.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Tile_Navy.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Tile_Navy_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Tile_Navy_0.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/White_Square_Tile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/White_Square_Tile.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/White_Subway_Tile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/White_Subway_Tile.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/White_Subway_Tile_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/White_Subway_Tile_1.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/White_Subway_Tile_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/White_Subway_Tile_2.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/Wood_Cherry_Original.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/Wood_Cherry_Original.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/__Carpet_Pattern_Squares_Multi_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/__Carpet_Pattern_Squares_Multi_1.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/__Metal_Corrogated_Shiny_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/__Metal_Corrogated_Shiny_4.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/grey_gloss.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/grey_gloss.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/material_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/material_1.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/material_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/material_2.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/material_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/material_3.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel2.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel2_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel2_0.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel2_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/fla_office/fla_office/stainless_steel2_1.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/bark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/bark.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/bark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/bark.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/bark_loo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/bark_loo.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/blatt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/blatt.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/blatt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/blatt.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/blatt1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/blatt1.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/blatt1_a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/blatt1_a.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/nadeln4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/nadeln4.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/nadeln4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/nadeln4.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/nadeln4a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/nadeln4a.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/nadeln4a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/nadeln4a.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/stamm2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/stamm2.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/stamm2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/stamm2.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/stamm21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/stamm21.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/stamm21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/stamm21.png
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/forest0/forest0/stamm22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/forest0/forest0/stamm22.jpg
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ground_plane_residential/model-1_2.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
8 |
9 | 0 0 1
10 | 100 100
11 |
12 |
13 |
14 |
15 |
16 | 100
17 | 50
18 |
19 |
20 |
21 |
22 |
23 | false
24 |
25 |
26 | 0 0 1
27 | 100 100
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ground_plane_residential/model-1_3.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
8 |
9 | 0 0 1
10 | 100 100
11 |
12 |
13 |
14 |
15 |
16 | 100
17 | 50
18 |
19 |
20 |
21 |
22 |
23 | false
24 |
25 |
26 | 0 0 1
27 | 100 100
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ground_plane_residential/model-1_4.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
8 |
9 | 0 0 1
10 | 100 100
11 |
12 |
13 |
14 |
15 |
16 | 100
17 | 50
18 |
19 |
20 |
21 |
22 |
23 | false
24 |
25 |
26 | 0 0 1
27 | 100 100
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ground_plane_residential/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Ground Plane
5 | 1.0
6 | model-1_2.sdf
7 | model-1_3.sdf
8 | model-1_4.sdf
9 | model.sdf
10 |
11 |
12 | Nate Koenig
13 | nate@osrfoundation.org
14 |
15 |
16 |
17 | A simple ground plane.
18 |
19 |
20 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ground_plane_residential/model.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
7 |
8 |
9 | 0 0 1
10 | 100 100
11 |
12 |
13 |
14 |
15 |
16 | 100
17 | 50
18 |
19 |
20 |
21 |
22 |
23 | false
24 |
25 |
26 | 0 0 1
27 | 100 100
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris/iris.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0 0 0 0 0 0
6 |
7 | 0 0 0 0 0 0
8 | 1.5
9 |
10 | 0.029125
11 | 0
12 | 0
13 | 0.029125
14 | 0
15 | 0.055225
16 |
17 |
18 |
19 | 0 0 0 0 0 0
20 |
21 |
22 | 0.47 0.47 0.11
23 |
24 |
25 |
26 |
27 |
28 | 0.001
29 | 0
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | 0 0 0 0 0 0
39 |
40 |
41 | 1 1 1
42 | model://iris/meshes/iris.stl
43 |
44 |
45 |
46 |
50 |
51 |
52 | 1
53 |
54 |
55 |
56 | 0 0 0 0 0 0
57 |
58 | 0 0 0 0 0 0
59 | 0.015
60 |
61 | 1e-05
62 | 0
63 | 0
64 | 1e-05
65 | 0
66 | 1e-05
67 |
68 |
69 |
70 |
71 | /imu_link
72 | base_link
73 |
74 | 1 0 0
75 |
76 | 0
77 | 0
78 | 0
79 | 0
80 |
81 |
82 | 0
83 | 0
84 |
85 | 1
86 |
87 |
88 |
89 | 0.13 -0.22 0.023 0 0 0
90 |
91 | 0 0 0 0 0 0
92 | 0.005
93 |
94 | 9.75e-07
95 | 0
96 | 0
97 | 0.000273104
98 | 0
99 | 0.000274004
100 |
101 |
102 |
103 | 0 0 0 0 0 0
104 |
105 |
106 | 0.005
107 | 0.128
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 | 0 0 0 0 0 0
121 |
122 |
123 | 1 1 1
124 | model://iris/meshes/iris_prop_ccw.dae
125 |
126 |
127 |
128 |
132 |
133 |
134 | 1
135 |
136 |
137 |
138 | rotor_0
139 | base_link
140 |
141 | 0 0 1
142 |
143 | -1e+16
144 | 1e+16
145 |
146 |
147 | 0
148 | 0
149 |
150 | 1
151 |
152 |
153 |
154 | -0.13 0.2 0.023 0 0 0
155 |
156 | 0 0 0 0 0 0
157 | 0.005
158 |
159 | 9.75e-07
160 | 0
161 | 0
162 | 0.000273104
163 | 0
164 | 0.000274004
165 |
166 |
167 |
168 | 0 0 0 0 0 0
169 |
170 |
171 | 0.005
172 | 0.128
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 | 0 0 0 0 0 0
186 |
187 |
188 | 1 1 1
189 | model://iris/meshes/iris_prop_ccw.dae
190 |
191 |
192 |
193 |
197 |
198 |
199 | 1
200 |
201 |
202 |
203 | rotor_1
204 | base_link
205 |
206 | 0 0 1
207 |
208 | -1e+16
209 | 1e+16
210 |
211 |
212 | 0
213 | 0
214 |
215 | 1
216 |
217 |
218 |
219 | 0.13 0.22 0.023 0 0 0
220 |
221 | 0 0 0 0 0 0
222 | 0.005
223 |
224 | 9.75e-07
225 | 0
226 | 0
227 | 0.000273104
228 | 0
229 | 0.000274004
230 |
231 |
232 |
233 | 0 0 0 0 0 0
234 |
235 |
236 | 0.005
237 | 0.128
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 | 0 0 0 0 0 0
251 |
252 |
253 | 1 1 1
254 | model://iris/meshes/iris_prop_cw.dae
255 |
256 |
257 |
258 |
262 |
263 |
264 | 1
265 |
266 |
267 |
268 | rotor_2
269 | base_link
270 |
271 | 0 0 1
272 |
273 | -1e+16
274 | 1e+16
275 |
276 |
277 | 0
278 | 0
279 |
280 | 1
281 |
282 |
283 |
284 | -0.13 -0.2 0.023 0 0 0
285 |
286 | 0 0 0 0 0 0
287 | 0.005
288 |
289 | 9.75e-07
290 | 0
291 | 0
292 | 0.000273104
293 | 0
294 | 0.000274004
295 |
296 |
297 |
298 | 0 0 0 0 0 0
299 |
300 |
301 | 0.005
302 | 0.128
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 | 0 0 0 0 0 0
316 |
317 |
318 | 1 1 1
319 | model://iris/meshes/iris_prop_cw.dae
320 |
321 |
322 |
323 |
327 |
328 |
329 | 1
330 |
331 |
332 |
333 | rotor_3
334 | base_link
335 |
336 | 0 0 1
337 |
338 | -1e+16
339 | 1e+16
340 |
341 |
342 | 0
343 | 0
344 |
345 | 1
346 |
347 |
348 |
349 |
350 | base_link
351 | 10
352 |
353 |
354 |
355 | rotor_0_joint
356 | rotor_0
357 | ccw
358 | 0.0125
359 | 0.025
360 | 1100
361 | 5.84e-06
362 | 0.06
363 | /gazebo/command/motor_speed
364 | 0
365 | 0.000175
366 | 1e-06
367 | /motor_speed/0
368 | 10
369 |
370 |
371 |
372 | rotor_1_joint
373 | rotor_1
374 | ccw
375 | 0.0125
376 | 0.025
377 | 1100
378 | 5.84e-06
379 | 0.06
380 | /gazebo/command/motor_speed
381 | 1
382 | 0.000175
383 | 1e-06
384 | /motor_speed/1
385 | 10
386 |
387 |
388 |
389 | rotor_2_joint
390 | rotor_2
391 | cw
392 | 0.0125
393 | 0.025
394 | 1100
395 | 5.84e-06
396 | 0.06
397 | /gazebo/command/motor_speed
398 | 2
399 | 0.000175
400 | 1e-06
401 | /motor_speed/2
402 | 10
403 |
404 |
405 |
406 | rotor_3_joint
407 | rotor_3
408 | cw
409 | 0.0125
410 | 0.025
411 | 1100
412 | 5.84e-06
413 | 0.06
414 | /gazebo/command/motor_speed
415 | 3
416 | 0.000175
417 | 1e-06
418 | /motor_speed/3
419 | 10
420 |
421 |
422 | model://gps
423 | 0.1 0 0 0 0 0
424 | gps0
425 |
426 |
427 | gps0::link
428 | base_link
429 |
430 |
431 |
432 |
433 |
434 |
435 | 100
436 | 0.0004
437 | 6.4e-06
438 | 600
439 | /mag
440 |
441 |
442 |
443 | 50
444 | /baro
445 | 0
446 |
447 |
448 |
449 | /imu
450 | /mag
451 | /baro
452 | INADDR_ANY
453 | 4560
454 | 14560
455 | 0
456 | /dev/ttyACM0
457 | 921600
458 | INADDR_ANY
459 | 14550
460 | INADDR_ANY
461 | 14540
462 | 0
463 | 0
464 | 0
465 | 1
466 | 1
467 | 1
468 | /gazebo/command/motor_speed
469 |
470 |
471 | 0
472 | 0
473 | 1000
474 | 0
475 | 100
476 | velocity
477 |
478 |
479 | 1
480 | 0
481 | 1000
482 | 0
483 | 100
484 | velocity
485 |
486 |
487 | 2
488 | 0
489 | 1000
490 | 0
491 | 100
492 | velocity
493 |
494 |
495 | 3
496 | 0
497 | 1000
498 | 0
499 | 100
500 | velocity
501 |
502 |
503 | 4
504 | 1
505 | 324.6
506 | 0
507 | 0
508 | velocity
509 |
510 | 0.1
511 | 0
512 | 0
513 | 0.0
514 | 0.0
515 | 2
516 | -2
517 |
518 | zephyr_delta_wing::propeller_joint
519 |
520 |
521 | 5
522 | 0
523 | 0.524
524 | 0
525 | 0
526 | position
527 | zephyr_delta_wing::flap_left_joint
528 |
529 | 10.0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 20
535 | -20
536 |
537 |
538 |
539 | 6
540 | 0
541 | 0.524
542 | 0
543 | 0
544 | position
545 | zephyr_delta_wing::flap_right_joint
546 |
547 | 10.0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 20
553 | -20
554 |
555 |
556 |
557 | 7
558 | 0
559 | 0.524
560 | 0
561 | 0
562 | position
563 |
564 |
565 |
566 | 0
567 |
568 |
569 | /imu_link
570 | /imu
571 | 0.00018665
572 | 3.8785e-05
573 | 1000.0
574 | 0.0087
575 | 0.00186
576 | 0.006
577 | 300.0
578 | 0.196
579 |
580 |
581 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris/iris.sdf.jinja:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0 0 0 0 0 0
6 |
7 | 0 0 0 0 0 0
8 | 1.5
9 |
10 | 0.029125
11 | 0
12 | 0
13 | 0.029125
14 | 0
15 | 0.055225
16 |
17 |
18 |
19 | 0 0 0 0 0 0
20 |
21 |
22 | 0.47 0.47 0.11
23 |
24 |
25 |
26 |
27 |
28 | 0.001
29 | 0
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | 0 0 0 0 0 0
39 |
40 |
41 | 1 1 1
42 | model://iris/meshes/iris.stl
43 |
44 |
45 |
46 |
50 |
51 |
52 | 1
53 |
54 |
55 |
56 | 0 0 0 0 0 0
57 |
58 | 0 0 0 0 0 0
59 | 0.015
60 |
61 | 1e-05
62 | 0
63 | 0
64 | 1e-05
65 | 0
66 | 1e-05
67 |
68 |
69 |
70 |
71 | /imu_link
72 | base_link
73 |
74 | 1 0 0
75 |
76 | 0
77 | 0
78 | 0
79 | 0
80 |
81 |
82 | 0
83 | 0
84 |
85 | 1
86 |
87 |
88 |
89 | 0.13 -0.22 0.023 0 0 0
90 |
91 | 0 0 0 0 0 0
92 | 0.005
93 |
94 | 9.75e-07
95 | 0
96 | 0
97 | 0.000273104
98 | 0
99 | 0.000274004
100 |
101 |
102 |
103 | 0 0 0 0 0 0
104 |
105 |
106 | 0.005
107 | 0.128
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 | 0 0 0 0 0 0
121 |
122 |
123 | 1 1 1
124 | model://iris/meshes/iris_prop_ccw.dae
125 |
126 |
127 |
128 |
132 |
133 |
134 | 1
135 |
136 |
137 |
138 | rotor_0
139 | base_link
140 |
141 | 0 0 1
142 |
143 | -1e+16
144 | 1e+16
145 |
146 |
147 | 0
148 | 0
149 |
150 | 1
151 |
152 |
153 |
154 | -0.13 0.2 0.023 0 0 0
155 |
156 | 0 0 0 0 0 0
157 | 0.005
158 |
159 | 9.75e-07
160 | 0
161 | 0
162 | 0.000273104
163 | 0
164 | 0.000274004
165 |
166 |
167 |
168 | 0 0 0 0 0 0
169 |
170 |
171 | 0.005
172 | 0.128
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 | 0 0 0 0 0 0
186 |
187 |
188 | 1 1 1
189 | model://iris/meshes/iris_prop_ccw.dae
190 |
191 |
192 |
193 |
197 |
198 |
199 | 1
200 |
201 |
202 |
203 | rotor_1
204 | base_link
205 |
206 | 0 0 1
207 |
208 | -1e+16
209 | 1e+16
210 |
211 |
212 | 0
213 | 0
214 |
215 | 1
216 |
217 |
218 |
219 | 0.13 0.22 0.023 0 0 0
220 |
221 | 0 0 0 0 0 0
222 | 0.005
223 |
224 | 9.75e-07
225 | 0
226 | 0
227 | 0.000273104
228 | 0
229 | 0.000274004
230 |
231 |
232 |
233 | 0 0 0 0 0 0
234 |
235 |
236 | 0.005
237 | 0.128
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 | 0 0 0 0 0 0
251 |
252 |
253 | 1 1 1
254 | model://iris/meshes/iris_prop_cw.dae
255 |
256 |
257 |
258 |
262 |
263 |
264 | 1
265 |
266 |
267 |
268 | rotor_2
269 | base_link
270 |
271 | 0 0 1
272 |
273 | -1e+16
274 | 1e+16
275 |
276 |
277 | 0
278 | 0
279 |
280 | 1
281 |
282 |
283 |
284 | -0.13 -0.2 0.023 0 0 0
285 |
286 | 0 0 0 0 0 0
287 | 0.005
288 |
289 | 9.75e-07
290 | 0
291 | 0
292 | 0.000273104
293 | 0
294 | 0.000274004
295 |
296 |
297 |
298 | 0 0 0 0 0 0
299 |
300 |
301 | 0.005
302 | 0.128
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 | 0 0 0 0 0 0
316 |
317 |
318 | 1 1 1
319 | model://iris/meshes/iris_prop_cw.dae
320 |
321 |
322 |
323 |
327 |
328 |
329 | 1
330 |
331 |
332 |
333 | rotor_3
334 | base_link
335 |
336 | 0 0 1
337 |
338 | -1e+16
339 | 1e+16
340 |
341 |
342 | 0
343 | 0
344 |
345 | 1
346 |
347 |
348 |
349 |
350 | base_link
351 | 10
352 |
353 |
354 |
355 | rotor_0_joint
356 | rotor_0
357 | ccw
358 | 0.0125
359 | 0.025
360 | 1100
361 | 5.84e-06
362 | 0.06
363 | /gazebo/command/motor_speed
364 | 0
365 | 0.000175
366 | 1e-06
367 | /motor_speed/0
368 | 10
369 |
370 |
371 |
372 | rotor_1_joint
373 | rotor_1
374 | ccw
375 | 0.0125
376 | 0.025
377 | 1100
378 | 5.84e-06
379 | 0.06
380 | /gazebo/command/motor_speed
381 | 1
382 | 0.000175
383 | 1e-06
384 | /motor_speed/1
385 | 10
386 |
387 |
388 |
389 | rotor_2_joint
390 | rotor_2
391 | cw
392 | 0.0125
393 | 0.025
394 | 1100
395 | 5.84e-06
396 | 0.06
397 | /gazebo/command/motor_speed
398 | 2
399 | 0.000175
400 | 1e-06
401 | /motor_speed/2
402 | 10
403 |
404 |
405 |
406 | rotor_3_joint
407 | rotor_3
408 | cw
409 | 0.0125
410 | 0.025
411 | 1100
412 | 5.84e-06
413 | 0.06
414 | /gazebo/command/motor_speed
415 | 3
416 | 0.000175
417 | 1e-06
418 | /motor_speed/3
419 | 10
420 |
421 |
422 | model://gps
423 | 0.1 0 0 0 0 0
424 | gps0
425 |
426 |
427 | gps0::link
428 | base_link
429 |
430 |
431 |
432 |
433 |
434 |
435 | 100
436 | 0.0004
437 | 6.4e-06
438 | 600
439 | /mag
440 |
441 |
442 |
443 | 50
444 | /baro
445 | 0
446 |
447 |
448 |
449 | /imu
450 | /mag
451 | /baro
452 | INADDR_ANY
453 | {{ mavlink_tcp_port }}
454 | {{ mavlink_udp_port }}
455 | {{ serial_enabled }}
456 | {{ serial_device }}
457 | {{ serial_baudrate }}
458 | INADDR_ANY
459 | 14550
460 | INADDR_ANY
461 | 14540
462 | {{ hil_mode }}
463 | 0
464 | 0
465 | 1
466 | 1
467 | 1
468 | /gazebo/command/motor_speed
469 |
470 |
471 | 0
472 | 0
473 | 1000
474 | 0
475 | 100
476 | velocity
477 |
478 |
479 | 1
480 | 0
481 | 1000
482 | 0
483 | 100
484 | velocity
485 |
486 |
487 | 2
488 | 0
489 | 1000
490 | 0
491 | 100
492 | velocity
493 |
494 |
495 | 3
496 | 0
497 | 1000
498 | 0
499 | 100
500 | velocity
501 |
502 |
503 | 4
504 | 1
505 | 324.6
506 | 0
507 | 0
508 | velocity
509 |
510 | 0.1
511 | 0
512 | 0
513 | 0.0
514 | 0.0
515 | 2
516 | -2
517 |
518 | zephyr_delta_wing::propeller_joint
519 |
520 |
521 | 5
522 | 0
523 | 0.524
524 | 0
525 | 0
526 | position
527 | zephyr_delta_wing::flap_left_joint
528 |
529 | 10.0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 20
535 | -20
536 |
537 |
538 |
539 | 6
540 | 0
541 | 0.524
542 | 0
543 | 0
544 | position
545 | zephyr_delta_wing::flap_right_joint
546 |
547 | 10.0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 20
553 | -20
554 |
555 |
556 |
557 | 7
558 | 0
559 | 0.524
560 | 0
561 | 0
562 | position
563 |
564 |
565 |
566 | 0
567 |
568 |
569 | /imu_link
570 | /imu
571 | 0.00018665
572 | 3.8785e-05
573 | 1000.0
574 | 0.0087
575 | 0.00186
576 | 0.006
577 | 300.0
578 | 0.196
579 |
580 |
581 |
582 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris/iris.sdf.last_generated:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0 0 0 0 0 0
6 |
7 | 0 0 0 0 0 0
8 | 1.5
9 |
10 | 0.029125
11 | 0
12 | 0
13 | 0.029125
14 | 0
15 | 0.055225
16 |
17 |
18 |
19 | 0 0 0 0 0 0
20 |
21 |
22 | 0.47 0.47 0.11
23 |
24 |
25 |
26 |
27 |
28 | 0.001
29 | 0
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | 0 0 0 0 0 0
39 |
40 |
41 | 1 1 1
42 | model://iris/meshes/iris.stl
43 |
44 |
45 |
46 |
50 |
51 |
52 | 1
53 |
54 |
55 |
56 | 0 0 0 0 0 0
57 |
58 | 0 0 0 0 0 0
59 | 0.015
60 |
61 | 1e-05
62 | 0
63 | 0
64 | 1e-05
65 | 0
66 | 1e-05
67 |
68 |
69 |
70 |
71 | /imu_link
72 | base_link
73 |
74 | 1 0 0
75 |
76 | 0
77 | 0
78 | 0
79 | 0
80 |
81 |
82 | 0
83 | 0
84 |
85 | 1
86 |
87 |
88 |
89 | 0.13 -0.22 0.023 0 0 0
90 |
91 | 0 0 0 0 0 0
92 | 0.005
93 |
94 | 9.75e-07
95 | 0
96 | 0
97 | 0.000273104
98 | 0
99 | 0.000274004
100 |
101 |
102 |
103 | 0 0 0 0 0 0
104 |
105 |
106 | 0.005
107 | 0.128
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 | 0 0 0 0 0 0
121 |
122 |
123 | 1 1 1
124 | model://iris/meshes/iris_prop_ccw.dae
125 |
126 |
127 |
128 |
132 |
133 |
134 | 1
135 |
136 |
137 |
138 | rotor_0
139 | base_link
140 |
141 | 0 0 1
142 |
143 | -1e+16
144 | 1e+16
145 |
146 |
147 | 0
148 | 0
149 |
150 | 1
151 |
152 |
153 |
154 | -0.13 0.2 0.023 0 0 0
155 |
156 | 0 0 0 0 0 0
157 | 0.005
158 |
159 | 9.75e-07
160 | 0
161 | 0
162 | 0.000273104
163 | 0
164 | 0.000274004
165 |
166 |
167 |
168 | 0 0 0 0 0 0
169 |
170 |
171 | 0.005
172 | 0.128
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 | 0 0 0 0 0 0
186 |
187 |
188 | 1 1 1
189 | model://iris/meshes/iris_prop_ccw.dae
190 |
191 |
192 |
193 |
197 |
198 |
199 | 1
200 |
201 |
202 |
203 | rotor_1
204 | base_link
205 |
206 | 0 0 1
207 |
208 | -1e+16
209 | 1e+16
210 |
211 |
212 | 0
213 | 0
214 |
215 | 1
216 |
217 |
218 |
219 | 0.13 0.22 0.023 0 0 0
220 |
221 | 0 0 0 0 0 0
222 | 0.005
223 |
224 | 9.75e-07
225 | 0
226 | 0
227 | 0.000273104
228 | 0
229 | 0.000274004
230 |
231 |
232 |
233 | 0 0 0 0 0 0
234 |
235 |
236 | 0.005
237 | 0.128
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 | 0 0 0 0 0 0
251 |
252 |
253 | 1 1 1
254 | model://iris/meshes/iris_prop_cw.dae
255 |
256 |
257 |
258 |
262 |
263 |
264 | 1
265 |
266 |
267 |
268 | rotor_2
269 | base_link
270 |
271 | 0 0 1
272 |
273 | -1e+16
274 | 1e+16
275 |
276 |
277 | 0
278 | 0
279 |
280 | 1
281 |
282 |
283 |
284 | -0.13 -0.2 0.023 0 0 0
285 |
286 | 0 0 0 0 0 0
287 | 0.005
288 |
289 | 9.75e-07
290 | 0
291 | 0
292 | 0.000273104
293 | 0
294 | 0.000274004
295 |
296 |
297 |
298 | 0 0 0 0 0 0
299 |
300 |
301 | 0.005
302 | 0.128
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 | 0 0 0 0 0 0
316 |
317 |
318 | 1 1 1
319 | model://iris/meshes/iris_prop_cw.dae
320 |
321 |
322 |
323 |
327 |
328 |
329 | 1
330 |
331 |
332 |
333 | rotor_3
334 | base_link
335 |
336 | 0 0 1
337 |
338 | -1e+16
339 | 1e+16
340 |
341 |
342 | 0
343 | 0
344 |
345 | 1
346 |
347 |
348 |
349 |
350 | base_link
351 | 10
352 |
353 |
354 |
355 | rotor_0_joint
356 | rotor_0
357 | ccw
358 | 0.0125
359 | 0.025
360 | 1100
361 | 5.84e-06
362 | 0.06
363 | /gazebo/command/motor_speed
364 | 0
365 | 0.000175
366 | 1e-06
367 | /motor_speed/0
368 | 10
369 |
370 |
371 |
372 | rotor_1_joint
373 | rotor_1
374 | ccw
375 | 0.0125
376 | 0.025
377 | 1100
378 | 5.84e-06
379 | 0.06
380 | /gazebo/command/motor_speed
381 | 1
382 | 0.000175
383 | 1e-06
384 | /motor_speed/1
385 | 10
386 |
387 |
388 |
389 | rotor_2_joint
390 | rotor_2
391 | cw
392 | 0.0125
393 | 0.025
394 | 1100
395 | 5.84e-06
396 | 0.06
397 | /gazebo/command/motor_speed
398 | 2
399 | 0.000175
400 | 1e-06
401 | /motor_speed/2
402 | 10
403 |
404 |
405 |
406 | rotor_3_joint
407 | rotor_3
408 | cw
409 | 0.0125
410 | 0.025
411 | 1100
412 | 5.84e-06
413 | 0.06
414 | /gazebo/command/motor_speed
415 | 3
416 | 0.000175
417 | 1e-06
418 | /motor_speed/3
419 | 10
420 |
421 |
422 | model://gps
423 | 0.1 0 0 0 0 0
424 | gps0
425 |
426 |
427 | gps0::link
428 | base_link
429 |
430 |
431 |
432 |
433 |
434 |
435 | 100
436 | 0.0004
437 | 6.4e-06
438 | 600
439 | /mag
440 |
441 |
442 |
443 | 50
444 | /baro
445 | 0
446 |
447 |
448 |
449 | /imu
450 | /mag
451 | /baro
452 | INADDR_ANY
453 | 4560
454 | 14560
455 | 0
456 | /dev/ttyACM0
457 | 921600
458 | INADDR_ANY
459 | 14550
460 | INADDR_ANY
461 | 14540
462 | 0
463 | 0
464 | 0
465 | 1
466 | 1
467 | 1
468 | /gazebo/command/motor_speed
469 |
470 |
471 | 0
472 | 0
473 | 1000
474 | 0
475 | 100
476 | velocity
477 |
478 |
479 | 1
480 | 0
481 | 1000
482 | 0
483 | 100
484 | velocity
485 |
486 |
487 | 2
488 | 0
489 | 1000
490 | 0
491 | 100
492 | velocity
493 |
494 |
495 | 3
496 | 0
497 | 1000
498 | 0
499 | 100
500 | velocity
501 |
502 |
503 | 4
504 | 1
505 | 324.6
506 | 0
507 | 0
508 | velocity
509 |
510 | 0.1
511 | 0
512 | 0
513 | 0.0
514 | 0.0
515 | 2
516 | -2
517 |
518 | zephyr_delta_wing::propeller_joint
519 |
520 |
521 | 5
522 | 0
523 | 0.524
524 | 0
525 | 0
526 | position
527 | zephyr_delta_wing::flap_left_joint
528 |
529 | 10.0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 20
535 | -20
536 |
537 |
538 |
539 | 6
540 | 0
541 | 0.524
542 | 0
543 | 0
544 | position
545 | zephyr_delta_wing::flap_right_joint
546 |
547 | 10.0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 20
553 | -20
554 |
555 |
556 |
557 | 7
558 | 0
559 | 0.524
560 | 0
561 | 0
562 | position
563 |
564 |
565 |
566 | 0
567 |
568 |
569 | /imu_link
570 | /imu
571 | 0.00018665
572 | 3.8785e-05
573 | 1000.0
574 | 0.0087
575 | 0.00186
576 | 0.006
577 | 300.0
578 | 0.196
579 |
580 |
581 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris/meshes/iris.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IvLabs/grid_motion_planning/5868ba527146f06ccadce3e5bfc491a72100fb45/quadcopter_gazebo/models/iris/meshes/iris.stl
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 | 3DR Iris
4 | 1.0
5 | iris.sdf
6 |
7 |
8 | Lorenz Meier and Thomas Gubler
9 | lorenz@px4.io
10 |
11 |
12 |
13 | This is a model of the 3DR Iris Quadrotor. The original model has been created by
14 | Thomas Gubler and is maintained by Lorenz Meier.
15 |
16 |
17 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris_depth_camera/iris_depth_camera.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | model://iris
6 |
7 |
8 |
9 | model://depth_camera
10 | 0.1 0 0 0 0 0
11 |
12 |
13 |
14 | 0 0 0 0 0 0
15 | 0.01
16 |
17 | 4.15e-6
18 | 0
19 | 0
20 | 2.407e-6
21 | 0
22 | 2.407e-6
23 |
24 |
25 |
26 |
27 |
28 |
29 | depth_camera::link
30 | iris::base_link
31 |
32 | 0 0 1
33 |
34 | 0
35 | 0
36 |
37 |
38 |
39 |
40 | camera_optical_link
41 | depth_camera::link
42 | 0 0 0 -1.5708 0 -1.5708
43 |
44 | 0 0 1
45 |
46 | 0
47 | 0
48 |
49 |
50 |
51 |
52 |
53 | 0 0 0.09 0 0 0
54 |
55 |
56 | 0.19
57 |
58 | 4.15e-6
59 | 0
60 | 0
61 | 2.407e-6
62 | 0
63 | 2.407e-6
64 |
65 |
66 |
67 |
68 |
69 |
70 | 0.02 0.05 0.05
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | 360
80 | 1
81 | -1.57
82 | 1.57
83 |
84 |
85 |
86 | 0.2
87 | 6
88 | 0.05
89 |
90 |
91 |
92 |
93 |
94 | laser/scan
95 | lidar_link
96 |
97 | 1
98 | 5.5
99 | true
100 |
101 |
102 |
103 |
104 |
105 | lidar_link
106 | iris::base_link
107 |
108 |
109 | 0 0 1
110 |
111 | 0
112 | 0
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/iris_depth_camera/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 | 3DR Iris with depth camera
4 | 1.0
5 | iris_depth_camera.sdf
6 |
7 |
8 | Lorenz Meier and Thomas Gubler
9 | lorenz@px4.io
10 |
11 |
12 |
13 | This is a model of the 3DR Iris Quadrotor with a single forward facing depth camera.
14 | The original model has been created by Thomas Gubler and is maintained by Lorenz Meier.
15 |
16 |
17 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/occupancy_grid/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 | Occupancy Grid
4 | 1.0
5 | occupancy_grid.sdf
6 |
7 |
8 | Fadri Furrer
9 | ffurrer@gmail.com
10 |
11 |
12 |
13 | A simple world with some obstacles used for the EuRoC octomap challenge.
14 |
15 |
16 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/occupancy_grid/occupancy_grid.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 22 22 0.2
9 |
10 |
11 | 0 0 0.1 0 0 0
12 |
13 |
14 | 0 0 0.1 0 0 0
15 |
16 |
17 | 22 22 0.2
18 |
19 |
20 |
21 |
25 |
26 |
27 |
28 | 0
29 | 0
30 |
31 | 0 0 3.5 0 0 0
32 |
33 |
34 |
35 |
36 |
37 | 22 22 0.2
38 |
39 |
40 | 0 0 0.1 0 0 0
41 |
42 |
43 | 0 0 0.1 0 0 0
44 |
45 |
46 | 22 22 0.2
47 |
48 |
49 |
50 |
54 |
55 |
56 |
57 | 0
58 | 0
59 |
60 | 0 0 -0.2 0 0 0
61 |
62 |
63 |
64 |
65 |
66 | 20 1 3.5
67 |
68 |
69 | 0 0 1.75 0 0 0
70 |
71 |
72 | 0 0 1.75 0 0 0
73 |
74 |
75 | 20 1 3.5
76 |
77 |
78 |
79 |
83 |
84 |
85 |
86 | 0
87 | 0
88 |
89 | -10.5 0 0 0 0 -1.5708
90 |
91 |
92 |
93 |
94 |
95 | 22 1 3.5
96 |
97 |
98 | 0 0 1.75 0 0 0
99 |
100 |
101 | 0 0 1.75 0 0 0
102 |
103 |
104 | 22 1 3.5
105 |
106 |
107 |
108 |
112 |
113 |
114 |
115 | 0
116 | 0
117 |
118 | 0 -10.5 0 0 0 0
119 |
120 |
121 |
122 |
123 |
124 | 20 1 3.5
125 |
126 |
127 | 0 0 1.75 0 0 0
128 |
129 |
130 | 0 0 1.75 0 0 0
131 |
132 |
133 | 20 1 3.5
134 |
135 |
136 |
137 |
141 |
142 |
143 |
144 | 0
145 | 0
146 |
147 | 10.5 0 0 0 0 1.5708
148 |
149 |
150 |
151 |
152 |
153 | 22 1 3.5
154 |
155 |
156 | 0 0 1.75 0 0 0
157 |
158 |
159 | 0 0 1.75 0 0 0
160 |
161 |
162 | 22 1 3.5
163 |
164 |
165 |
166 |
170 |
171 |
172 |
173 | 0
174 | 0
175 |
176 | 0 10.5 0 0 0 0
177 |
178 |
179 |
180 |
181 |
182 | 0.2 20 2
183 |
184 |
185 | 0 0 1 0 0 0
186 |
187 |
188 | 0 0 1 0 0 0
189 |
190 |
191 | 0.2 20 2
192 |
193 |
194 |
195 |
199 |
200 |
201 |
202 | 0
203 | 0
204 |
205 | 2 0 0 0 0 0
206 |
207 |
208 |
209 |
210 |
211 | 0.2 3 3.5
212 |
213 |
214 | 0 0 1.75 0 0 0
215 |
216 |
217 | 0 0 1.75 0 0 0
218 |
219 |
220 | 0.2 3 3.5
221 |
222 |
223 |
224 |
228 |
229 |
230 |
231 | 0
232 | 0
233 |
234 | -2 1 0 0 0 1
235 |
236 |
237 |
238 |
239 |
240 | 0.2 4 3.5
241 |
242 |
243 | 0 0 1.75 0 0 0
244 |
245 |
246 | 0 0 1.75 0 0 0
247 |
248 |
249 | 0.2 4 3.5
250 |
251 |
252 |
253 |
257 |
258 |
259 |
260 | 0
261 | 0
262 |
263 | -4 -3 0 0 0 0
264 |
265 |
266 |
267 |
268 |
269 | 0.2 6 3.5
270 |
271 |
272 | 0 0 1.75 0 0 0
273 |
274 |
275 | 0 0 1.75 0 0 0
276 |
277 |
278 | 0.2 6 3.5
279 |
280 |
281 |
282 |
286 |
287 |
288 |
289 | 0
290 | 0
291 |
292 | -3 3 0 0 0 1.57
293 |
294 |
295 |
296 |
297 |
298 | 0.2 4 3.5
299 |
300 |
301 | 0 0 1.75 0 0 0
302 |
303 |
304 | 0 0 1.75 0 0 0
305 |
306 |
307 | 0.2 4 3.5
308 |
309 |
310 |
311 |
315 |
316 |
317 |
318 | 0
319 | 0
320 |
321 | -1 -2 0 0 0 0
322 |
323 | 1
324 |
325 |
326 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ros_interface/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ROS Interface
5 | 1.0
6 |
7 | model.sdf
8 |
9 |
10 | Geoffrey Hunter
11 | gbmhunter@gmail.com
12 |
13 |
14 |
15 | A model that purely exists to load the ROS interface plugin in Gazebo.
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/ros_interface/model.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 | firefly
7 |
8 |
9 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/rplidar/model.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | rplidar
5 | 1.0
6 | model.sdf
7 |
8 |
9 | James Goppert
10 | jgoppert@dronecrew.com
11 |
12 |
13 |
14 | rplidar: http://www.robotshop.com/en/rplidar-360-laser-scanner.html
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/models/rplidar/model.sdf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 0 0 0 0 0 0
8 | 0.19
9 |
10 | 4.15e-6
11 | 0
12 | 0
13 | 2.407e-6
14 | 0
15 | 2.407e-6
16 |
17 |
18 |
19 |
20 |
21 |
22 | 0.02 0.05 0.05
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | 360
32 | 1
33 | -3.14
34 | 3.14
35 |
36 |
37 |
38 | 0.2
39 | 6
40 | 0.05
41 |
42 |
43 | gaussian
44 | 0.0
45 | 0.01
46 |
47 |
48 |
49 |
50 | laser/scan
51 | rplidar_link
52 |
53 | 1
54 | 5.5
55 | true
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | quadcopter
4 | 0.0.0
5 | The fly_bot package
6 |
7 |
8 |
9 |
10 | jarvis
11 |
12 |
13 |
14 |
15 |
16 | TODO
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 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | catkin
52 | rospy
53 | std_msgs
54 | rospy
55 | std_msgs
56 | rospy
57 | std_msgs
58 | controller_manager
59 | robot_state_publisher
60 | gazebo_msgs
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/src/px4_offboard.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # ROS python API
3 | import rospy
4 |
5 | # 3D point & Stamped Pose msgs
6 | from geometry_msgs.msg import Point, PoseStamped
7 | # import all mavros messages and services
8 | from mavros_msgs.msg import *
9 | from mavros_msgs.srv import *
10 |
11 | # Flight modes class
12 | # Flight modes are activated using ROS services
13 | class flightModes:
14 | def __init__(self):
15 | pass
16 |
17 |
18 |
19 | def setArm(self):
20 | rospy.wait_for_service('mavros/cmd/arming')
21 | try:
22 | armService = rospy.ServiceProxy('mavros/cmd/arming', mavros_msgs.srv.CommandBool)
23 | armService(True)
24 | except rospy.ServiceException as e:
25 | print("Service arming call failed")
26 |
27 | def setDisarm(self):
28 | rospy.wait_for_service('mavros/cmd/arming')
29 | try:
30 | armService = rospy.ServiceProxy('mavros/cmd/arming', mavros_msgs.srv.CommandBool)
31 | armService(False)
32 | except rospy.ServiceException as e:
33 | print("Service disarming call failed")
34 |
35 |
36 |
37 | def setOffboardMode(self):
38 | rospy.wait_for_service('mavros/set_mode')
39 | try:
40 | flightModeService = rospy.ServiceProxy('mavros/set_mode', mavros_msgs.srv.SetMode)
41 | flightModeService(custom_mode='OFFBOARD')
42 | except rospy.ServiceException as e:
43 | print("service set_mode call failed. Offboard Mode could not be set.")
44 |
45 |
46 |
47 |
48 |
49 | class Controller:
50 | # initialization method
51 | def __init__(self):
52 | # Drone state
53 | self.state = State()
54 | # Instantiate a setpoints message
55 | self.sp = PositionTarget()
56 | # set the flag to use position setpoints and yaw angle
57 | self.sp.type_mask = int('000111111000', 2)
58 | # LOCAL_NED
59 | self.sp.coordinate_frame = 1
60 |
61 | # We will fly at a fixed altitude for now
62 | # Altitude setpoint, [meters]
63 | self.ALT_SP = 1.0
64 | # update the setpoint message with the required altitude
65 | self.sp.position.z = self.ALT_SP
66 | # Step size for position update
67 | self.STEP_SIZE = 2.0
68 | # Fence. We will assume a square fence for now
69 | self.FENCE_LIMIT = 5.0
70 |
71 | # A Message for the current local position of the drone
72 | self.local_pos = Point(0.0, 0.0, 1.0)
73 | self.curr_yaw = 0
74 | # initial values for setpoints
75 | self.sp.position.x = 0.0
76 | self.sp.position.y = 0.0
77 | self.sp.yaw = 0.0
78 |
79 |
80 | # speed of the drone is set using MPC_XY_CRUISE parameter in MAVLink
81 | # using QGroundControl. By default it is 5 m/s.
82 |
83 | # Callbacks
84 | ## local position callback
85 | def posCb(self, msg):
86 | self.local_pos.x = msg.pose.position.x
87 | self.local_pos.y = msg.pose.position.y
88 | self.local_pos.z = msg.pose.position.z
89 | self.curr_yaw = msg.pose.orientation.z
90 |
91 | ## Drone State callback
92 | def stateCb(self, msg):
93 | self.state = msg
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/src/teleop.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | from px4_offboard import flightModes, Controller
3 | import rospy
4 | from geometry_msgs.msg import Twist
5 | # 3D point & Stamped Pose msgs
6 | from geometry_msgs.msg import Point, PoseStamped
7 | # import all mavros messages and services
8 | from mavros_msgs.msg import *
9 | from mavros_msgs.srv import *
10 |
11 | import numpy as np
12 | import sys, select, os
13 | if os.name == 'nt':
14 | import msvcrt
15 | else:
16 | import tty, termios
17 |
18 |
19 | def getKey():
20 | if os.name == 'nt':
21 | if sys.version_info[0] >= 3:
22 | return msvcrt.getch().decode()
23 | else:
24 | return msvcrt.getch()
25 |
26 | tty.setraw(sys.stdin.fileno())
27 | rlist, _, _ = select.select([sys.stdin], [], [], 0.1)
28 | if rlist:
29 | key = sys.stdin.read(1)
30 | else:
31 | key = ''
32 |
33 | termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
34 | return key
35 |
36 |
37 | def main():
38 |
39 | # initiate node
40 | rospy.init_node('px4_teleop', anonymous=True)
41 |
42 | # flight mode object
43 | modes = flightModes()
44 |
45 | # controller object
46 | control = Controller()
47 |
48 | # ROS loop rate
49 | rate = rospy.Rate(20.0)
50 |
51 | # Subscribe to drone state
52 | rospy.Subscriber('mavros/state', State, control.stateCb)
53 |
54 | # Subscribe to drone's local position
55 | rospy.Subscriber('mavros/local_position/pose', PoseStamped, control.posCb)
56 |
57 | # Setpoint publisher
58 | sp_pub = rospy.Publisher('mavros/setpoint_raw/local', PositionTarget, queue_size=1)
59 |
60 |
61 | # Make sure the drone is armed
62 | while not control.state.armed:
63 | modes.setArm()
64 | rate.sleep()
65 |
66 | # set in takeoff mode and takeoff to default altitude (3 m)
67 | # modes.setTakeoff()
68 | # rate.sleep()
69 |
70 | # We need to send few setpoint messages, then activate OFFBOARD mode, to take effect
71 | k=0
72 | while k<10:
73 | sp_pub.publish(control.sp)
74 | rate.sleep()
75 | k = k + 1
76 |
77 | # activate OFFBOARD mode
78 | modes.setOffboardMode()
79 | if os.name != 'nt':
80 | settings = termios.tcgetattr(sys.stdin)
81 |
82 |
83 | # ROS main loop
84 | while not rospy.is_shutdown():
85 | key = getKey()
86 | if key == 'w':
87 | control.sp.position.x = control.local_pos.x + 1
88 | control.sp.position.y = control.local_pos.y
89 | control.sp.position.z = control.local_pos.z
90 | control.sp.yaw = control.curr_yaw
91 |
92 | elif key == 's':
93 | control.sp.position.x = control.local_pos.x - 1
94 | control.sp.position.y = control.local_pos.y
95 | control.sp.position.z = control.local_pos.z
96 | control.sp.yaw = control.curr_yaw
97 |
98 | elif key == 'a':
99 | control.sp.position.x = control.local_pos.x
100 | control.sp.position.y = control.local_pos.y + 1
101 | control.sp.position.z = control.local_pos.z
102 | control.sp.yaw = control.curr_yaw
103 |
104 | elif key == 'd':
105 | control.sp.position.x = control.local_pos.x
106 | control.sp.position.y = control.local_pos.y - 1
107 | control.sp.position.z = control.local_pos.z
108 | control.sp.yaw = control.curr_yaw
109 |
110 | elif key == '8':
111 | control.sp.position.x = control.local_pos.x
112 | control.sp.position.y = control.local_pos.y
113 | control.sp.position.z = control.local_pos.z + 1
114 | control.sp.yaw = control.curr_yaw
115 |
116 | elif key == '5':
117 | control.sp.position.x = control.local_pos.x
118 | control.sp.position.y = control.local_pos.y
119 | control.sp.position.z = control.local_pos.z - 1
120 | control.sp.yaw = control.curr_yaw
121 | elif key == '4':
122 | control.sp.position.x = control.local_pos.x
123 | control.sp.position.y = control.local_pos.y
124 | control.sp.position.z = control.local_pos.z
125 | control.sp.yaw = control.curr_yaw + 0.3
126 | elif key == '6':
127 | control.sp.position.x = control.local_pos.x
128 | control.sp.position.y = control.local_pos.y
129 | control.sp.position.z = control.local_pos.z
130 | control.sp.yaw = control.curr_yaw - 0.3
131 |
132 | elif key == 'enter':
133 | control.sp.position.x = control.local_pos.x
134 | control.sp.position.y = control.local_pos.y
135 | control.sp.position.z = control.local_pos.z
136 |
137 |
138 | sp_pub.publish(control.sp)
139 | rate.sleep()
140 |
141 | if __name__ == '__main__':
142 | if os.name != 'nt':
143 | settings = termios.tcgetattr(sys.stdin)
144 | try:
145 | main()
146 | except rospy.ROSInterruptException:
147 | pass
148 |
149 |
150 |
151 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/D60.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 1
6 |
7 |
8 |
9 |
10 | 0 0 1
11 | 100 100
12 |
13 |
14 |
15 |
16 |
17 | 100
18 | 50
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | 10
27 |
28 |
29 | 0
30 | 0
31 |
32 | 0
33 | 0
34 | 1
35 |
36 |
37 |
38 | 1
39 |
40 |
41 | 0 0 -0.001 0 -0 0
42 |
43 |
44 | model://D60/D60.dae
45 |
46 |
47 |
48 |
49 | 0 0 -0.001 0 -0 0
50 |
51 |
52 | model://D60/D60.dae
53 |
54 |
55 | 10
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | 0
68 | 0
69 |
70 | 0
71 | 0
72 | 1
73 |
74 |
75 |
76 |
77 | 20.7846 -10.4135 44.9584 0 1.2978 1.56583
78 | orbit
79 |
80 |
81 |
82 | 0.001
83 | 1
84 | 1000
85 | 0 0 -9.8
86 |
87 |
88 | 0.4 0.4 0.4 1
89 | 0.7 0.7 0.7 1
90 | 1
91 |
92 |
93 | EARTH_WGS84
94 | 0
95 | 0
96 | 0
97 | 0
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/basic.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | model://ground_plane
6 |
7 |
8 | model://sun
9 |
10 |
11 |
13 |
14 |
15 |
16 | EARTH_WGS84
17 | 47.3667
18 | 8.5500
19 | 500.0
20 | 0
21 |
22 |
23 |
24 |
25 | quick
26 | 1000
27 | 1.3
28 |
29 |
30 | 0
31 | 0.2
32 | 100
33 | 0.001
34 |
35 |
36 | 0.01
37 | 1
38 | 100
39 | 0 0 -9.8
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/empty.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | model://sun
7 |
8 |
9 |
10 | model://ground_plane
11 |
12 |
13 | model://asphalt_plane
14 |
15 |
16 |
18 |
19 |
20 |
21 | 0 0 -9.8066
22 |
23 |
24 | quick
25 | 10
26 | 1.3
27 | 0
28 |
29 |
30 | 0
31 | 0.2
32 | 100
33 | 0.001
34 |
35 |
36 | 0.002
37 | 1
38 | 500
39 | 6e-06 2.3e-05 -4.2e-05
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/outdoor.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | -11.660200 -5.942800 6.053900 0.000000 0.443643 0.352194
8 |
9 |
10 |
11 | 0.2 0.2 0.2 1.0
12 | false
13 |
14 |
15 | 4
16 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
27 | quick
28 | 1000
29 | 1.3
30 |
31 |
32 | 0
33 | 0.2
34 | 100
35 | 0.001
36 |
37 |
38 | 0.01
39 | 1
40 | 100
41 | 0 0 -9.8
42 |
43 |
44 |
45 | false
46 | 0 0 100 0 0 0
47 | 0.8 0.8 0.8 1
48 | 0.9 0.9 0.9 1
49 |
50 | 1000
51 | 0.9
52 | 0.01
53 | 0.001
54 |
55 | 0.2 0.2 -0.9
56 |
57 |
58 | false
59 | -14 0 5 0 0 0
60 | 0.3 0.3 0.3 1
61 | 0.0 0.0 0.0 1
62 |
63 | 80
64 | 0.9
65 | 0.01
66 | 0.001
67 |
68 |
69 |
70 | model://vrc_heightmap_1
71 |
72 |
73 | model://grass_plane
74 |
75 |
76 | model://speed_limit_sign
77 | speed_sign_1
78 | true
79 | 15 -5 0 0 0 1.5707
80 |
81 |
82 | model://speed_limit_sign
83 | speed_sign_2
84 | true
85 | 70 5 0 0 0 1.5707
86 |
87 |
88 | model://speed_limit_sign
89 | speed_sign_3
90 | true
91 | 121 13 0 0 0 2.356
92 |
93 |
94 | model://speed_limit_sign
95 | speed_sign_4
96 | true
97 | 155 68 0 0 0 3.1415
98 |
99 |
100 | model://speed_limit_sign
101 | speed_sign_5
102 | true
103 | 175 95 0 0 0 1.5707
104 |
105 |
106 | model://house_1
107 | house_1_a
108 | 12 9.5 0 0 0 0
109 |
110 |
111 | model://house_1
112 | house_1_b
113 | 129.5 46 0 0 0 1.5707
114 |
115 |
116 | model://mailbox
117 | mailbox_0
118 | true
119 | 18 4 0 0 0 0
120 |
121 |
122 | model://mailbox
123 | mailbox_1
124 | true
125 | 24.5 -4.45 0 0 0 0
126 |
127 |
128 | model://gas_station
129 | gas_station
130 | 77 15 0 0 0 -1.5707963267948966
131 |
132 |
133 | model://house_2
134 | house_2_a
135 | 30 -8 0 0 0 0
136 |
137 |
138 | model://house_2
139 | house_2_b
140 | 158 91 0 0 0 0
141 |
142 |
143 | model://house_3
144 | house_3_a
145 | 44 7 0 0 0 0
146 |
147 |
148 | model://house_3
149 | house_3_b
150 | 111 26 0 0 0 .78539
151 |
152 |
153 | model://house_3
154 | house_3_c
155 | 170 106 0 0 0 0
156 |
157 |
158 | model://mailbox
159 | mailbox_2
160 | true
161 | 59 4.45 0 0 0 0
162 |
163 |
164 | model://house_3
165 | house_3_d
166 | 95 7.0 0 0 0 0
167 |
168 |
169 | model://dumpster
170 | true
171 | 143 51.5 0 0 0 0
172 |
173 |
174 | model://house_2
175 | house_2_c
176 | 135 84.8 0 0 0 0
177 |
178 |
179 | model://lamp_post
180 | lamp_post_1
181 | true
182 | 24 4 0 0 0 0
183 |
184 |
185 | model://lamp_post
186 | lamp_post_2
187 | true
188 | 54 4 0 0 0 0
189 |
190 |
191 | model://lamp_post
192 | lamp_post_3
193 | true
194 | 84 4 0 0 0 0
195 |
196 |
197 | model://lamp_post
198 | lamp_post_4
199 | true
200 | 14 -4 0 0 0 3.1415
201 |
202 |
203 | model://lamp_post
204 | lamp_post_5
205 | true
206 | 44 -4 0 0 0 3.1415
207 |
208 |
209 | model://lamp_post
210 | lamp_post_6
211 | true
212 | 74 -4 0 0 0 3.1415
213 |
214 |
215 | model://lamp_post
216 | lamp_post_7
217 | true
218 | 148 104 0 0 0 0
219 |
220 |
221 | model://lamp_post
222 | lamp_post_8
223 | true
224 | 178 104 0 0 0 0
225 |
226 |
227 | model://lamp_post
228 | lamp_post_9
229 | true
230 | 158 96 0 0 0 3.1415
231 |
232 |
233 | model://lamp_post
234 | lamp_post_10
235 | true
236 | 188 96 0 0 0 3.1415
237 |
238 |
239 | model://lamp_post
240 | lamp_post_11
241 | true
242 | 102 8 0 0 0 .785
243 |
244 |
245 | model://lamp_post
246 | lamp_post_12
247 | true
248 | 123 29 0 0 0 .785
249 |
250 |
251 | model://lamp_post
252 | lamp_post_13
253 | true
254 | 144 50 0 0 0 .785
255 |
256 |
257 | model://lamp_post
258 | lamp_post_14
259 | true
260 | 99 -4 0 0 0 3.1415
261 |
262 |
263 | model://lamp_post
264 | lamp_post_15
265 | true
266 | 120 14.5 0 0 0 -2.35
267 |
268 |
269 | model://lamp_post
270 | lamp_post_16
271 | true
272 | 141 35.5 0 0 0 -2.35
273 |
274 |
275 | 7.34
276 | 0 0 0.01
277 | 100 0 0.01
278 | 150 50 0.01
279 | 150 100 0.01
280 | 200 100 0.01
281 |
282 |
283 | 17
284 | 65 25 0.01
285 | 65 3.66 0.01
286 |
287 |
288 | true
289 |
290 |
291 | 51 0 0 0 0 0
292 |
293 |
294 | 102 7.34 0.02
295 |
296 |
297 |
298 |
299 |
300 | 0.8
301 | 0.8
302 |
303 |
304 |
305 |
306 |
307 | 125 25 0 0 0 0.78539
308 |
309 |
310 | 72 7.34 0.02
311 |
312 |
313 |
314 |
315 |
316 | 0.8
317 | 0.8
318 |
319 |
320 |
321 |
322 |
323 | 150 75 0 0 0 0
324 |
325 |
326 | 7.34 53 0.02
327 |
328 |
329 |
330 |
331 |
332 | 0.8
333 | 0.8
334 |
335 |
336 |
337 |
338 |
339 | 173.5 100 0 0 0 0
340 |
341 |
342 | 54.5 7.34 0.02
343 |
344 |
345 |
346 |
347 |
348 | 0.8
349 | 0.8
350 |
351 |
352 |
353 |
354 |
355 | 198 106 0 0 0 0
356 |
357 |
358 | 6 5 0.02
359 |
360 |
361 |
362 |
363 |
364 | 0.8
365 | 0.8
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/pillars.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 1
6 |
7 |
8 |
9 |
10 | 0 0 1
11 | 100 100
12 |
13 |
14 |
15 |
16 |
17 | 100
18 | 50
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | 10
27 |
28 |
29 | 0
30 | 0
31 |
32 | 0
33 | 0
34 | 1
35 |
36 |
37 |
38 | 1
39 |
40 |
41 | 0 0 -0.001 0 -0 0
42 |
43 |
44 | model://pillars/pillars.dae
45 |
46 |
47 |
48 |
49 | 0 0 -0.001 0 -0 0
50 |
51 |
52 | model://pillars/pillars.dae
53 |
54 |
55 | 10
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 | 0
68 | 0
69 |
70 | 0
71 | 0
72 | 1
73 |
74 |
75 |
76 |
77 | 20.7846 -10.4135 44.9584 0 1.2978 1.56583
78 | orbit
79 |
80 |
81 |
82 | 0.001
83 | 1
84 | 1000
85 | 0 0 -9.8
86 |
87 |
88 | 0.4 0.4 0.4 1
89 | 0.7 0.7 0.7 1
90 | 1
91 |
92 |
93 | EARTH_WGS84
94 | 0
95 | 0
96 | 0
97 | 0
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/quad.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 12
9 |
10 |
11 |
12 |
13 |
14 | model://ground_plane
15 |
16 |
17 |
18 | model://sun
19 |
20 |
21 |
22 | model://construction_cone
23 | 3 0 0 0 0 0
24 |
25 |
26 |
27 | model://construction_cone
28 | -3 0 0 0 0 0
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/warehouse.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | model://sun
7 |
8 |
9 |
10 | model://ground_plane
11 |
12 |
13 | model://asphalt_plane
14 |
15 |
16 |
18 |
19 |
20 |
21 | 0 0 -9.8066
22 |
23 |
24 | quick
25 | 10
26 | 1.3
27 | 0
28 |
29 |
30 | 0
31 | 0.2
32 | 100
33 | 0.001
34 |
35 |
36 | 0.002
37 | 1
38 | 500
39 | 6e-06 2.3e-05 -4.2e-05
40 |
41 |
42 |
43 |
44 | shelves 1
45 | model://shelves_high2
46 | 1 3.4 0 0 0 0
47 |
48 |
49 | shelves 2
50 | model://shelves_high2
51 | -4.13394 3.4 0 0 -0 0
52 |
53 |
54 |
55 |
56 | shelves 3
57 | model://shelves_high2
58 | 1 4.7 0 0 0 0
59 |
60 |
61 | shelves 4
62 | model://shelves_high2
63 | -4.13394 4.7 0 0 -0 0
64 |
65 |
66 |
67 |
68 | shelves 5
69 | model://shelves_high2_no_collision
70 | 1 -1.5 0 0 0 0
71 |
72 |
73 | shelves 6
74 | model://shelves_high2_no_collision
75 | -4.13394 -1.5 0 0 -0 0
76 |
77 |
78 |
79 |
80 | shelves 7
81 | model://shelves_high2_no_collision
82 | 1 -2.8 0 0 0 0
83 |
84 |
85 | shelves 8
86 | model://shelves_high2_no_collision
87 | -4.13394 -2.8 0 0 -0 0
88 |
89 |
90 |
91 |
92 | shelves 9
93 | model://shelves_high2_no_collision
94 | 1 -7.8 0 0 0 0
95 |
96 |
97 | shelves 10
98 | model://shelves_high2_no_collision
99 | -4.13394 -7.8 0 0 -0 0
100 |
101 |
102 |
103 |
104 | shelves 11
105 | model://shelves_high2_no_collision
106 | 1 -9.1 0 0 0 0
107 |
108 |
109 | shelves 12
110 | model://shelves_high2_no_collision
111 | -4.13394 -9.1 0 0 -0 0
112 |
113 |
114 |
117 |
118 |
119 |
120 | pallet 1 box
121 | model://big_box3
122 | 1.48626 3.390705 0.760253 0 0.000143 -1.57317
123 |
124 |
125 | pallet 1 support
126 | model://europallet
127 | 1.48088 3.400944 0.0635 0 0 -1.56736
128 |
129 |
130 |
131 |
132 | pallet 4 box
133 | model://big_box3
134 | -2.37439 3.440964 0.776474 0 0 -1.59804
135 |
136 |
137 | pallet 4 support
138 | model://europallet
139 | -2.40127 3.415746 0.0635 0 0 -1.5558
140 |
141 |
142 |
143 |
144 | pallet 7 box
145 | model://big_box4
146 | 2.61297 3.464591 0.774725 0 0 -1.59992
147 |
148 |
149 | pallet 7 support
150 | model://europallet
151 | 2.59788 3.454115 0.0635 0 0 -1.56921
152 |
153 |
154 |
155 |
156 | pallet 10 box
157 | model://big_box3
158 | -3.45548 3.349857 0.774725 0 0 -1.56894
159 |
160 |
161 | pallet 10 support
162 | model://europallet
163 | -3.41303 3.343739 0.0635 0 -0 1.56536
164 |
165 |
166 |
167 |
168 | pallet 11 box
169 | model://big_box4
170 | -4.67439 3.440964 0.776474 0 0 -1.59804
171 |
172 |
173 | pallet 11 support
174 | model://europallet
175 | -4.70127 3.415746 0.0635 0 0 -1.5558
176 |
177 |
178 |
179 |
180 | pallet 12 box
181 | model://big_box3
182 | -5.95548 3.349857 0.774725 0 0 -1.56894
183 |
184 |
185 | pallet 12 support
186 | model://europallet
187 | -5.91303 3.343739 0.0635 0 -0 1.56536
188 |
189 |
190 |
191 |
192 | pallet 18 support
193 | model://europallet
194 | 0.234986 3.337637 0.0635 0 -0 1.56536
195 |
196 |
197 | pallet 18b support
198 | model://europallet
199 | 0.134986 3.337637 0.2102 0 -0 1.2
200 |
201 |
202 |
205 |
206 |
207 |
208 | pallet 2 box
209 | model://big_box3
210 | -3.25548 3.349857 2.3397 0 0 -1.56894
211 |
212 |
213 | pallet 2 support
214 | model://europallet
215 | -3.21303 3.343739 1.6373 0 -0 1.56536
216 |
217 |
218 |
219 |
220 |
221 | pallet 5 multi boxes
222 | model://pallet_full
223 | 0.334986 3.337637 1.63184 0 0 -1.57575
224 | true
225 |
226 |
227 |
228 |
229 | pallet 17 multi boxes
230 | model://pallet_full
231 | 0.334986 3.337637 2.31 0 0 -1.57575
232 | true
233 |
234 |
235 |
236 |
237 | pallet 8 box
238 | model://big_box4
239 | 2.56918 3.321158 2.35696 0 0 -1.56652
240 |
241 |
242 | pallet 8 support
243 | model://europallet
244 | 2.64128 3.308661 1.64676 0 0 -1.55378
245 |
246 |
247 |
248 |
249 | pallet 9 box
250 | model://big_box4
251 | -2.30257 2.987644 2.35696 0 0 -1.57937
252 |
253 |
254 | pallet 9 support
255 | model://europallet
256 | -2.28744 2.915349 1.64676 0 -0 1.5541
257 |
258 |
259 |
260 |
261 | pallet 13 box
262 | model://big_box3
263 | -4.67439 3.440964 2.35696 0 0 -1.59804
264 |
265 |
266 | pallet 13 support
267 | model://europallet
268 | -4.70127 3.415746 1.64676 0 0 -1.5558
269 |
270 |
271 |
272 |
273 | pallet 14 box
274 | model://big_box4
275 | -5.95548 3.349857 2.35696 0 0 -1.56894
276 |
277 |
278 | pallet 14 support
279 | model://europallet
280 | -5.91303 3.343739 1.64676 0 -0 1.56536
281 |
282 |
283 |
284 |
285 | pallet 19 box
286 | model://big_box3
287 | -0.8 3.337637 2.3397 0 0 -1.56894
288 |
289 |
290 | pallet 19 support
291 | model://europallet
292 | -0.8 3.337637 1.6373 0 -0 1.56536
293 |
294 |
295 |
296 |
299 |
300 |
301 |
302 | pallet 6 multi boxes
303 | model://pallet_full
304 | -2.18966 3.351916 3.27046 0 0 -1.58092
305 | true
306 |
307 |
308 |
309 |
310 | pallet 15 multi boxes
311 | model://pallet_full
312 | -4.68966 3.351916 3.27046 0 0 -1.58092
313 | true
314 |
315 |
316 |
317 |
318 | pallet 16 multi boxes
319 | model://pallet_full
320 | -5.88966 3.351916 3.27046 0 0 -1.58092
321 | true
322 |
323 |
324 |
325 |
326 |
327 | pallet 20 box
328 | model://big_box4
329 | -3.25548 3.349857 3.97286 0 0 -1.56894
330 |
331 |
332 | pallet 20 support
333 | model://europallet
334 | -3.21303 3.343739 3.27046 0 -0 1.56536
335 |
336 |
337 |
338 |
339 | pallet 21 box
340 | model://big_box3
341 | 2.56918 3.321158 3.97286 0 0 -1.56652
342 |
343 |
344 | pallet 21 support
345 | model://europallet
346 | 2.64128 3.308661 3.27046 0 0 -1.55378
347 |
348 |
349 |
350 |
351 | pallet 22 box
352 | model://big_box4
353 | -0.8 3.337637 3.97286 0 0 -1.56894
354 |
355 |
356 | pallet 22 support
357 | model://europallet
358 | -0.8 3.337637 3.27046 0 -0 1.56536
359 |
360 |
361 |
362 |
365 |
366 |
367 |
368 | pallet B-0-1 box
369 | model://big_box3
370 | 1.48626 -1.5 0.760253 0 0.000143 1.57317
371 |
372 |
373 | pallet B-0-1 support
374 | model://europallet
375 | 1.48088 -1.5 0.0635 0 0 1.56736
376 |
377 |
378 |
379 |
380 | pallet B-0-2 box
381 | model://big_box4
382 | 2.9 -1.5 0.774725 0 0 1.59992
383 |
384 |
385 | pallet B-0-2 support
386 | model://europallet
387 | 2.9 -1.5 0.0635 0 0 1.56921
388 |
389 |
390 |
391 |
394 |
395 |
396 |
397 | pallet B-1-1 box
398 | model://big_box3
399 | 1.6 -1.5 2.30 0 0.000143 1.57317
400 | true
401 |
402 |
403 | pallet B-1-1-1 support
404 | model://europallet
405 | 1.6 -1.5 1.60 0 0 1.56736
406 | true
407 |
408 |
409 |
410 |
411 | pallet B-1-2 box
412 | model://big_box3
413 | 2.9 -1.5 2.30 0 0 1.59992
414 | true
415 |
416 |
417 | pallet B-1-2 support
418 | model://europallet
419 | 2.9 -1.5 1.60 0 0 1.56921
420 | true
421 |
422 |
423 |
426 |
427 |
428 |
429 | pallet B-2-1 box
430 | model://big_box4
431 | 1.6 -1.5 3.97 0 0.000143 1.57317
432 | true
433 |
434 |
435 | pallet B-1-1-1 support
436 | model://europallet
437 | 1.6 -1.5 3.27 0 0 1.56736
438 | true
439 |
440 |
441 |
442 |
443 | pallet B-2-2 box
444 | model://big_box3
445 | 2.9 -1.5 3.97 0 0 1.59992
446 | true
447 |
448 |
449 | pallet B-1-2 support
450 | model://europallet
451 | 2.9 -1.5 3.27 0 0 1.56921
452 | true
453 |
454 |
455 |
456 |
457 | first_2015_trash_can
458 | model://first_2015_trash_can
459 | 3.8239 3.403029 0 0 -0 0
460 |
461 |
462 |
463 |
464 | grey_wall
465 | model://grey_wall
466 | -8.34545 0 0 0 0 -1.57
467 |
468 |
469 |
470 | grey_wall2
471 | model://grey_wall
472 | -3.5 9 0 0 0 0
473 |
474 |
475 |
476 |
477 |
478 |
--------------------------------------------------------------------------------
/quadcopter_gazebo/worlds/waypoint.world:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | model://sun
6 |
7 |
8 | model://occupancy_grid
9 | 5 0 0 0.0 0.0 0.0
10 |
11 |
12 | EARTH_WGS84
13 | 47.3667
14 | 8.5500
15 | 500.0
16 | 0
17 |
18 |
19 |
21 |
22 |
23 |
24 |
25 |
26 | quick
27 | 1000
28 | 1.3
29 |
30 |
31 | 0
32 | 0.2
33 | 100
34 | 0.001
35 |
36 |
37 | 0.01
38 | 1
39 | 100
40 | 0 0 -9.8
41 |
42 |
43 |
44 | world/octomap
45 | world/get_octomap
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------