From fbb09ebf8f58d77adae36eb5e3bade2471440656 Mon Sep 17 00:00:00 2001 From: Pavel Lutskov Date: Mon, 25 Feb 2019 21:00:42 +0100 Subject: [PATCH] DOCUMENT IT --- .gitignore | 2 ++ README.md | 49 ++++++++++++++++++++++++++++++++ docs/teleoperation_overview.png | Bin 0 -> 120495 bytes script/calibrator.py | 9 ++++++ script/controller.py | 41 +++++++++++++++++++++++++- script/fall_detector.py | 7 +++-- script/hand_ler.py | 8 ++++++ script/imitator.py | 14 ++++++--- script/masterloop.py | 14 ++++++++- 9 files changed, 136 insertions(+), 8 deletions(-) create mode 100644 README.md create mode 100644 docs/teleoperation_overview.png diff --git a/.gitignore b/.gitignore index 176515a..3adaf1f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,8 @@ literature/ # Pictures stuff *.png +# But not the whole scheme +!teleoperation_overview.png # Presentation stuff *.pptx diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4d6cbf --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# Teleoperation NAO + +## Project description + +This ROS package allows you to remotely control a NAO robot by standing in +front of a webcam and having two ArUco markers on the hands and one ArUco +marker on the chest. + +You can move a NAO around using a "Human Joystick" approach and make NAO +imitate your arm motions. + +## Requirements + +* ROS Indigo on Ubuntu 14.04 +* [aruco_ros](http://wiki.ros.org/aruco_ros) +* [nao_robot](http://wiki.ros.org/nao_robot) +* [nao_meshes](http://wiki.ros.org/nao_meshes) +* [usb_cam](http://wiki.ros.org/usb_cam) + +## Usage + +Hang an ArUco #0 marker on the chest, take the #1 in the left hand and #2 in +the right hand. The markers should be 15cm high/wide. Then you can run + +```sh +$ roslaunch teleoperation calibration.launch +``` + +The NAO will tell you what to do. + +After that you can launch the teleoperation routine by running. + +```sh +$ roslaunch teleoperation fulltest.launch +``` + +If you want our awesome GUI, run + +```sh +$ roslaunch nao_bringup nao_full.launch +$ roslaunch teleoperation with_gui.launch +``` + +This diagram depicts what you should expect from the teleoperation routine. + +![State Machine](docs/teleoperation_overview.png) + +Since this package relies on the NAO voice recognition, you must be in the same +room with NAO, and the room must be quiet. diff --git a/docs/teleoperation_overview.png b/docs/teleoperation_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..c96247b5bd1abc4e5ad9d6daa6247daa019c7fab GIT binary patch literal 120495 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%0Ad3!vltQvgEB!ZdV)W3ln7 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 literal 0 HcmV?d00001 diff --git a/script/calibrator.py b/script/calibrator.py index 5eb5d57..b46183d 100755 --- a/script/calibrator.py +++ b/script/calibrator.py @@ -1,4 +1,6 @@ #! /usr/bin/env python +"""The script for calibrating the arm lengths and 'joystick' extents.""" + import os import json @@ -12,6 +14,7 @@ from teleoperation.msg import RequestSpeechAction, RequestSpeechGoal def calib_field(sentences, src_frames, targ_frames): + """Retrieve a relative transform of some marker.""" ok = False t_and_q = [] @@ -34,6 +37,7 @@ def calib_field(sentences, src_frames, targ_frames): def calib_center(): + """Retrieve the coordinates of the 'joystick' zero state.""" trans, q = calib_field([ 'Stand in front of camera', 'Far enough to see your arms' @@ -43,6 +47,7 @@ def calib_center(): def calib_arms(): + """Retrieve the hand positions relative to the chest.""" ts_and_qs = calib_field( ['Now stretch your arms', 'Make sure the markers are detected'], ['odom'] * 3, @@ -58,6 +63,7 @@ def calib_arms(): def calib_shoulders(): + """Retrieve the shoulder positions relative to the chest.""" ts_and_qs = calib_field( ['Now place the markers on the corresponding shoulders', 'Make sure the markers are detected'], @@ -74,6 +80,7 @@ def calib_shoulders(): def calib_rotation(): + """Retrieve the limits of the z-axis of the 'joystick'.""" rots = [] for side in ('left', 'right'): _, q = calib_field( @@ -86,6 +93,7 @@ def calib_rotation(): def calib_extremes(): + """Retrieve the limits of the x and y axes of the 'joystick'.""" transs = [] for direction in ('forward', 'backward', 'to the left', 'to the right'): trans, _ = calib_field( @@ -100,6 +108,7 @@ def calib_extremes(): def calibration(): + """Run full calibration and dump the results to the config file.""" center = calib_center() larm, rarm = calib_arms() lsh, rsh = calib_shoulders() diff --git a/script/controller.py b/script/controller.py index 910e1ad..5baf314 100755 --- a/script/controller.py +++ b/script/controller.py @@ -1,5 +1,6 @@ #! /usr/bin/env python -"""Controller should execute control for a given effector""" +"""Module for executing control for a given effector""" + from __future__ import division import os import json @@ -53,12 +54,14 @@ best_guess = { def get_transform(joint): + """Retrieve a transform matrix of a joint in the torso frame.""" return np.array( mp.getTransform(joint, FRAME_TORSO, False), dtype=np.float64 ).reshape((4, 4)) def diff_jacobian(side): + """Update and return the differential Jacobian. NOT GOOD.""" new_end_xyz = xyz('{}Arm'.format(side)) delta_r = new_end_xyz - crt_xyz[side] crt_xyz[side] = new_end_xyz.copy() @@ -75,6 +78,7 @@ def diff_jacobian(side): def jacobian(side): + """Calculate the analytical Jacobian for side 'L' or 'R'.""" end_xyz = xyz('{}Arm'.format(side)) xyzs = np.array([xyz(side + j) for j in JOINTS]) @@ -94,6 +98,7 @@ def jacobian(side): def to_nao(my_xyz, side): + """Transform object coordinates from operator chest frame to NAO torso.""" sh_offs = np.array(MY_SHOULDERS[side]) my_sh_xyz = my_xyz - sh_offs nao_sh_xyz = my_sh_xyz / ARM * NAO_ARM @@ -102,6 +107,7 @@ def to_nao(my_xyz, side): def inv_jacobian(j): + """Singluarity robust inverse Jacobian.""" u, s, vt = np.linalg.svd(j) s_inv = np.zeros((vt.shape[0], u.shape[1])) np.fill_diagonal(s_inv, 1 / s) @@ -110,6 +116,22 @@ def inv_jacobian(j): def _some_cartesian(my_xyz, side, jfunc): + """A generic cartesian controller. + + Parameters + ---------- + my_xyz : numpy.array + Coordinates of the object/target in the operator chest frame. + side : str, 'L' or 'R' + jfunc : func + A function that will return a jacobian matrix for the given side. + + Returns + ------- + numpy.array + The control to execute in the joint space. + + """ nao_xyz = to_nao(my_xyz, side) delta_r = 0.1 * (nao_xyz - xyz('{}Arm'.format(side))) crt_q = mp.getAngles([side + j for j in JOINTS], False) @@ -118,19 +140,23 @@ def _some_cartesian(my_xyz, side, jfunc): def our_cartesian(my_xyz, side): + """Our cartesian controller.""" return _some_cartesian(my_xyz, side, jacobian) def our_diff_cartesian(my_xyz, side): + """Our differential cartesian controller.""" return _some_cartesian(my_xyz, side, diff_jacobian) def _elbow(arm_): + "Dumb way to calculate the elbow roll.""" quot = min(1.0, arm_ / 0.70) return radians(180 * (1 - quot)) def dumb(my_xyz, side): + """Our dumb controller that directly maps 3D coords into joint space.""" sign = 1 if side == 'L' else -1 roll = asin(my_xyz[1] / np.linalg.norm(my_xyz)) roll -= sign * radians(25) @@ -142,11 +168,24 @@ def dumb(my_xyz, side): def movement(my_xyz, side, control): + """Execute the movement. + + my_xyz : numpy.array + Coordinates of the object/target in the operator chest frame. + side : str, 'L' or 'R' + control : func + A function to calculate the conrol for the side, depending on the + target coordinates. It must return returning the `numpy.array` + joint vector of format + [ShoulderPitch, ShoulderRoll, ElbowYaw, ElbowRoll]. + + """ ref = control(np.array(my_xyz), side).tolist() mp.setAngles([side + j for j in JOINTS], ref, 0.3) def nao_cart_movement(my_arm_xyz, side, *_): + """Execute the movement using the NAO cartesian controller.""" nao_xyz = to_nao(my_arm_xyz, side) mp.setPositions('{}Arm'.format(side), FRAME_TORSO, tuple(nao_xyz.tolist()) + (0, 0, 0), diff --git a/script/fall_detector.py b/script/fall_detector.py index 0cc3f3c..ddb4b4d 100755 --- a/script/fall_detector.py +++ b/script/fall_detector.py @@ -1,4 +1,5 @@ #! /usr/bin/env python +"""A module for graceful fall handling.""" import os import rospy @@ -15,6 +16,7 @@ _inform_masterloop = inform_masterloop_factory('fall_detector') class FallDetectorModule(ALModule): + """An ALModule responsible for fall handling.""" def __init__(self, name): ALModule.__init__(self, name) @@ -23,7 +25,7 @@ class FallDetectorModule(ALModule): _inform_masterloop('falling') def on_robot_fallen(self, *_args): - if not _inform_masterloop('fallen'): + if not _inform_masterloop('fallen'): # Seize the control return mp.rest() rospy.Rate(0.5).sleep() @@ -32,9 +34,10 @@ class FallDetectorModule(ALModule): am.setExpressiveListeningEnabled(False) pp = ALProxy('ALRobotPosture') while not pp.goToPosture('StandInit', 1.0): + # Try to stand up indefinetely pass rospy.Rate(1).sleep() - _inform_masterloop('recovered') + _inform_masterloop('recovered') # Release the control if __name__ == "__main__": diff --git a/script/hand_ler.py b/script/hand_ler.py index 6693d9a..505297b 100755 --- a/script/hand_ler.py +++ b/script/hand_ler.py @@ -1,4 +1,5 @@ #! /usr/bin/env python +"""A small module for hand conrols service.""" import os import rospy @@ -12,6 +13,12 @@ mp = None def do_in_parallel(func): + """Open hands in parallel. + + The robot's hand function blocks and only accepts one hand. This is a + thread-based hackaround. + + """ tl = Thread(target=func, args=('LHand',)) tr = Thread(target=func, args=('RHand',)) tl.start() @@ -21,6 +28,7 @@ def do_in_parallel(func): def handle_hands(request): + """Hand service routine.""" if request.target == 'open': do_in_parallel(mp.openHand) return HandsResponse('opened') diff --git a/script/imitator.py b/script/imitator.py index 02a8193..038bca7 100755 --- a/script/imitator.py +++ b/script/imitator.py @@ -1,4 +1,6 @@ #! /usr/bin/env python +"""The node performing the imitation.""" + from argparse import ArgumentParser from math import radians @@ -18,6 +20,7 @@ TORSO = False def controller_factory(ctrl): + """Create a controller depending on the command line argument.""" if ctrl == 'nao_cartesian': return lambda my_arm_xyz, side: nao_cart_movement(my_arm_xyz, side) @@ -45,8 +48,8 @@ if __name__ == '__main__': ll = tf.TransformListener() while not rospy.is_shutdown(): - rospy.Rate(20).sleep() - if not _inform_masterloop('imitate'): + rospy.Rate(20).sleep() # Run at 20 Hz or something + if not _inform_masterloop('imitate'): # Try to seize the control continue rospy.logdebug('IMITATOR: ACTIVE') @@ -61,7 +64,7 @@ if __name__ == '__main__': # except Exception as e: # rospy.logwarn(e) - for i, side in enumerate(['L', 'R'], 1): + for i, side in enumerate(['L', 'R'], 1): # One arm at a time try: a0, _ = ll.lookupTransform( 'odom', @@ -79,6 +82,9 @@ if __name__ == '__main__': my_arm_xyz = np.array(arm) - np.array(a0) # rospy.loginfo('{}'.format(my_arm_xyz)) # rospy.loginfo('{}'.format(dumb(my_arm_xyz, side))) - imitation_cycle(my_arm_xyz, side) + + imitation_cycle(my_arm_xyz, side) # Do the actuation + + # Set hands to sane positions mp.setAngles(('LWristYaw', 'RWristYaw'), (radians(-70), radians(70)), 0.3) diff --git a/script/masterloop.py b/script/masterloop.py index 369c589..4e140b1 100755 --- a/script/masterloop.py +++ b/script/masterloop.py @@ -1,4 +1,6 @@ #! /usr/bin/env python +"""The master state machine node.""" + import os from argparse import ArgumentParser @@ -37,6 +39,7 @@ mp = ALProxy('ALMotion', os.environ['NAO_IP'], 9559) def init_voc_state_speech(): + """Initialize the transitions.""" global VOC_STATE, SPEECH_TRANSITIONS VOC_STATE = { 'idle': [KILL] + ([IMITATE] if not AI else []), @@ -55,6 +58,7 @@ def init_voc_state_speech(): def hands(what): + """Handle the command to do something with the hands.""" try: _hands = rospy.ServiceProxy('hands', Hands) newstate = _hands(what).newstate @@ -64,6 +68,7 @@ def hands(what): def speech_done_cb(_, result): + """Handle the recognized command.""" global speech_in_progress, state, hand_state _state_old = state rospy.loginfo('SPEECH: {}'.format(result)) @@ -83,6 +88,12 @@ def speech_done_cb(_, result): def inform_masterloop_factory(who): + """Create a function to inform the masterloop. + + Every node infroms the master, so it's nice to have a factory for + these functions. + + """ def inform_masterloop(what): try: inform_masterloop = rospy.ServiceProxy('inform_masterloop', @@ -96,6 +107,7 @@ def inform_masterloop_factory(who): def handle_request(r): + """Handle a node's request to seize/release control.""" global state module = r.module message = r.message @@ -184,4 +196,4 @@ if __name__ == '__main__': speech.cancel_goal() speech_in_progress = False - rospy.Rate(10).sleep() + rospy.Rate(10).sleep() # Run at 10 Hz or something