https://github.com/jbschwartz/robotpy
Robot Kinematics in Python
https://github.com/jbschwartz/robotpy
dynamics kinematics opengl python robotics
Last synced: about 1 year ago
JSON representation
Robot Kinematics in Python
- Host: GitHub
- URL: https://github.com/jbschwartz/robotpy
- Owner: jbschwartz
- License: mit
- Created: 2019-02-10T23:27:45.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-20T16:04:53.000Z (about 2 years ago)
- Last Synced: 2025-03-24T16:21:53.320Z (about 1 year ago)
- Topics: dynamics, kinematics, opengl, python, robotics
- Language: Python
- Homepage:
- Size: 3.36 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Robotpy

Robot kinematics (and eventually dynamics) written in Python 3.
## Running
Install dependencies through `poetry`.
```
poetry install
python -m robot
```
## Testing
`python -m unittest`
### Running a Single Test File
For example, to run only the TestIntersection test class:
`python -m unittest -v test.spatial.test_intersection.TestIntersection`
## Controls
The visualization contains a relatively feature-full, CAD style camera.
### Shortcuts
See `robot/common/bindings.py` for all keyboard and mouse bindings.
#### Mouse
- Middle Mouse Drag: Orbit
- Ctrl + Middle Mouse Drag: Track
- Alt + Middle Mouse Drag: Roll
- Shift + Middle Mouse Drag: Scale
#### Camera Movement
- ←: Orbit Left
- →: Orbit Right
- ↑: Orbit Up
- ↓: Orbit Down
- Ctrl + ←: Track Right
- Ctrl + →: Track Left
- Ctrl + ↑: Track Down
- Ctrl + ↓: Track Up
- Alt + ←: Roll Counter Clockwise
- Alt + →: Roll Clockwise
- Z: Scale In
- Shift + Z: Scale Out
#### Saved Views
- Ctrl + 1: Front View
- Ctrl + 2: Back View
- Ctrl + 3: Left View
- Ctrl + 4: Right View
- Ctrl + 5: Top View
- Ctrl + 6: Bottom View
- Ctrl + 7: Isometric View
#### Other
- Space: Pause Animation
- F: Fit Scene
- O: Orbit Toggle (Free, Constrained)
- P: Projection Toggle (Orthographic, Perspective)
### License
This project is licensed under the MIT License. Please see `LICENSE` for details.