Comments (11)
There might be differences to the paper due to further developments in the software after publication.
However, you should get different results for different algorithms. Can you please report in detail you you started the software and how you configured the algorithm setting? It sounds like the desired algorithm was not conveyed to the software as a new setting.
from ipa_coverage_planning.
Ok, so first I started the turtlebot3 emulation system, and then I ran roslaunch ipa_room_exploration room_exploration_action_server.launch, Then go to the room_exploration_client.launch file and give the file parameter an absolute path to a yaml file, and use the test map, without modifying the code parameters in the meantime. Finally, run roslaunch ipa_room_exploration room_exploration_client.launch, and the result is just like the diagram shown above. The algorithm used here is Boustrophedon Coverage Path Planning. Of course, I also tried to modify the room_exploration_algorithm to test the map using a different algorithm, but the results were basically the same. What is the reason for this?
from ipa_coverage_planning.
@ipa-foj Do you have any idea for the observed behavior?
from ipa_coverage_planning.
So you have changed the algorithm in file ros/launch/room_room_exploration_action_server_params.yaml
, right?
# this variable selects the algorithm for room exploration
# 1 = grid point explorator
# 2 = boustrophedon explorator
# 3 = neural network explorator
# 4 = convexSPP explorator
# 5 = flowNetwork explorator
# 6 = energyFunctional explorator
# 7 = voronoi explorator
# 8 = boustrophedon variant explorator
# int
room_exploration_algorithm: 8
Have you tried to start dynamic reconfigure to see which algorithm is currently active? You should even be able to switch the algorithm at runtime via dynamic reconfigure.
from ipa_coverage_planning.
The provided action client is supposed to be just a simple example to show how the code can be used in general, it is recommended to write your own ROS action client in your statemachine or sequence control.
The client also shows how to change the settings of the server during runtime using dynamic reconfigure, just as @ipa-rmb mentioned.
Please see this line in the code, if this isn't changed or removed the server will always use the same algorithm, regardless of the yaml parameters.
from ipa_coverage_planning.
Yes, every time I switch algorithms in a yaml file, I ran both of these instructions again: roslaunch ipa_room_exploration room_exploration_action_server.launch and roslaunch ipa_room_exploration room_exploration_client.launch.
from ipa_coverage_planning.
Moreover, I think the results obtained by running the algorithm are too different from the pictures in your paper. May I ask why this is? Thank you.
from ipa_coverage_planning.
There are 2 reasons for this:
- As @ipa-rmb mentioned we updated the code after the paper creation. Especially the commonly called algorithm "8" is an updated variant of the Boustrophedon Planner from the original paper.
- In the paper we initially separated the map into individual rooms. In the paper we took the ground-truth data for this segmentation, while in production you have to use the ipa_room_segmentation package for that. This is one reason why you should create your own action clients in your sequence control.
from ipa_coverage_planning.
Hello foj, first of all, thank you very much for your answer. I found that it was indeed the problem of drc_exp.setConfig("room_exploration_algorithm", 8), which caused me to switch different algorithms with the same result. When I annotate this line of code and then switch between different algorithms I get a different result.
Then there is the ipa_room_segmentation and ipa_room_exploration. Aren't these two modules separate? Do I have to use room_segmentation when testing with test_maps in the room_exploration module?
from ipa_coverage_planning.
Yes these two are separate, as they can be used individually, depending on the needs you have. You have to decide what you want to achieve and implement your code according to that, we can just provide you the tools to achieve it.
You don't have to use the segmentation with the test_maps, but then the outcome of course cannot be exactly the same as in the paper.
from ipa_coverage_planning.
foj, thank you very much for your kindness. What I want for now is to achieve the same result as the diagram below in the room_exploration package, and have an idea if I can generate overlay paths in the map and save the generated paths in yaml files.
Could you please wait until I use the ipa_room_segmentation package in my later study to consult you? Thank you very much.
from ipa_coverage_planning.
Related Issues (20)
- how to install ipa_building_msgs HOT 2
- First point of the boustrophedon trajectory ? HOT 1
- use Concorde solver to solve the TSPs HOT 2
- How to integrate this algorithm into move_base? HOT 3
- Readme Not clear enough HOT 1
- Transitioning goal to lost // wanting a cilent.launch as an example HOT 1
- cannot catkin build package in melodic HOT 5
- Some of the points covered by the path are biased HOT 2
- Some problems of covering paths on obstacle maps HOT 4
- error while launching roslaunch ipa_room_exploration room_exploration_client.launch command HOT 1
- Tool size greater than robot size HOT 1
- Trajectory starting point issue HOT 1
- How to run the code?
- The path plan around the bend has a sort of zigzag pattern
- I'm having some hard time HOT 21
- I have a big problem, can you help me solve it?
- When I use this ipa_building_navigation start the server and the client nothing happens, is there a sample client to look at? HOT 8
- When I found out that there was a coverage path plan on the map, but the robot did not follow the path plan
- When I found out that there was a coverage path plan on the map, but the robot did not follow the path plan HOT 4
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 ipa_coverage_planning.