scikit-robot


Namescikit-robot JSON
Version 0.0.48 PyPI version JSON
download
home_pagehttps://github.com/iory/scikit-robot
SummaryA Flexible Framework for Robot Control in Python
upload_time2025-02-19 12:56:40
maintainerNone
docs_urlNone
authoriory
requires_pythonNone
licenseMIT
keywords
VCS
bugtrack_url
requirements cached-property cached-property filelock future gdown lxml networkx numpy ordered_set pillow pycollada pycollada pyglet pysdfgen python-fcl repoze.lru rtree scikit-learn scipy scipy six trimesh
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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`, `open3d` and `fast-simplification` for mesh simplification,

```bash
pip install scikit-robot[all]
```

## Command Line Tools

### Visualize URDF

To visualize a URDF model and inspect your robot's configuration, you can use the `visualize-urdf` command as follows:

```bash
visualize-urdf ~/.skrobot/pr2_description/pr2.urdf
```

If you experience performance issues with the default viewer, try pyrender for smoother visualization:

```bash
visualize-urdf ~/.skrobot/pr2_description/pr2.urdf --viewer pyrender
```

Running these commands should open a viewer displaying your robot’s 3D model. Below is a sample image of what you should expect.

![Viewer Example](docs/image/viewer.jpg)

## Create Your Own Robot Model (URDF)

If you want to build your own robot from scratch, you can refer to the [How to Create URDF from CAD Software](https://scikit-robot.readthedocs.io/en/latest/reference/how_to_create_urdf_from_cad.html) documentation.

![Create URDF from Solidworks](docs/image/urdf-from-solidworks.png)


## 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/5a/d9/469810d1337c3b63049e56092bd72d08679f4e4cefa19d54b4563392c157/scikit_robot-0.0.48.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`, `open3d` and `fast-simplification` for mesh simplification,\n\n```bash\npip install scikit-robot[all]\n```\n\n## Command Line Tools\n\n### Visualize URDF\n\nTo visualize a URDF model and inspect your robot's configuration, you can use the `visualize-urdf` command as follows:\n\n```bash\nvisualize-urdf ~/.skrobot/pr2_description/pr2.urdf\n```\n\nIf you experience performance issues with the default viewer, try pyrender for smoother visualization:\n\n```bash\nvisualize-urdf ~/.skrobot/pr2_description/pr2.urdf --viewer pyrender\n```\n\nRunning these commands should open a viewer displaying your robot\u2019s 3D model. Below is a sample image of what you should expect.\n\n![Viewer Example](docs/image/viewer.jpg)\n\n## Create Your Own Robot Model (URDF)\n\nIf you want to build your own robot from scratch, you can refer to the [How to Create URDF from CAD Software](https://scikit-robot.readthedocs.io/en/latest/reference/how_to_create_urdf_from_cad.html) documentation.\n\n![Create URDF from Solidworks](docs/image/urdf-from-solidworks.png)\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.48",
    "project_urls": {
        "Homepage": "https://github.com/iory/scikit-robot"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9519abc695f7c39d9a1fe55881517fa025bd89d3e17ca21fd07e07b3e4dbde7b",
                "md5": "a42c72f0e4c0dc2704dd2a8f9be81b4e",
                "sha256": "5dd80d6a4347977b31b83c1e14b003fd891e3582597d9557724ffad305aa65ed"
            },
            "downloads": -1,
            "filename": "scikit_robot-0.0.48-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a42c72f0e4c0dc2704dd2a8f9be81b4e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 739575,
            "upload_time": "2025-02-19T12:56:38",
            "upload_time_iso_8601": "2025-02-19T12:56:38.001937Z",
            "url": "https://files.pythonhosted.org/packages/95/19/abc695f7c39d9a1fe55881517fa025bd89d3e17ca21fd07e07b3e4dbde7b/scikit_robot-0.0.48-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5ad9469810d1337c3b63049e56092bd72d08679f4e4cefa19d54b4563392c157",
                "md5": "fc61d9ddfe752eff27dafa39260fd144",
                "sha256": "a240e92dcd8a00a56727f5b9dbf0f250c8cb460f70b890859766e08c9d41bbc6"
            },
            "downloads": -1,
            "filename": "scikit_robot-0.0.48.tar.gz",
            "has_sig": false,
            "md5_digest": "fc61d9ddfe752eff27dafa39260fd144",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 738452,
            "upload_time": "2025-02-19T12:56:40",
            "upload_time_iso_8601": "2025-02-19T12:56:40.262960Z",
            "url": "https://files.pythonhosted.org/packages/5a/d9/469810d1337c3b63049e56092bd72d08679f4e4cefa19d54b4563392c157/scikit_robot-0.0.48.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-19 12:56:40",
    "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": "filelock",
            "specs": []
        },
        {
            "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": "pycollada",
            "specs": [
                [
                    "<",
                    "0.9"
                ]
            ]
        },
        {
            "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"
}
        
Elapsed time: 7.76674s