Hello! I wanted to do a bit of cleanup of the current code proposed for using Koch arms to have very clear documented procedures on how to assemble the arms, where to find information, how to install the various tools, etc. I hope I have managed to make it easier to navigate the repository and to have produced code that everyone can run without having to change anything other than the environment variables. Here's what I did:
Documentation
First, I separated the general README.md into several sections that provide a clear guide: assembly, installation, configuration, recording. Each section is well documented.
I added useful STL files for the assembly (a new base for the leader arm, the XL330 Frame/Idler Wheel, and XL430 Idler Wheel).
I included links to Robotis, A.Koch's repo, and the YouTube assembly video where necessary.
In Installation.md, I explain how to create a Python virtual environment specifically for this project, but I also outline the steps to use your own virtual environment (Conda, etc.).
I created a requirements.txt file to facilitate the installation of dependencies.
I briefly explained how to install FFMPEG.
Code
Regarding the code, it is actually clear that the Dynamixel-SDK Python API is already very good and very similar to Rustypot, so I simply created some useful functions in an API that installs locally by itself (dxl_api_alexk folder).
I proposed a "simple_teleop" application that allows for easy teleoperation testing even without a camera.
I refactored my configuration tool in Python, as it was very quick; ChatGPT converted it in 1 minute from my Rust file.
I refactored some nodes (keyboard, essentialy) that Thomwolf had produced to make them a bit clearer (I moved some written but unused nodes to an experimental section of the nodes folder)
And that's it. In short, now anyone should be able to easily follow the instructions to use the arms, with programs entirely in Python.
Hello! I wanted to do a bit of cleanup of the current code proposed for using Koch arms to have very clear documented procedures on how to assemble the arms, where to find information, how to install the various tools, etc. I hope I have managed to make it easier to navigate the repository and to have produced code that everyone can run without having to change anything other than the environment variables. Here's what I did:
Documentation
Code
And that's it. In short, now anyone should be able to easily follow the instructions to use the arms, with programs entirely in Python.