NURO Arm: Accessible Robotics Educational Platform
Project description
NURO Arm: Accessible Robotics Educational Platform
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.
Table of Contents
Software Installation
This software works on Mac, Windows and Linux. We recommend installing this package within a conda environment using python>=3.6, although it is not necessary.
Install Pybullet:
conda install -c conda-forge pybullet
Or, alternatively, use pip (this only works for Mac and Linux).
pip install "pybullet>=3.1.7"
Install this repo:
pip install git+https://github.com/dmklee/nuro-arm.git
[Windows Only] Add libraries for handling usb-hid commands:
- Download this [zip file])https://github.com/libusb/hidapi/releases/download/hidapi-0.10.1/hidapi-win.zip)
- In File Explorer, navigate into downloaded folder [your downloads location]\hidapi-win\x64
- Copy the three files ("hidapi.dll","hidapi.lib","hidapi.pdb")
- 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
Robot Kit
Assembly
The assembly process takes around 3 hours, including calibration. Detailed instructions can be found in our Assembly Guide.
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:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.