GithubHelp home page GithubHelp logo

triknight / leap_hand_api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leap-hand/leap_hand_api

0.0 0.0 0.0 35 KB

API for controlling LEAP Hand

Home Page: http://leaphand.com/

License: Other

Python 90.57% CMake 9.43%

leap_hand_api's Introduction

Welcome to the LEAP Hand SDK

  • Please visit our website for more information about LEAP hand.

Software Setup

Hardware Setup

  • Connect 5v power to the hand (the dynamixels should light up during boot up.)
  • Connect the Micro USB cable to the hand (Do not use too many USB extensions)
  • Open Dynamixel Wizard and find the correct port using the options button and put that in main.py or ros_example.py. Note, you cannot have Dynamixel wizard open while using the hand's API, the port will be "busy" with the other process.
  • On Ubuntu you can find the hand by ID using /dev/serial/by-id The ID will stay persistent on reboots.
  • We offically support Python and ROS, but other languages are supported by Dynamixel SDK.

Functionality

  • Leap Node allows you to command joint angles in different scalings.
  • You can read position, velocity and current from the hand.
  • Do not query reads too often, going past 90hz for one set of angles or 30hz for all three will slow down the USB communication.
  • The default controller follows the PID control, up to the current limit cap.
  • Other controllers including velocity control or current control are supported as per the motor manual
  • For Lite, keep the current limit around 300ma.
  • For Full, you can raise the current limit up to 550ma.
  • If facing a jittery hand, adjust the PID values down.
  • If the hand is too weak, adjust the PID values up.

Troubleshooting

  • If your motor is 90/180/270 Degrees off, the horn is mounted incorrectly on the motor. Remount it.
  • If no motors show up, check that your serial port permissions are correct.
  • If some motors are missing, make sure they are IDed corrrectly and are connected to the U2D2.
  • If you get "overload error" and the motors are flashing red, then they have overloaded (self-collision etc). It should clear on a power cycle. If it happens often, lower the current limits in the control code so that it does not happen as often.
  • If you get "jittery" motors, try lowering the P and D values, either in the roslaunch file or the python file.
  • If you feel the motors are too inaccurate, you can also try raising the P and D values.
  • To improve latency on Ubuntu try these tips. Configure USB Latency Settings in Ubuntu and the Dynamixel Python SDK

Useful Tools:

  • MANO to LEAP joint angle mapping.
  • If you have useful tools you feel the community can benefit from, please make a pull request.
  • I can also add tools to this upon request. :)

Support:

  • Please contact me at [email protected] for any issues.
  • This code is made available using an MIT License.
  • The CAD files are provided with a CC BY-NC-SA Attribution-NonCommercial-ShareAlike license which allows you to use and build upon our work non-commercially.
  • LEAP Hand is provided as-is and without warranty.
  • If you use LEAP Hand in an academic setting, please cite our paper:
@article{shaw2023leaphand,
  title={LEAP Hand: Low-Cost, Efficient, and Anthropomorphic Hand for Robot Learning},
  author={Shaw, Kenneth and Agarwal, Ananye and Pathak, Deepak},
  journal={Robotics: Science and Systems (RSS)},
  year={2023}
}

leap_hand_api's People

Contributors

lucky7chess avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.