Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: lrse/exploration
base: 572c1c7028
...
head fork: lrse/exploration
compare: 6756535686
  • 2 commits
  • 8 files changed
  • 0 commit comments
  • 1 contributor
1  .gitignore
View
@@ -10,3 +10,4 @@ csv/*.dot
main
cmake_install.cmake
config.h
+*.geany
5 exabot.cpp
View
@@ -59,7 +59,8 @@ ExaBot::~ExaBot(void) {
void ExaBot::update_player(void)
{
- player_client.Read();
+ while (player_client.Peek(0))
+ player_client.Read();
}
void ExaBot::update(void) {
@@ -90,7 +91,7 @@ void ExaBot::update(void) {
// plot robot position
gsl::vector_int robot_position = MetricMap::instance()->grid_position();
robot_position = robot_position + 0.5;
- cv::circle(graph, cv::Point(robot_position(0), OccupancyGrid::CELLS - robot_position(1) - 1), MetricMap::ROBOT_RADIUS / OccupancyGrid::CELL_SIZE, cv::Scalar(0,0,255), -1);
+ cv::circle(graph, cv::Point(robot_position(0), OccupancyGrid::CELLS - robot_position(1) - 1), floor(MetricMap::ROBOT_RADIUS / OccupancyGrid::CELL_SIZE), cv::Scalar(0,0,255), -1, 4);
// plot path
if (!LocalExplorer::instance()->follow_path.empty()) {
44 exploration.geany
View
@@ -1,44 +0,0 @@
-
-[indentation]
-indent_width=2
-indent_type=0
-indent_hard_tab_width=8
-detect_indent=false
-indent_mode=2
-detect_indent_width=false
-
-[project]
-name=exploration
-base_path=/home/v01d/coding/exploration
-description=
-
-[long line marker]
-long_line_behaviour=1
-long_line_column=120
-
-[files]
-current_page=0
-FILE_NAME_0=3369;C++;0;16;0;1;1;/home/v01d/coding/exploration/exabot.cpp;0;2
-FILE_NAME_1=6581;C++;0;16;0;1;1;/home/v01d/coding/exploration/metric_map.cpp;0;2
-FILE_NAME_2=836;C;0;16;0;1;1;/home/v01d/coding/exploration/occupancy_grid.h;0;2
-FILE_NAME_3=1471;C;0;16;0;1;1;/home/v01d/coding/exploration/motion_planner.h;0;2
-FILE_NAME_4=1416;C++;0;16;0;1;1;/home/v01d/coding/exploration/motion_planner.cpp;0;2
-FILE_NAME_5=6798;C++;0;16;0;1;1;/home/v01d/coding/exploration/explorer.cpp;0;2
-FILE_NAME_6=295;C;0;16;0;1;1;/home/v01d/coding/exploration/explorer.h;0;2
-FILE_NAME_7=480;C;0;16;0;1;1;/home/v01d/coding/exploration/metric_map.h;0;2
-FILE_NAME_8=2031;C++;0;16;0;1;1;/home/v01d/coding/exploration/occupancy_grid_frontiers.cpp;0;2
-FILE_NAME_9=3204;C++;0;16;0;1;1;/home/v01d/coding/exploration/local_explorer.cpp;0;2
-FILE_NAME_10=19;C++;0;16;0;1;1;/home/v01d/coding/exploration/main.cpp;0;2
-FILE_NAME_11=0;CMake;0;16;0;1;1;/home/v01d/coding/exploration/CMakeLists.txt;0;2
-FILE_NAME_12=705;C;0;16;0;1;1;/home/v01d/coding/exploration/exabot.h;0;2
-FILE_NAME_13=742;None;0;16;0;1;1;/home/v01d/coding/exploration/TODO_BUGS;0;2
-FILE_NAME_14=0;C++;0;16;0;1;1;/home/v01d/coding/exploration/super_matrix.cpp;0;2
-FILE_NAME_15=0;C;0;16;0;1;1;/home/v01d/coding/exploration/graph.h;0;2
-FILE_NAME_16=911;C++;0;16;0;1;1;/home/v01d/coding/exploration/pathfinder.cpp;0;2
-FILE_NAME_17=0;C;0;16;0;1;1;/home/v01d/coding/exploration/pathfinder.h;0;2
-FILE_NAME_18=581;C;0;16;0;1;1;/home/v01d/coding/exploration/local_explorer.h;0;2
-FILE_NAME_19=0;C++;0;16;0;1;1;/home/v01d/coding/exploration/global_explorer.cpp;0;2
-FILE_NAME_20=0;None;0;16;0;1;1;/home/v01d/coding/exploration/exploration.geany;0;2
-
-[VTE]
-last_dir=/home/v01d
27 local_explorer.cpp
View
@@ -3,8 +3,6 @@
using namespace HybNav;
using namespace std;
-const double wall_safety_radius = 0.4;
-
LocalPathfinder::LocalPathfinder(double v) : frontier_value_condition(v) {
grid.create(OccupancyGrid::CELLS, OccupancyGrid::CELLS, CV_8UC1);
}
@@ -23,23 +21,16 @@ list<gsl::vector_int> LocalPathfinder::neighbors(const gsl::vector_int& v, const
}
unsigned long LocalPathfinder::movement_cost(const gsl::vector_int& from, const gsl::vector_int& to, const gsl::vector_int& previous) {
- //OccupancyGrid& grid = *MetricMap::instance()->current_grid;
unsigned long cost = 1;
- int safety_radius_cells = ceil(wall_safety_radius / OccupancyGrid::CELL_SIZE);
-
- /*for (int i = -safety_radius_cells; i <= safety_radius_cells; i++) {
- for (int j = -safety_radius_cells; j <= safety_radius_cells; j++) {
- if ((i == 0) && (j == 0)) continue;
- int x = to(0) + i;
- int y = to(1) + j;
- if (OccupancyGrid::valid_coordinates(x, y)) {
- double occupancy = grid(x, y);
- if (occupancy > 0) cost += (unsigned long)(occupancy * 50.0);
- else if ((uint)x == 0 || (uint)y == 0 || (uint)x == (OccupancyGrid::CELLS - 1) || (uint)y == (OccupancyGrid::CELLS - 1)) cost += 5;
- }
- }
- }*/
+ int safety_radius_cells = ceil(MetricMap::ROBOT_RADIUS * 0.7 / OccupancyGrid::CELL_SIZE);
+
+ // avoid grid edges
+ int x = to(0);
+ int y = to(1);
+ if ((x < safety_radius_cells) || (x > OccupancyGrid::CELLS - safety_radius_cells - 1) ||
+ (y < safety_radius_cells) || (y > OccupancyGrid::CELLS - safety_radius_cells - 1))
+ cost += 15;
// if there's a previous node in the path
if (previous != from) {
@@ -64,7 +55,7 @@ void LocalPathfinder::process_current_grid(void) {
for (uint i = 0; i < OccupancyGrid::CELLS; i++) {
for (uint j = 0; j < OccupancyGrid::CELLS; j++) {
if (current_grid(i,j) >= frontier_value_condition)
- cv::circle(grid, cv::Point(i,OccupancyGrid::CELLS - j - 1), MetricMap::ROBOT_RADIUS / OccupancyGrid::CELL_SIZE, 0, -1, 4);
+ cv::circle(grid, cv::Point(i,OccupancyGrid::CELLS - j - 1), floor(MetricMap::ROBOT_RADIUS * 0.8 / OccupancyGrid::CELL_SIZE), 0, -1, 4);
}
}
}
18 metric_map.cpp
View
@@ -18,7 +18,7 @@ using PlayerCc::Position2dProxy;
// These numbers account for 4m of sensors range (sick has 8m)
uint MetricMap::WINDOW_SIZE_CELLS = 115; // must be odd!
uint MetricMap::WINDOW_RADIUS_CELLS = (MetricMap::WINDOW_SIZE_CELLS - 1) / 2;
-double MetricMap::ROBOT_RADIUS = 0.1;
+double MetricMap::ROBOT_RADIUS = 0.09;
/**************************
* Constructor/Destructor *
@@ -110,6 +110,7 @@ void MetricMap::process_distances(Position2dProxy& position_proxy, LaserProxy& l
size_t laser_samples = laser_proxy.GetCount();
list<cv::Point> pts;
vector<cv::Point> pts2(laser_samples);
+ list<float> pts_distances;
for (size_t i = 0; i < laser_samples; i++) {
double angle = laser_proxy.GetBearing(i) + position_proxy.GetYaw();
@@ -123,22 +124,27 @@ void MetricMap::process_distances(Position2dProxy& position_proxy, LaserProxy& l
cv::Point p;
p.x = pts2[i].x;
p.y = (int)round(y / OccupancyGrid::CELL_SIZE) + (int)WINDOW_RADIUS_CELLS;
- if (p.x >= 0 && p.y >= 0 && (uint)p.x < WINDOW_SIZE_CELLS && (uint)p.y < WINDOW_SIZE_CELLS) pts.push_back(p);
+ if (p.x >= 0 && p.y >= 0 && (uint)p.x < WINDOW_SIZE_CELLS && (uint)p.y < WINDOW_SIZE_CELLS) {
+ pts.push_back(p);
+ pts_distances.push_back(dist);
+ }
}
}
const cv::Point* ptr = &pts2[0];
int contours = laser_samples;
- fillPoly(cv_window, &ptr, &contours, 1, OccupancyGrid::Lfree * 0.05, 4);
+ fillPoly(cv_window, &ptr, &contours, 1, OccupancyGrid::Lfree * 0.2, 4);
// mark individual cells as occupied for each sensed point
- for (list<cv::Point>::const_iterator it = pts.begin(); it != pts.end(); ++it) {
- cv_window(WINDOW_SIZE_CELLS - it->y - 1, it->x) = OccupancyGrid::Locc * 0.1;
+ list<float>::const_iterator it_list = pts_distances.begin();
+ for (list<cv::Point>::const_iterator it = pts.begin(); it != pts.end(); ++it, ++it_list) {
+ float rel_dist = 1 - *it_list / max_range;
+ cv_window(WINDOW_SIZE_CELLS - it->y - 1, it->x) = OccupancyGrid::Locc * rel_dist * 0.1;
// 5cm per laser hit
//cv::circle(cv_window, cv::Point(it->x, WINDOW_SIZE_CELLS - it->y - 1), 0/*round(0.05 / OccupancyGrid::CELL_SIZE)*/, OccupancyGrid::Locc * 0.05, 0, 4);
}
// create a free circular area around robot
- cv::circle(cv_window, cv::Point(WINDOW_RADIUS_CELLS, WINDOW_RADIUS_CELLS), (int)floor(1.5 * ROBOT_RADIUS / OccupancyGrid::CELL_SIZE), OccupancyGrid::Lfree, -1, CV_AA);
+ cv::circle(cv_window, cv::Point(WINDOW_RADIUS_CELLS, WINDOW_RADIUS_CELLS), (int)floor(ROBOT_RADIUS / OccupancyGrid::CELL_SIZE), OccupancyGrid::Lfree, -1, 8);
// apply window to corresponding grids
gsl::vector_int window_offset = current_grid->position * OccupancyGrid::CELLS + grid_position();
118 test/arena-mio.world
View
@@ -5,7 +5,7 @@ S1R
(
# can refer to the robot by this name
name "r0"
- pose [ 0.927 1.880 0 150.000 ]
+ pose [ 0.186 3.032 0 -91.606 ]
minedetector(
alwayson 1
pose [0 0 -0.120 0]
@@ -28,7 +28,7 @@ S1R
window
(
- size [ 800.000 800.000 ] # in pixels
+ size [ 800.000 733.000 ] # in pixels
scale 150.0
# pixels per meteri
center [ 1.7 1.8 ]
@@ -84,78 +84,78 @@ obstacle(name "1" pose [1.710 0.020 0 90.000] size [0.040 3.340 0.250] color "br
obstacle(name "2" pose [1.710 3.700 0 90.000] size [0.040 3.340 0.250] color "brown")
obstacle(name "3" pose [0.020 1.860 0 0] size [0.040 3.720 0.250] color "brown")
obstacle(name "4" pose [3.400 1.860 0 0] size [0.040 3.720 0.250] color "brown")
-obstacle(name "5" pose [-0.307 0.667 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "6" pose [-0.820 1.473 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "7" pose [-0.860 0.633 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "8" pose [-1.060 0.793 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "9" pose [-1.233 0.913 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "10" pose [-1.253 0.893 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "11" pose [2.667 -0.427 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "12" pose [0.820 0.660 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "13" pose [1.780 0.660 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "14" pose [3.660 0.873 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "15" pose [0.820 1.300 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "16" pose [-0.873 1.587 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "17" pose [-0.647 1.033 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "18" pose [-0.933 1.647 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "19" pose [-0.893 1.733 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "20" pose [-0.813 1.133 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "21" pose [2.260 1.460 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "22" pose [-0.727 1.793 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "23" pose [1.620 1.140 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "24" pose [0.980 1.140 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "25" pose [-0.860 1.367 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "26" pose [1.467 1.300 0 90.000] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "27" pose [-0.693 1.007 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "28" pose [-0.740 1.327 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "29" pose [-1.260 0.713 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "30" pose [-1.153 0.813 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "5" pose [-0.653 2.207 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "6" pose [-0.807 2.267 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "7" pose [1.620 0.180 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "8" pose [-0.687 2.327 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "9" pose [-0.673 2.293 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "10" pose [-0.707 2.180 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "11" pose [-0.627 2.193 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "12" pose [-0.733 2.300 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "13" pose [-0.827 2.220 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "14" pose [-0.847 2.273 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "15" pose [-0.667 2.280 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "16" pose [-0.627 2.247 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "17" pose [-0.740 2.267 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "18" pose [-0.520 2.193 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "19" pose [-0.680 2.260 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "20" pose [-0.660 2.180 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "21" pose [-0.587 2.200 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "22" pose [-0.687 2.173 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "23" pose [-0.573 2.227 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "24" pose [-0.620 2.100 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "25" pose [-0.560 2.200 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "26" pose [0.500 0.340 0 90.000] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "27" pose [0.180 0.660 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "28" pose [1.160 0.340 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "29" pose [1.480 0.340 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "30" pose [1.440 0.660 0 90.000] size [0.040 0.320 0.250] color "gray49")
obstacle(name "31" pose [2.100 0.660 0 90.000] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "32" pose [3.227 0.400 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "32" pose [2.940 0.660 0 90.000] size [0.040 0.320 0.250] color "gray49")
obstacle(name "33" pose [0.980 0.480 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "34" pose [0.980 0.820 0 0] size [0.040 0.360 0.250] color "gray49")
obstacle(name "35" pose [0.660 0.800 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "36" pose [0.660 1.140 0 0] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "37" pose [-0.980 1.760 0 0] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "38" pose [-0.727 2.013 0 0] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "37" pose [0.340 1.120 0 0] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "38" pose [0.340 1.440 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "39" pose [1.140 1.620 0 90.000] size [0.040 0.360 0.250] color "gray49")
obstacle(name "40" pose [0.800 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "41" pose [-0.600 1.607 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "42" pose [1.460 1.620 0 90.000] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "41" pose [0.480 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "42" pose [2.100 1.620 0 90.000] size [0.040 0.360 0.250] color "gray49")
obstacle(name "43" pose [2.440 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "44" pose [-1.140 2.207 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "45" pose [-0.833 1.653 0 90.000] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "46" pose [1.627 1.467 0 0] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "44" pose [2.760 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "45" pose [2.740 0.980 0 90.000] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "46" pose [2.900 1.160 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "47" pose [2.260 1.160 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "48" pose [2.260 0.840 0 0] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "49" pose [0.653 1.453 0 0] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "49" pose [1.620 1.460 0 0] size [0.040 0.360 0.250] color "gray49")
obstacle(name "50" pose [1.620 0.820 0 0] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "51" pose [3.053 0.227 0 0] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "51" pose [2.760 0.500 0 0] size [0.040 0.360 0.250] color "gray49")
obstacle(name "52" pose [1.120 1.300 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "53" pose [0.980 0.187 0 0] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "54" pose [-1.180 0.747 0 0] size [0.040 0.040 0.250] color "gray49")
-obstacle(name "55" pose [0.660 1.803 0 0] size [0.040 0.420 0.250] color "gray49")
-obstacle(name "56" pose [-0.560 2.540 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "57" pose [-0.407 2.227 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "58" pose [0.653 2.897 0 0] size [0.040 0.540 0.250] color "gray49")
+obstacle(name "53" pose [1.300 1.140 0 0] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "54" pose [2.260 0.060 0 0] size [0.040 0.040 0.250] color "gray49")
+obstacle(name "55" pose [0.340 1.850 0 0] size [0.040 0.420 0.250] color "gray49")
+obstacle(name "56" pose [-0.727 2.187 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "57" pose [-0.673 2.240 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "58" pose [0.340 2.890 0 0] size [0.040 0.540 0.250] color "gray49")
obstacle(name "59" pose [0.180 3.180 0 90.000] size [0.040 0.280 0.250] color "red")
obstacle(name "60" pose [1.710 3.180 0 90.000] size [0.040 2.780 0.250] color "gray49")
obstacle(name "61" pose [3.240 3.180 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "62" pose [-0.773 2.713 0 0] size [0.040 0.240 0.250] color "gray49")
-obstacle(name "63" pose [3.753 3.627 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "64" pose [2.800 2.793 0 0] size [0.040 0.720 0.250] color "gray49")
-obstacle(name "65" pose [-0.713 3.127 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "66" pose [-0.567 2.547 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "67" pose [-0.827 1.747 0 45.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "68" pose [-0.747 1.480 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "69" pose [-0.753 2.793 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "70" pose [-0.587 2.347 0 0] size [0.160 0.160 0.200] color "red")
-obstacle(name "71" pose [-0.627 1.120 0 0] size [0.160 0.160 0.200] color "red")
-obstacle(name "72" pose [-0.453 3.340 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "73" pose [-0.433 3.880 0 0] size [0.160 0.160 0.200] color "red")
-obstacle(name "74" pose [-0.447 1.783 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "75" pose [-0.367 1.207 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "76" pose [-0.687 1.333 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "62" pose [2.900 1.760 0 0] size [0.040 0.240 0.250] color "gray49")
+obstacle(name "63" pose [-0.667 2.180 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "64" pose [2.900 2.520 0 0] size [0.040 0.720 0.250] color "gray49")
+obstacle(name "65" pose [-0.653 2.287 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "66" pose [-0.807 2.240 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "67" pose [-0.733 2.240 0 45.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "68" pose [-0.773 2.200 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "69" pose [-0.613 2.200 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "70" pose [-0.680 2.260 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "71" pose [-0.720 2.220 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "72" pose [-0.633 2.200 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "73" pose [-0.680 2.247 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "74" pose [-0.780 2.197 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "75" pose [-0.653 2.213 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "76" pose [-0.720 2.227 0 0] size [0.160 0.160 0.200] color "red")
obstacle(name "77" pose [0.280 3.590 0 0] size [0.080 0.180 0.130] color "brown")
obstacle(name "78" pose [0.540 3.590 0 0] size [0.080 0.180 0.130] color "brown")
obstacle(name "79" pose [0.800 3.590 0 0] size [0.080 0.180 0.130] color "brown")
2  test/arena.cfg
View
@@ -35,7 +35,7 @@ driver
robot_radius 0.09
max_speed 0.2
max_turn_rate 0.5
- obstacle_avoid_dist 0.1
+ obstacle_avoid_dist 0.05
min_gap_width 0.18
)
118 test/arena.world
View
@@ -5,7 +5,7 @@ S1R
(
# can refer to the robot by this name
name "r0"
- pose [ 0.927 1.880 0 150.000 ]
+ pose [ 0.186 3.032 0 -91.606 ]
minedetector(
alwayson 1
pose [0 0 -0.120 0]
@@ -28,7 +28,7 @@ S1R
window
(
- size [ 800.000 800.000 ] # in pixels
+ size [ 800.000 733.000 ] # in pixels
scale 150.0
# pixels per meteri
center [ 1.7 1.8 ]
@@ -84,78 +84,78 @@ obstacle(name "1" pose [1.710 0.020 0 90.000] size [0.040 3.340 0.250] color "br
obstacle(name "2" pose [1.710 3.700 0 90.000] size [0.040 3.340 0.250] color "brown")
obstacle(name "3" pose [0.020 1.860 0 0] size [0.040 3.720 0.250] color "brown")
obstacle(name "4" pose [3.400 1.860 0 0] size [0.040 3.720 0.250] color "brown")
-obstacle(name "5" pose [-0.307 0.667 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "6" pose [-0.820 1.473 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "7" pose [-0.860 0.633 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "8" pose [-1.060 0.793 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "9" pose [-1.233 0.913 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "10" pose [-1.253 0.893 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "11" pose [2.667 -0.427 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "12" pose [0.820 0.660 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "13" pose [1.780 0.660 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "14" pose [3.660 0.873 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "15" pose [0.820 1.300 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "16" pose [-0.873 1.587 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "17" pose [-0.647 1.033 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "18" pose [-0.933 1.647 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "19" pose [-0.893 1.733 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "20" pose [-0.813 1.133 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "21" pose [2.260 1.460 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "22" pose [-0.727 1.793 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "23" pose [1.620 1.140 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "24" pose [0.980 1.140 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "25" pose [-0.860 1.367 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "26" pose [1.467 1.300 0 90.000] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "27" pose [-0.693 1.007 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "28" pose [-0.740 1.327 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "29" pose [-1.260 0.713 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "30" pose [-1.153 0.813 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "5" pose [-0.653 2.207 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "6" pose [-0.807 2.267 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "7" pose [1.620 0.180 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "8" pose [-0.687 2.327 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "9" pose [-0.673 2.293 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "10" pose [-0.707 2.180 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "11" pose [-0.627 2.193 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "12" pose [-0.733 2.300 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "13" pose [-0.827 2.220 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "14" pose [-0.847 2.273 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "15" pose [-0.667 2.280 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "16" pose [-0.627 2.247 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "17" pose [-0.740 2.267 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "18" pose [-0.520 2.193 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "19" pose [-0.680 2.260 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "20" pose [-0.660 2.180 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "21" pose [-0.587 2.200 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "22" pose [-0.687 2.173 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "23" pose [-0.573 2.227 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "24" pose [-0.620 2.100 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "25" pose [-0.560 2.200 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "26" pose [0.500 0.340 0 90.000] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "27" pose [0.180 0.660 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "28" pose [1.160 0.340 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "29" pose [1.480 0.340 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "30" pose [1.440 0.660 0 90.000] size [0.040 0.320 0.250] color "gray49")
obstacle(name "31" pose [2.100 0.660 0 90.000] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "32" pose [3.227 0.400 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "32" pose [2.940 0.660 0 90.000] size [0.040 0.320 0.250] color "gray49")
obstacle(name "33" pose [0.980 0.480 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "34" pose [0.980 0.820 0 0] size [0.040 0.360 0.250] color "gray49")
obstacle(name "35" pose [0.660 0.800 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "36" pose [0.660 1.140 0 0] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "37" pose [-0.980 1.760 0 0] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "38" pose [-0.727 2.013 0 0] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "37" pose [0.340 1.120 0 0] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "38" pose [0.340 1.440 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "39" pose [1.140 1.620 0 90.000] size [0.040 0.360 0.250] color "gray49")
obstacle(name "40" pose [0.800 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "41" pose [-0.600 1.607 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "42" pose [1.460 1.620 0 90.000] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "41" pose [0.480 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "42" pose [2.100 1.620 0 90.000] size [0.040 0.360 0.250] color "gray49")
obstacle(name "43" pose [2.440 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "44" pose [-1.140 2.207 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "45" pose [-0.833 1.653 0 90.000] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "46" pose [1.627 1.467 0 0] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "44" pose [2.760 1.620 0 90.000] size [0.040 0.320 0.250] color "gray49")
+obstacle(name "45" pose [2.740 0.980 0 90.000] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "46" pose [2.900 1.160 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "47" pose [2.260 1.160 0 0] size [0.040 0.320 0.250] color "gray49")
obstacle(name "48" pose [2.260 0.840 0 0] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "49" pose [0.653 1.453 0 0] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "49" pose [1.620 1.460 0 0] size [0.040 0.360 0.250] color "gray49")
obstacle(name "50" pose [1.620 0.820 0 0] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "51" pose [3.053 0.227 0 0] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "51" pose [2.760 0.500 0 0] size [0.040 0.360 0.250] color "gray49")
obstacle(name "52" pose [1.120 1.300 0 90.000] size [0.040 0.320 0.250] color "gray49")
-obstacle(name "53" pose [0.980 0.187 0 0] size [0.040 0.360 0.250] color "gray49")
-obstacle(name "54" pose [-1.180 0.747 0 0] size [0.040 0.040 0.250] color "gray49")
-obstacle(name "55" pose [0.660 1.803 0 0] size [0.040 0.420 0.250] color "gray49")
-obstacle(name "56" pose [-0.560 2.540 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "57" pose [-0.407 2.227 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "58" pose [0.653 2.897 0 0] size [0.040 0.540 0.250] color "gray49")
+obstacle(name "53" pose [1.300 1.140 0 0] size [0.040 0.360 0.250] color "gray49")
+obstacle(name "54" pose [2.260 0.060 0 0] size [0.040 0.040 0.250] color "gray49")
+obstacle(name "55" pose [0.340 1.850 0 0] size [0.040 0.420 0.250] color "gray49")
+obstacle(name "56" pose [-0.727 2.187 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "57" pose [-0.673 2.240 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "58" pose [0.340 2.890 0 0] size [0.040 0.540 0.250] color "gray49")
obstacle(name "59" pose [0.180 3.180 0 90.000] size [0.040 0.280 0.250] color "red")
obstacle(name "60" pose [1.710 3.180 0 90.000] size [0.040 2.780 0.250] color "gray49")
obstacle(name "61" pose [3.240 3.180 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "62" pose [-0.773 2.713 0 0] size [0.040 0.240 0.250] color "gray49")
-obstacle(name "63" pose [3.753 3.627 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "64" pose [2.800 2.793 0 0] size [0.040 0.720 0.250] color "gray49")
-obstacle(name "65" pose [-0.713 3.127 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "66" pose [-0.567 2.547 0 0] size [0.040 0.280 0.250] color "red")
-obstacle(name "67" pose [-0.827 1.747 0 45.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "68" pose [-0.747 1.480 0 90.000] size [0.040 0.280 0.250] color "red")
-obstacle(name "69" pose [-0.753 2.793 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "70" pose [-0.587 2.347 0 0] size [0.160 0.160 0.200] color "red")
-obstacle(name "71" pose [-0.627 1.120 0 0] size [0.160 0.160 0.200] color "red")
-obstacle(name "72" pose [-0.453 3.340 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "73" pose [-0.433 3.880 0 0] size [0.160 0.160 0.200] color "red")
-obstacle(name "74" pose [-0.447 1.783 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "75" pose [-0.367 1.207 0 45.000] size [0.160 0.160 0.200] color "red")
-obstacle(name "76" pose [-0.687 1.333 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "62" pose [2.900 1.760 0 0] size [0.040 0.240 0.250] color "gray49")
+obstacle(name "63" pose [-0.667 2.180 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "64" pose [2.900 2.520 0 0] size [0.040 0.720 0.250] color "gray49")
+obstacle(name "65" pose [-0.653 2.287 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "66" pose [-0.807 2.240 0 0] size [0.040 0.280 0.250] color "red")
+obstacle(name "67" pose [-0.733 2.240 0 45.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "68" pose [-0.773 2.200 0 90.000] size [0.040 0.280 0.250] color "red")
+obstacle(name "69" pose [-0.613 2.200 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "70" pose [-0.680 2.260 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "71" pose [-0.720 2.220 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "72" pose [-0.633 2.200 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "73" pose [-0.680 2.247 0 0] size [0.160 0.160 0.200] color "red")
+obstacle(name "74" pose [-0.780 2.197 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "75" pose [-0.653 2.213 0 45.000] size [0.160 0.160 0.200] color "red")
+obstacle(name "76" pose [-0.720 2.227 0 0] size [0.160 0.160 0.200] color "red")
obstacle(name "77" pose [0.280 3.590 0 0] size [0.080 0.180 0.130] color "brown")
obstacle(name "78" pose [0.540 3.590 0 0] size [0.080 0.180 0.130] color "brown")
obstacle(name "79" pose [0.800 3.590 0 0] size [0.080 0.180 0.130] color "brown")

No commit comments for this range

Something went wrong with that request. Please try again.