
PythonRobotics: Python sample codes for robotics algorithms - wei_jok
https://atsushisakai.github.io/PythonRobotics/
======
rootusrootus
Oh, neat! I'm currently taking the AI for Robotics class through Georgia Tech
OMSCS, so this is a topic I am interested in, and in the language I currently
use professionally. Thank you for sharing!

~~~
aashu_dwivedi
Oh great! Is Sebastian Thrun still teaching that class? I took it a few years
ago in OMSCS and learnt a lot! One of my favorite classes in the program.

~~~
rootusrootus
He does all the videos, but the instructor running this instance of the class
is Jay Summet.

------
DoritoChef
This is some really cool information! I implemented a map-parsing algorithm
that used a data structure that enabled neighboring cell access in constant
time. It's biggest weakness is that very high-resolution occupancy maps take
quite some time to render. I'm very inexperienced when it comes to sharing my
coding projects with the world, so any feedback on the
readability/accessibility of my repository would be greatly appreciated!
[https://github.com/dwrodri/LQTLD3](https://github.com/dwrodri/LQTLD3)

------
dekhn
The visualizations are lovely.

------
nbeleski
I wonder how easy it would be to integrate this to ROS for real robotic
simulations. Anyone has experience in the matter?

~~~
DoritoChef
I have not used real robotic simulations, but I have used RViz and ROS for
testing my own path-finding algorithms. Performance on my Late 2015 MacBook
Pro was stuttery (about 15-20 fps), but still good enough to be somewhat
usable.

Overall, I had more issues with finding good resources on the rospy module
than anything else. It seems almost all robotics development with ROS is done
using C++ instead of Python (in my little experience), so there is little I
could find in terms of code samples that would allow to get past a project
like this ([https://github.com/gandalf15/CS3027--CS5059--Robotics-
Univer...](https://github.com/gandalf15/CS3027--CS5059--Robotics-University-
of-Aberdeen)).

~~~
nbeleski
I felt the same way during my lectures. I wanted to use Python because I had
already implemented the fuzzy functions I needed for obstacle avoidance and it
is overall simpler, but most people on class used C++ anyway.

~~~
DoritoChef
FWIW, after realizing I never directly answered your question, I figured I
should give you a full response.

Rospy aside, writing and implementing your own SLAM/path-planning tools in ROS
is quite simple once you get familiar with the architecture of ROS. All the
sensor data can be collected by subscribing to the right channel, and then you
can return driving instructions back to a controller by publishing them on
another channel. Since all this channel business operates on the network
layer, you can even offload the computational workload of the algorithms to a
remote system and have the robot get its moving instructions over Wi-Fi.

