# scikit-robot: A Flexible Framework for Robot visualization and programming in Python
![PyPI](https://img.shields.io/pypi/v/scikit-robot.svg)
[![Build Status](https://github.com/iory/scikit-robot/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/iory/scikit-robot/actions)
<h4>
<a href="https://scikit-robot.readthedocs.io/en/latest/">Documentation</a> |
<a href="https://scikit-robot.readthedocs.io/en/latest/install/index.html">Installation</a> |
<a href="https://scikit-robot.readthedocs.io/en/latest/examples/index.html">Quick Start</a> |
<a href="https://scikit-robot.readthedocs.io/en/latest/reference/index.html">Python API</a> |
<a href="https://scikit-robot.readthedocs.io/en/latest/development/index.html">Contribute</a>
</h4>
Scikit-Robot is a lightweight pure-Python library for robotic kinematics,
motion planning, visualization and control.
## Installation
You may need to install some dependencies by apt-get install:
```bash
sudo apt-get update
sudo apt-get install libspatialindex-dev freeglut3-dev libsuitesparse-dev libblas-dev liblapack-dev
```
Then,
```bash
pip install scikit-robot
```
If you would like to use `Pybullet Interface` and `open3d` for mesh simplification,
```bash
pip install scikit-robot[all]
```
## Features
- [x] Loading robot model from URDF ([examples/robot_models.py](examples/robot_models.py))
- [x] Forward and inverse kinematics ([examples/trimesh_scene_viewer.py](examples/trimesh_scene_viewer.py))
- [x] Collision detection
- [x] Interactive viewer ([examples/trimesh_scene_viewer.py](examples/trimesh_scene_viewer.py))
- [x] Pybullet and ROS command interface ([examples/pybullet_robot_interface.py](examples/pybullet_robot_interface.py))
- [ ] Forward and inverse dynamics
- [x] Path planning ([examples/collision_free_trajectory.py](examples/collision_free_trajectory.py))
Raw data
{
"_id": null,
"home_page": "https://github.com/iory/scikit-robot",
"name": "scikit-robot",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "iory",
"author_email": "ab.ioryz@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/59/f3/3c729dd14c514dd14755dc052f30e30ecc21cb04e31659bc65852c09e9e2/scikit_robot-0.0.45.tar.gz",
"platform": null,
"description": "# scikit-robot: A Flexible Framework for Robot visualization and programming in Python\n\n![PyPI](https://img.shields.io/pypi/v/scikit-robot.svg)\n[![Build Status](https://github.com/iory/scikit-robot/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/iory/scikit-robot/actions)\n\n\n<h4>\n <a href=\"https://scikit-robot.readthedocs.io/en/latest/\">Documentation</a> |\n <a href=\"https://scikit-robot.readthedocs.io/en/latest/install/index.html\">Installation</a> |\n <a href=\"https://scikit-robot.readthedocs.io/en/latest/examples/index.html\">Quick Start</a> |\n <a href=\"https://scikit-robot.readthedocs.io/en/latest/reference/index.html\">Python API</a> |\n <a href=\"https://scikit-robot.readthedocs.io/en/latest/development/index.html\">Contribute</a>\n</h4>\n\nScikit-Robot is a lightweight pure-Python library for robotic kinematics,\nmotion planning, visualization and control.\n\n## Installation\nYou may need to install some dependencies by apt-get install:\n```bash\nsudo apt-get update\nsudo apt-get install libspatialindex-dev freeglut3-dev libsuitesparse-dev libblas-dev liblapack-dev\n```\n\nThen,\n```bash\npip install scikit-robot\n```\n\nIf you would like to use `Pybullet Interface` and `open3d` for mesh simplification,\n\n```bash\npip install scikit-robot[all]\n```\n\n## Features\n\n- [x] Loading robot model from URDF ([examples/robot_models.py](examples/robot_models.py))\n- [x] Forward and inverse kinematics ([examples/trimesh_scene_viewer.py](examples/trimesh_scene_viewer.py))\n- [x] Collision detection\n- [x] Interactive viewer ([examples/trimesh_scene_viewer.py](examples/trimesh_scene_viewer.py))\n- [x] Pybullet and ROS command interface ([examples/pybullet_robot_interface.py](examples/pybullet_robot_interface.py))\n- [ ] Forward and inverse dynamics\n- [x] Path planning ([examples/collision_free_trajectory.py](examples/collision_free_trajectory.py))\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Flexible Framework for Robot Control in Python",
"version": "0.0.45",
"project_urls": {
"Homepage": "https://github.com/iory/scikit-robot"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0cc918e75b1246fd1ce958ab24497dc9b0a080ff8cb21b7311058fe65ae123f0",
"md5": "f2bfe6f330d2305217c2ac4e64400863",
"sha256": "0f8795962a19c987cfcef0f7da4c159246d3bf8a9397878005e3a36e28dfa994"
},
"downloads": -1,
"filename": "scikit_robot-0.0.45-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f2bfe6f330d2305217c2ac4e64400863",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 738115,
"upload_time": "2024-10-28T06:23:40",
"upload_time_iso_8601": "2024-10-28T06:23:40.527034Z",
"url": "https://files.pythonhosted.org/packages/0c/c9/18e75b1246fd1ce958ab24497dc9b0a080ff8cb21b7311058fe65ae123f0/scikit_robot-0.0.45-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "59f33c729dd14c514dd14755dc052f30e30ecc21cb04e31659bc65852c09e9e2",
"md5": "3932a6d85aa5725758e4a5e6de80892b",
"sha256": "e273b4c6fbc7558e218f09801a954d06f8ce263c8faee584d45567ddae82aa0d"
},
"downloads": -1,
"filename": "scikit_robot-0.0.45.tar.gz",
"has_sig": false,
"md5_digest": "3932a6d85aa5725758e4a5e6de80892b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 736859,
"upload_time": "2024-10-28T06:23:42",
"upload_time_iso_8601": "2024-10-28T06:23:42.147051Z",
"url": "https://files.pythonhosted.org/packages/59/f3/3c729dd14c514dd14755dc052f30e30ecc21cb04e31659bc65852c09e9e2/scikit_robot-0.0.45.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-28 06:23:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iory",
"github_project": "scikit-robot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "cached-property",
"specs": []
},
{
"name": "cached-property",
"specs": [
[
"<=",
"1.5.2"
]
]
},
{
"name": "future",
"specs": []
},
{
"name": "gdown",
"specs": []
},
{
"name": "lxml",
"specs": []
},
{
"name": "networkx",
"specs": [
[
">=",
"2.2.0"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.16.0"
]
]
},
{
"name": "ordered_set",
"specs": []
},
{
"name": "pillow",
"specs": []
},
{
"name": "pycollada",
"specs": [
[
"!=",
"0.7"
]
]
},
{
"name": "pyglet",
"specs": [
[
"<",
"2.0"
]
]
},
{
"name": "pysdfgen",
"specs": [
[
">=",
"0.1.5"
]
]
},
{
"name": "python-fcl",
"specs": []
},
{
"name": "repoze.lru",
"specs": []
},
{
"name": "rtree",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "scipy",
"specs": [
[
"<=",
"1.2.3"
]
]
},
{
"name": "six",
"specs": []
},
{
"name": "trimesh",
"specs": [
[
">=",
"3.9.0"
],
[
"!=",
"3.23.0"
]
]
}
],
"lcname": "scikit-robot"
}