Giter Club home page Giter Club logo

Comments (14)

alexvaut avatar alexvaut commented on July 17, 2024 3

Visualization of the fix:
image

from open_mower_ros.

TomasSeven avatar TomasSeven commented on July 17, 2024

this fix is working for me

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

Thank you for the PR, while it fixes the issue you see it re-introduces an old one (which is the reason why the paths were merged in the first place).

The initial issue was that when not having the paths merged, there will be a piece of navigation between each outline (e.g. from the innermost to the next outer one). This will cause the mower to do the "rotate - drive - rotate" thing between each outline change. If we are close to an obstacle, the mower will crash in that case, because it is not round and therefore cannot necessarily rotate in place. This is especially true near obstacles. Since outlines are often near obstacles, it was a large issue - hence the grouping.

For a real fix, we need to group, but more intelligently (i.e. detect if the added path segment would lead through a forbidden area. In this case not group)

from open_mower_ros.

karlranseierausrom avatar karlranseierausrom commented on July 17, 2024

I have no idea of the source-code of Slic3r and I am more comfortable with graphical programming. It will be really hard for me to understand the code. But: For me it sounds like the problem is somewhere else, but not in the slic3r. Why is it rotating when it changes to navigation? In 3D printing it makes sense to distinguish between printing and moving, but here every move can be mowing. So maybe it is solved, if the navigation is redefined as mowing? Anyway I had examples with hand drawn rectangles, where at one path the mowing motor was switches off. There were only 3 straight lines mowing, and one line was not shown, but the mower drove it with slow mowing motor.

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

@karlranseierausrom since the mower cannot move sideways, on tight turns it needs to rotate on spot. It has nothing to do with mowing vs not mowing.

I.e. if you are driving the outline as a spiral, it will be one continuous motion, but if you do like two tight 90 degree turns between the lines, the mower will rotate in place, because it cannot just shift sideways like that. During polygon grouping, we can make sure that there are no such small 90 degree turns in there in order to avoid this behavior.

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

should be fixed in main, please test and report back. If anyone has map.bag files to test, feel free to share (e.g. discord or link here).

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

thank you @11phc for providing a very problematic map, here are some before and after pics
before1
before2
before3
after1
after2
after3

from open_mower_ros.

11phc avatar 11phc commented on July 17, 2024

That is looking much better, thank you. So do you think you have fixed it now in the slicer / router planner?
Or are my maps a bit "corrupted" from the start (because of my alternative way of creating them in arcgis and exporting to GPX etc.) and you did it instead by modifying my maps?

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

Code changes only, I did not touch the maps

from open_mower_ros.

karlranseierausrom avatar karlranseierausrom commented on July 17, 2024

@karlranseierausrom since the mower cannot move sideways, on tight turns it needs to rotate on spot. It has nothing to do with mowing vs not mowing.

Looks like I didn't understand the problem. I observed some weird 270° and -270° moves at some point. I thought you were talking abut the

Is a json file useful, too? Do you want another? I deleted the area and will rewrite it on the weekend and test the new version. Than I can stay on official edge and don't need my extra repo.

Thanks for all your work!

from open_mower_ros.

jludo1 avatar jludo1 commented on July 17, 2024

currently in edge version (I have just completely redone the SD card)

my mower always tries to cross my obstacles I attach a screenshot of the GUI interface

I share with you by map.bag on ([email protected])

thank you for your work on this project
map

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

This looks like an edited map with sparse points which is known to break the path planning algorithm

from open_mower_ros.

jludo1 avatar jludo1 commented on July 17, 2024

I drew the map from the gui interface (https://github.com/cedbossneo/openmower-gui)
the problem and maybe due to that?

Is there a way to modify the map and correct this?

from open_mower_ros.

ClemensElflein avatar ClemensElflein commented on July 17, 2024

Yes, the edited maps are known to cause issues. I did not look into the map editors too much, so I can't really help with this. Best would be to just record the map instead of creating it in the UI. If you have questions regarding map editing, you can try asking on Discord or in the GUI repo, I know that some people do it successfully.

I'm closing this for now, since it is reported fixed by some people.

from open_mower_ros.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.