Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python bindings? #147

Open
alsuren opened this issue Jan 5, 2025 · 0 comments
Open

python bindings? #147

alsuren opened this issue Jan 5, 2025 · 0 comments

Comments

@alsuren
Copy link

alsuren commented Jan 5, 2025

Would you be interested in some python bindings if I wrote them?

Things I've tried so far and why I'm tempted to bind this library

My current use-case is for robot arm teleop for recording episodes for training models, so nothing ground-breaking (I did some playing around on a branch over at huggingface/lerobot@main...alsuren:lerobot:teleop a while back, but mostly exploratory and not super coherent).

The current options for ik in python seem to be:

moveit/moveit2 - quite big, and tied into the ROS/ROS2 ecosystem. Quite painful to get working on macos.

https://github.com/Phylliade/ikpy - allowed me to make a good start, but the terminology mismatch with URDF is a bit jarring, and the types that mypy/pylance infers are a bit confusing (from memory).

https://github.com/UM-ARM-Lab/pytorch_kinematics - allows you to set initial position and will give you answers that don't quite converge if you need (useful because the SO-100 arm is not able to reach all positions/orientations). Feels like it's really designed for putting in the training loop in simulations or something, because everything is vectorised and the "i only have one robot and I want to control it in real-time" API is slightly less obvious as a result.

I stumbled across this library when searching crates.io. It seems to handle URDF well, and I expect it to have reasonable types that will result in an easy-to-follow python api.

My vague plan is to set things up with maturin and publish some wheels to pypi using some bogus crate name (alsuren-openrr-k-py or something) or just use it as a path/git dependency. If this works well then I can send you a PR and you can pick a better pypi project name to publish under.

Does this sound like a valuable thing?

@alsuren alsuren changed the title python bindings python bindings? Jan 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant