nuro-arm


Namenuro-arm JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/dmklee/nuro-arm
SummaryNURO Arm: Accessible Robotics Educational Platform
upload_time2022-06-28 18:21:38
maintainer
docs_urlNone
authorDavid Klee
requires_python>3.6.0
licenseMIT License
keywords robotics educational-project low-cost-robot robotic-manipulation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            NURO Arm: Accessible Robotics Educational Platform
--------------------------------------------------------------------------------
**[Documentation](https://nuro-arm.readthedocs.io/en/latest/?)** | **[Website](https://dmklee.github.io/nuro-arm/)**

--------------------------------------------------------------------------------

This repository is built to help students learn more about programming and robotics. It aims to provide a high-level interface for performing basic robotic manipulation tasks.  The repo is meant to be accessible: the hardware is low cost; a simulator is provided for those who do not purchase the robot; the api is built to work on Windows, MacOS & Linux.

<p align="center">
  <img src="https://github.com/dmklee/nuro-arm/blob/main/images/xarm.png" height="400"/>
</p>

## Software Installation

### Conda
For Windows, we recommend using a conda environment so that pybullet can be installed
beforehand.
```
conda create -n "myenv" python=3.8
conda activate myenv
conda install -c conda-forge pybullet
pip install nuro-arm
```

### Pip
Using pip will only work for Linux and Mac:
```
pip install nuro-arm
```

#### [Windows Only] Add libraries for handling usb-hid commands:
1. Download this [zip file](https://github.com/libusb/hidapi/releases/download/hidapi-0.10.1/hidapi-win.zip)
2. In File Explorer, navigate into downloaded folder [your downloads location]\hidapi-win\x64
3. Copy the three files ("hidapi.dll","hidapi.lib","hidapi.pdb")
4. Paste them in "C:\Users\[username]\Anaconda3\envs\[your-env-name]\"
#### [Linux Only] Install libraries for usb-hid:
```
sudo apt-get install libhidapi-hidraw0 libhidapi-libusb0
sudo service fwupd stop
```

<a name="robot-kit"></a>
## Robot Kit
### Parts List
You can order the parts for the robot kit easily for around $250.  In order to use the camera, you will need access to a 3D printer (we are working on finding a prebuilt camera holder).  You can use the simulated version of the robot first to see whether you want to purchase the robot.  We have no relationship with the manufacturers of the parts.

Description  | Price 
------------ | ----- 
[Hiwonder xArm Robotic Arm](https://www.amazon.com/LewanSoul-Programmable-Feedback-Parameter-Programming/dp/B0793PFGCY/ref=sr_1_3?dchild=1&keywords=lewansoul+xarm&qid=1618417178&sr=8-3) | $200
[ELP Megapixel 720p USB Camera 100 deg lens](https://www.amazon.com/ELP-megapixel-Camera-Module-120degree/dp/B01DRJXDEA/ref=sr_1_1?crid=12SN0I987B5WH&dchild=1&keywords=elp+megapixel+super+mini+720p+usb+camera+module+with+120degree+lens&qid=1618417242&sprefix=elp+camera+megapix%2Caps%2C157&sr=8-1) | $30
[Small (~1") toy cubes](https://www.amazon.com/ETA-hand2mind-1-inch-Color-Cubes/dp/B01J6GC83U/ref=sr_1_13?dchild=1&keywords=wooden+cubes+color&qid=1619112911&sr=8-13) or find similar items around the house | $19 (or free)
3D Printed parts ([stl files](https://github.com/dmklee/nuro-arm/blob/main/nuro_arm/assets/meshes/)) | ~$10
computer with 2 USB-A ports or equivalent adapters | -

### Assembly
The assembly process takes around 3 hours, including calibration.  Check the documentation for assembly and calibration instructions.

<a name="features"></a>
## Features
### Robot [or Simulator]
- Calibration of robot servos
- Enforcement of joint position and velocity limits
- Collision detection
- Forward and Inverse Kinematics
- Support for complex non-linear movements
- GUI for simple joint motion
- GUI for sequencing arm movements

### Camera
- Estimation of intrinsic/extrinsic parameters
- GUI for visualizing or debugging
- Taking photos and videos
- Pose estimation of cubes using Aruco Tags

## Projects
Here are some project ideas that are feasible with this platform:
- Face tracking with hand-held camera
- Creating stacks of cubes
- Throwing objects into a bin
- Playing tic-tac-toe
- *Tactile* sensing of objects
- Typing on a keyboard
- Investigating positional accuracy of servos
- Picking up novel objects
If you are an educator looking for more information on projects or want to chat about curriculum ideas, please contact me.

## Acknowledgements
The xarm controller code is an amalgam of the following repos:
- https://github.com/ccourson/xArmServoController/
- https://github.com/maximkulkin/lewansoul-lx16a/
- https://gist.github.com/maximecb/7fd42439e8a28b9a74a4f7db68281071
- https://github.com/adeguet1/lewansoul-xarm


## License
This code is released under the [MIT License](LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dmklee/nuro-arm",
    "name": "nuro-arm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">3.6.0",
    "maintainer_email": "",
    "keywords": "robotics,educational-project,low-cost-robot,robotic-manipulation",
    "author": "David Klee",
    "author_email": "David Klee <klee.d@northeastern.edu>",
    "download_url": "https://files.pythonhosted.org/packages/74/db/75184ecf86f5bb95ed1c3bd29102682e18e28649bd851b09820cd70162b4/nuro-arm-0.0.5.tar.gz",
    "platform": null,
    "description": "NURO Arm: Accessible Robotics Educational Platform\n--------------------------------------------------------------------------------\n**[Documentation](https://nuro-arm.readthedocs.io/en/latest/?)** | **[Website](https://dmklee.github.io/nuro-arm/)**\n\n--------------------------------------------------------------------------------\n\nThis repository is built to help students learn more about programming and robotics. It aims to provide a high-level interface for performing basic robotic manipulation tasks.  The repo is meant to be accessible: the hardware is low cost; a simulator is provided for those who do not purchase the robot; the api is built to work on Windows, MacOS & Linux.\n\n<p align=\"center\">\n  <img src=\"https://github.com/dmklee/nuro-arm/blob/main/images/xarm.png\" height=\"400\"/>\n</p>\n\n## Software Installation\n\n### Conda\nFor Windows, we recommend using a conda environment so that pybullet can be installed\nbeforehand.\n```\nconda create -n \"myenv\" python=3.8\nconda activate myenv\nconda install -c conda-forge pybullet\npip install nuro-arm\n```\n\n### Pip\nUsing pip will only work for Linux and Mac:\n```\npip install nuro-arm\n```\n\n#### [Windows Only] Add libraries for handling usb-hid commands:\n1. Download this [zip file](https://github.com/libusb/hidapi/releases/download/hidapi-0.10.1/hidapi-win.zip)\n2. In File Explorer, navigate into downloaded folder [your downloads location]\\hidapi-win\\x64\n3. Copy the three files (\"hidapi.dll\",\"hidapi.lib\",\"hidapi.pdb\")\n4. Paste them in \"C:\\Users\\[username]\\Anaconda3\\envs\\[your-env-name]\\\"\n#### [Linux Only] Install libraries for usb-hid:\n```\nsudo apt-get install libhidapi-hidraw0 libhidapi-libusb0\nsudo service fwupd stop\n```\n\n<a name=\"robot-kit\"></a>\n## Robot Kit\n### Parts List\nYou can order the parts for the robot kit easily for around $250.  In order to use the camera, you will need access to a 3D printer (we are working on finding a prebuilt camera holder).  You can use the simulated version of the robot first to see whether you want to purchase the robot.  We have no relationship with the manufacturers of the parts.\n\nDescription  | Price \n------------ | ----- \n[Hiwonder xArm Robotic Arm](https://www.amazon.com/LewanSoul-Programmable-Feedback-Parameter-Programming/dp/B0793PFGCY/ref=sr_1_3?dchild=1&keywords=lewansoul+xarm&qid=1618417178&sr=8-3) | $200\n[ELP Megapixel 720p USB Camera 100 deg lens](https://www.amazon.com/ELP-megapixel-Camera-Module-120degree/dp/B01DRJXDEA/ref=sr_1_1?crid=12SN0I987B5WH&dchild=1&keywords=elp+megapixel+super+mini+720p+usb+camera+module+with+120degree+lens&qid=1618417242&sprefix=elp+camera+megapix%2Caps%2C157&sr=8-1) | $30\n[Small (~1\") toy cubes](https://www.amazon.com/ETA-hand2mind-1-inch-Color-Cubes/dp/B01J6GC83U/ref=sr_1_13?dchild=1&keywords=wooden+cubes+color&qid=1619112911&sr=8-13) or find similar items around the house | $19 (or free)\n3D Printed parts ([stl files](https://github.com/dmklee/nuro-arm/blob/main/nuro_arm/assets/meshes/)) | ~$10\ncomputer with 2 USB-A ports or equivalent adapters | -\n\n### Assembly\nThe assembly process takes around 3 hours, including calibration.  Check the documentation for assembly and calibration instructions.\n\n<a name=\"features\"></a>\n## Features\n### Robot [or Simulator]\n- Calibration of robot servos\n- Enforcement of joint position and velocity limits\n- Collision detection\n- Forward and Inverse Kinematics\n- Support for complex non-linear movements\n- GUI for simple joint motion\n- GUI for sequencing arm movements\n\n### Camera\n- Estimation of intrinsic/extrinsic parameters\n- GUI for visualizing or debugging\n- Taking photos and videos\n- Pose estimation of cubes using Aruco Tags\n\n## Projects\nHere are some project ideas that are feasible with this platform:\n- Face tracking with hand-held camera\n- Creating stacks of cubes\n- Throwing objects into a bin\n- Playing tic-tac-toe\n- *Tactile* sensing of objects\n- Typing on a keyboard\n- Investigating positional accuracy of servos\n- Picking up novel objects\nIf you are an educator looking for more information on projects or want to chat about curriculum ideas, please contact me.\n\n## Acknowledgements\nThe xarm controller code is an amalgam of the following repos:\n- https://github.com/ccourson/xArmServoController/\n- https://github.com/maximkulkin/lewansoul-lx16a/\n- https://gist.github.com/maximecb/7fd42439e8a28b9a74a4f7db68281071\n- https://github.com/adeguet1/lewansoul-xarm\n\n\n## License\nThis code is released under the [MIT License](LICENSE).\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "NURO Arm: Accessible Robotics Educational Platform",
    "version": "0.0.5",
    "split_keywords": [
        "robotics",
        "educational-project",
        "low-cost-robot",
        "robotic-manipulation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "1de1baa7d2c8475bf77aaf3a77ede2e7",
                "sha256": "3a37f47ddb344e7489c45616de8fccf76f19c251d09643dcf61fa12e30403379"
            },
            "downloads": -1,
            "filename": "nuro_arm-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1de1baa7d2c8475bf77aaf3a77ede2e7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">3.6.0",
            "size": 5234133,
            "upload_time": "2022-06-28T18:21:35",
            "upload_time_iso_8601": "2022-06-28T18:21:35.783433Z",
            "url": "https://files.pythonhosted.org/packages/4b/a6/f95157ae4567697aafaf1c6631451efc72bd71d87980f07350cf055ba00c/nuro_arm-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f9aa817df9f405531fbc060a8523df71",
                "sha256": "27a8a04397a7566fa2727b205b829c0c8da1343deb9818ad50d430fae82dda68"
            },
            "downloads": -1,
            "filename": "nuro-arm-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "f9aa817df9f405531fbc060a8523df71",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">3.6.0",
            "size": 5231595,
            "upload_time": "2022-06-28T18:21:38",
            "upload_time_iso_8601": "2022-06-28T18:21:38.822437Z",
            "url": "https://files.pythonhosted.org/packages/74/db/75184ecf86f5bb95ed1c3bd29102682e18e28649bd851b09820cd70162b4/nuro-arm-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-06-28 18:21:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "dmklee",
    "github_project": "nuro-arm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "nuro-arm"
}
        
Elapsed time: 0.52358s