Skip to content

yangqiao/leapAR10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leapAR10

Assignment for couse 'Software Architecture for Robotics' developped with EMARO lab in UNIGE, Italy.

Introduction

Using Leapmotion as hand tracking sensor to control AR10 humanoid robotic hand of Active Robots

Version and Dependencies

  • ROS: Kinetic
  • Leap SDK: 2.3.1+31549
  • python: 2.7
  • pyserial: 3.3

Installation

  • append ENV variable PYTHONPATH with path to Leap SDK: export PYTHONPATH=$PYTHONPATH:/leapSDK/lib:/leapSDK/lib/x64:/usr/lib/Leap
  • run catkin_make to compile the project
  • you can add the user to group dialout so that the user can use the serial port without root previlage

Remarks:

  • From Ubuntu 15.04 the upstart service system has been switched to systemd. The launch of leapd service may fail due to absence of upstart. Checkout here for further information. Instead of using service to auto-launch the daemon, you can run sudo /usr/sbin/leapd --run instead in a new console.

Usage

ros_ar10

Files

  • ros_ar10_calibrate.py : calibrate the ar10 robotic hand and generate calibration file
  • ros_ar10_check_calibration.py : check ar10 robotic hand calibration and calculate errors on each joint
  • ros_ar10_hand_reset.py : set hand to open or close state
  • ros_ar10_servo_pos_publisher.py : publish servo actual positions
  • ros_ar10_servo_pos_listener.py : listen to servo actual positions
  • ros_ar10_servo_pos_set_listener.py : listen to command to control servos

Usage

CMD Parameters in common:

-d DEVICE, --device DEVICE:serial device

-l, --left:            use left hand

-r, --right:           use right hand

ros_ar10_calibrate.py [-h] -d DEVICE (-l | -r)

ex:`rosrun ros_ar10 ros_ar10_calibrate.py -d /dev/ttyACM0 -r`

ros_ar10_check_calibration.py [-h] -d DEVICE (-l | -r)

ex: `rosrun ros_ar10 ros_ar10_check_calibration.py -d /dev/ttyACM0 -l`

ros_ar10_hand_reset.py [-h] -d DEVICE (-l | -r) (-o | -c)

-o, --open:            open hand

-c, --close:           close hand

ex: `rosrun ros_ar10 ros_ar10_hand_reset.py -d /dev/ttyACM0 -l -o`

ros_ar10_servo_pos_publisher.py [-h] -d DEVICE (-l | -r)

ex: `rosrun ros_ar10 ros_ar10_servo_pos_publisher.py -d /dev/ttyACM0 -l`

ros_ar10_servo_pos_listener.py [-h] (-l | -r)

ex: `rosrun ros_ar10 ros_ar10_servo_pos_set_listener.py -l`

ros_ar10_servo_pos_publisher.py [-h] -d DEVICE (-l | -r)

ex: `rosrun ros_ar10 ros_ar10_servo_pos_set_publisher.py -d /dev/ttyACM0 -l`

ros_leap

Files

  • ros_leap_publisher.py : publish leapmotion frame
  • ros_leap_listener.py : listen to leapmotion frame

Usage

ros_leap_publisher.py

ex:`rosrun ros_leap ros_leap_publisher.py`

ros_leap_listener.py

ex:`rosrun ros_leap ros_leap_listener.py`

ros_leap_ar10_controller

Files

  • rlac_mapper_calibrate.py : generate min and max calibration
  • rlac_controller.py : controller to map leapmotion and ar10 robotic hand

Usage

  • launch leapd daemon
  • launch roscore
  • calibrate two ar10 robotic hand
  • calibrate rlac mapper : rosrun rlac rlac_mapper_calibrate.py
  • rosrun ros_leap ros_leap_publisher.py
  • rosrun ros_ar10 ros_ar10_servo_pos_set_listener.py on two serial port for left hand and right hand
  • rosrun rlac rlac_controller.py

Contributing instructions

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Credits

Author

Student:

Mentors:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published