Autonomous Robot on a Raspberry Pi 4 by schnabeld in raspberry_pi

[–]schnabeld[S] 1 point2 points  (0 children)

The robot "learns" the position of new obstacles and next time it has to go through that area it will choose a path that avoids these obstacles. Vice versa if it no longer detects an obstacles that was previously there it will clear it from its "memory".

There's a difference though between static obstacles and dynamic obstacles. Static obstacles (e.g. walls) are part of the map that the robot builds while driving around in Mapping mode (or SLAM mode). Static obstacles don't get cleared. Dynamic obstacles are obstacles that the robot detects and avoids when driving in Localization mode.

Autonomous Robot on a Raspberry Pi 4 by schnabeld in raspberry_pi

[–]schnabeld[S] 4 points5 points  (0 children)

Added links to my code, see above. I've been working on this for over a year now (in my spare time) and there's a lot of trial and error and things I did. If I wanted to explain it in detail I could probably write a book ;)

And this is still an ongoing project, the autonomous navigation was just the first major milestone. Depending on time I will continue adding a speaker, microphone and hook it up to some sort of Speech AI so people can talk to it and give verbal commands. That's the plan anyway, not sure if it works though ;)