Comments (5)
Did you see the wiki about costmap_2d here?
map_[nbr] < INSCRIBED_INFLATED_OBSTACLE
doesn't mean these positions are absolutely safe, it maybe in collision.
In my opinion, map_[nbr] <= map_[idx]
could be replaced with FREE_SPACE == map_[nbr]
, here, the intention is to find the absolutely safe area.
If I am wrong, please point it out directly ;) @pengjiawei
from frontier_exploration.
There's a two 'features' at play here, both existing to enable frontier search even when the 'initial' search cell is not strictly FREE_SPACE.
https://github.com/paulbovbel/frontier_exploration/blob/lunar-devel/src/frontier_search.cpp#L47 tries to find a clear cell nearby to start the search.
https://github.com/paulbovbel/frontier_exploration/blob/lunar-devel/src/frontier_search.cpp#L62 will always expand the breadth-first-search to neighbour cells that are cheaper or equal cost. This prevents the search from climbing into higher-cost areas, but has the (potential) downside of sidling along a non-zero-cost ledge around the starting point if necessary.
I would be open to providing a flag to disable one or both of these features, but they are still very necessary to frontier-search in non-optimal conditions.
from frontier_exploration.
Good! thanks for fast and kind reply :)
I learnt the breath-first-search from your code ,Cuz you used it not only in finding frontier area but also in planning for a feasible path from start position to destination position :)
Thanks again. @paulbovbel
By the way, I want to ask a question: Is breath-first-search algorithm used in blob-detection which was referred in Yamauchi's paper to find the frontier?
from frontier_exploration.
@zwkcoding yes,you're right the cost value that is less than INSCRIBED_INFLATED_OBSTACLE is not safe.I have found this and then I change the map_[nbr] < INSCRIBED_INFLATED_OBSTACLE
to map_[nbr] < 128
according to this costmapspec.png , the cost value less than 128 means the distance betweens the robot and obstacles is above circumsribed_radius.it is strictly safe,is that right . I am not sure , thank you for your reply
from frontier_exploration.
@paulbovbel thank you for your reply! But on my opinion, the performance breath-first-search algorithm is not ideal when the costmap updates it's values with inflation_layer . when my robot try to go through the narrow area , the bfs can't found frontiers because the cost value == FREE_SPACE are very few and surrounded by the cost value between 0 to 253 . the bfs will not climbing into higher-cost areas ,so I didn't find a solution
when I change the https://github.com/paulbovbel/frontier_exploration/blob/lunar-devel/src/frontier_search.cpp#L62 to map_[nbr] < 128
, it is not optimal and consumes a lot of resources but it can find a solution finally. I'm truly grateful for your help
from frontier_exploration.
Related Issues (20)
- frontier_exploration demo loads but vehicle does not explore/move HOT 1
- Plugin Issue HOT 1
- Cartographer Unable To Find Frontier HOT 5
- melodic failed to request goal HOT 6
- Melodic release HOT 1
- STILL ERROR: "No such file" error during catkin_make with ROS Melodic HOT 3
- Publish point unable to draw polygon in Rviz
- Reference for algorithm
- exploration_msgs/SetPolygon.h: No such file or directory
- Any plan for Melodic update? HOT 4
- memory leak melodic release HOT 2
- Release for Noetic / ROS2 HOT 1
- Not moving after draw marker with melodic HOT 4
- Catkin_Make failed in ros kinetic ubuntu 16.04 HOT 4
- bounded exploration not working
- there in no GetNextFrontier.h and UpdateBoundaryPolygon.h two files! HOT 1
- no branch for ros-kinetic? HOT 1
- exploration_msgs/Exploreaction.h: complilation terminated
- Updated instructions for non-EOL versions (melodic).
- Looking for ROS1 maintainer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from frontier_exploration.