Asked
ARC And Python Interface For Robot
Here is an overview and description of the software structure for the ARC and Win-Python interface, which I’ve implemented successfully for my 36-servo humanoid robot. The system is designed to be stable and performant, ensuring smooth operation of the robot. Below, you'll find some images illustrating this setup:
[Image 1 of 4]
[Image 2 of 4]
[Image 3 of 4]
[Image 4 of 4]
By leveraging the powerful features of Synthiam ARC, along with Python scripting capabilities within the Windows environment, I’ve achieved a robust symbiosis between software components that allows for precise control and coordination of all 36 servos in my humanoid model. The images provide a glimpse into the setup and operation of the system.
@t.erin, I read your post and wondered why you feel you should not share any of the skills with the rest of the users here. Many of the skills here have been created by others. This is what makes this a great platform as we all share with others to grow the hobby.
@smiller29
Yes, I'm happy to share the interface. However, it involves some Python and ARC scripts, and as the presentation suggests, a tool for setting up virtual COM interfaces is required. At the moment, I'm not sure how to send the files via the Synthiam platform? ZIP file? Perhaps a private method is easier? I'm currently traveling until the end of next week and won't have access to my software until then.
I have an idea after reading this thread. There are some good points made about the Python interpreter in ARC. While you can add libraries to it, there's some apparent limitations I think. I don't know why some libraries don't load into ARC Python, but it might be due to the Python interpreter. We identified that a native Python installation can't run multiple instances simultaneously, which is covered in the Python .NET module. However, I came up with a solution that I drew out to the team, and we're creating a new robot skill that runs a Python program using the native installed Python executable. That means the native Python executable you installed on your computer can be used with ARC using the new robot skill. The prototype created today looks like it'll be a good solution.
People are finding online Python programs to do a specific thing, such as maybe using C++ libraries with bindings, such as how feetech works. Feetech is the main reason for seeing this solution, the original poster aims for. Chat gpt and other Python libraries mentioned are not as powerful as the ARC robot skills, but using feetech servos is the primary reason for merging the two. So, while I can see a use case for using feetech (and perhaps other libraries), the mention of gpt "bindings" in Python being more powerful is not something I agree with. I suspect it's because finding an example on GitHub of someone doing something is easier than reading the ChatGPT manual and doing it easier in ARC.
So, the solution that we designed is to include a robot skill that uses the installed Python executable and provides bindings into the ARC framework. It'll take a few days, but I expect you'll see something soon. It's only useful to anyone who is experienced with writing the programs themselves in Python, but it provides leverage of ARC's framework.