osrf / srcsim

Space Robotics Challenge
Other
9 stars 4 forks source link

Missing hand frames #52

Open osrf-migration opened 7 years ago

osrf-migration commented 7 years ago

Original report (archived issue) by Tom Tseemceeb Xiong (Bitbucket: Tom_Xiong).


When using ihmc's hand trajectory controller there seems to be two unreferenced frames that are being used to reference with the world frame that does not exist. One for the left hand and one for the right. As I understand sending commands to this topic controls the position and orientation of these unnamed/unreferenced frames. The unknown(rightHand) frame is approximately +0.1m in the x axis and -0.025 in the y axis of the (rightPalm) frame and the unknown(leftHand) is +0.1m in the x axis and -0.025 in the y axis of the (leftPalm). With my findings I conclude that the HandTrajectory controllers have frames that aren't accessible. I tried to use the index finger for buffer but I couldn't access the fingers either as I believe they're still in progress. Is there any suggestion you can give me or will I just have to work off the right and left Palm frames and insert the offsets manually? Looking further into these frames, they seem to be the point of grasping for the robot. Were these going to be added later?

osrf-migration commented 7 years ago

Original comment by Tom Tseemceeb Xiong (Bitbucket: Tom_Xiong).


osrf-migration commented 7 years ago

Original comment by Tom Tseemceeb Xiong (Bitbucket: Tom_Xiong).


osrf-migration commented 7 years ago

Original comment by Istvan Lele (Bitbucket: pista999).


any updates on this?

osrf-migration commented 7 years ago

Original comment by Nathan Mertins (Bitbucket: nmertins).


@Tom_Xiong Could you describe the procedure you used to come up with those offsets?

osrf-migration commented 7 years ago

Original comment by Tom Tseemceeb Xiong (Bitbucket: Tom_Xiong).


I pull the location of the wrist frame from the buffer and input that into the command for controlling the hand trajectory by means of a feedback loop. In theory if the wrist frame was the same frame as the one used to control the trajectory of the hand, the command sent to the hand should just send the frame of the wrist to its current location. This isn't the case. Since the actual hand frame is not in the same location as the wrist frame, sending the buffer wrist frame location to control the hand causes it to not stay in its location rather move the right hand to the right and backwards just a little. Performing this action over time shows the hand slowly moving to the right and backwards. For example location of mysterious hand frame relative to world is 0, 0, 0 and the location of the wrist frame relative to world is -0.1, -0.1, 0. If you send the command for the hand to move to the location of wrist, it will command the hand to move from frame location 0, 0, 0 to -0.1, -0.1, 0. Through this method I was able to deduce that there is an offset to the hand frame. By including the offsets, the hand now moves to locations accordingly without the affect and my feedback loops keeps the wrist maintained in place or moving to desired locations. Essentially I just kept changing offsets until the hand stayed in place while the feedback loop was running.

osrf-migration commented 7 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


@scpeters has this issue been resolved?

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I've had trouble with the hand_trajectory topic also, but the arm_trajectory topic can be used instead with a motion planner.

osrf-migration commented 7 years ago

Original comment by Bener Suay (Bitbucket: benersuay).


I'm having issues with hand trajectory, which started recently (in the last 3 - 4 days). Hand destination pose always seems to be a little off compared to my request transform. Does anybody else experience this issue?

osrf-migration commented 7 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


We have released an updated package, and the hand frame should now be visible. Please sudo apt-get update; sudo apt-get dist-upgrade to try it

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


Got the update and grasping works well, but it seems to have broken the fix for the neck. If you pitch the neck by more than about 25 degrees (0.44 radians), it falls all the way to the chest and does not respond after that.

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


@dan77062 I'm taking a look at the neck. I thought I had fixed the neck, but maybe not...

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


The issue with the neck is the controller_gains in the lowerNeckPitch joint. Here's what I see in the urdf from the newest val-description deb:

  <joint name="lowerNeckPitch" type="revolute">
    <origin rpy="0.0 0.0 0.0" xyz="0.0203518 0.0 0.33845"/>
    <axis xyz="0 1 0"/>
    <parent link="torso"/>
    <child link="lowerNeckPitchLink"/>
    <limit effort="26" lower="0" upper="1.162" velocity="5"/>
    <controller_gains Kd="0" Ki="0" Kp="150"/>
    <dynamics damping="10" friction="0.0"/>
  </joint>

With Kp=150 and damping=10, I thought it was fixed. I'm double-checking...

osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


issue #96 says it should be:

#!c++

  <joint name="lowerNeckPitch" type="revolute">
    <origin rpy="0.0 0.0 0.0" xyz="0.0203518 0.0 0.33845"/>
    <axis xyz="0 1 0"/>
    <parent link="torso"/>
    <child link="lowerNeckPitchLink"/>
    <limit effort="26" lower="0" upper="1.162" velocity="5"/>
    <controller_gains Kd="3" Ki="3" Kp="50"/>
    <dynamics damping="0.1" friction="0.0"/>
osrf-migration commented 7 years ago

Original comment by dan (Bitbucket: dan77062).


Just tried it with the numbers you cited and it works fine. I was using the numbers above and I guess those were from early comments in issue #96.

My bad, I should have read through the whole issue!

osrf-migration commented 7 years ago

Original comment by Joey Gannon (Bitbucket: joeygannon).


I believe I have all the latest packages, and I'm still not seeing leftHand or rightHand frames.

$ rosrun tf tf_monitor

RESULTS: for all Frames

Frames:
Frame: center_bottom_led_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: center_top_led_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: head published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: head_hokuyo_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: head_imu_link published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: hokuyo_link published by unknown_publisher Average Delay: 0.000666667 Max Delay: 0.002
Frame: leftAnklePitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftCOP_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: leftElbowPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftFoot published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftFootSixAxis_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: leftForearmLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftHazardCamera_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: leftHipPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftHipRollLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftHipYawLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftIndexFingerPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftIndexFingerPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftIndexFingerPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftKneePitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftMiddleFingerPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftMiddleFingerPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftMiddleFingerPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftPalm published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftPinkyPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftPinkyPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftPinkyPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftShoulderPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftShoulderRollLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftShoulderYawLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: leftThumbPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftThumbPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftThumbPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftThumbRollLink published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: leftTorsoImu_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: leftWristRollLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: left_camera_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: left_camera_optical_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: left_led_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: lowerNeckPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: multisense/head_root published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: neckYawLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: pelvis published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: pelvisMiddleImu_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: pelvisRearImu_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: rightAnklePitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightCOP_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: rightElbowPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightFoot published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightFootSixAxis_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: rightForearmLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightHazardCamera_Frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: rightHipPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightHipRollLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightHipYawLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightIndexFingerPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightIndexFingerPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightIndexFingerPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightKneePitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightMiddleFingerPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightMiddleFingerPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightMiddleFingerPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightPalm published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightPinkyPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightPinkyPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightPinkyPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightShoulderPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightShoulderRollLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightShoulderYawLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: rightThumbPitch1Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightThumbPitch2Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightThumbPitch3Link published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightThumbRollLink published by unknown_publisher Average Delay: 0 Max Delay: 0
Frame: rightWristRollLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: right_camera_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: right_camera_optical_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: right_led_frame published by unknown_publisher Average Delay: -0.5 Max Delay: 0
Frame: torso published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: torsoPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: torsoYawLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002
Frame: upperNeckPitchLink published by unknown_publisher Average Delay: 0.000315789 Max Delay: 0.002

All Broadcasters:
Node: unknown_publisher 1211.34 Hz, Average Delay: -0.0425277 Max Delay: 0.002
osrf-migration commented 7 years ago

Original comment by Bener Suay (Bitbucket: benersuay).


Hello,

I'm positive I have the latest updates as of yesterday, I can't see any additional hand frames (I do see the finger frames). It's still not clear to me which frame acts as the goal for hand trajectory message (IHMC). It would be great if you could clarify this.

osrf-migration commented 7 years ago

Original comment by Jeremy White (Bitbucket: knitfoo).


Just want to agree with Bener; I believe I have the latest of everything, and I do not see any new frames.

I've checked the srcsim tree and val_description trees; nothing there seems appropriate. The ihmc-open-robotics-software is a bit harder to parse; I may have overlooked the change there. Did I miss any others?

osrf-migration commented 7 years ago

Original comment by Joey Gannon (Bitbucket: joeygannon).


Saw somebody asking about this on another issue so thought I should bump it up. I still don't see the new hand frames. Any idea where I might find them?

osrf-migration commented 7 years ago

Original comment by Istvan Lele (Bitbucket: pista999).


Yes, same issue as the other one, sorry.

osrf-migration commented 7 years ago

Original comment by Joey Gannon (Bitbucket: joeygannon).


@nkoenig 's answer on the telecon was unclear to me, so I want to follow up. Are the hand frames going to be made available or not?

osrf-migration commented 7 years ago

Original comment by Istvan Lele (Bitbucket: pista999).


Yeah, I was also surprised, because in the case of the walking and balancing algorithm (foot trajectory) in the qual round they were very clear that they don't want us to rewrite low level stuff. We will still write our own code for sure, but would be good if we knew where the hand is going when we use the hand trajectory. Unless they kinda don't want us to use the hand trajectory for grabbing, who knows.

Anyway, thanks for the answers and best of luck to everyone! :)

osrf-migration commented 7 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


@Tom_Xiong, @pista999 , @dan77062 , @joeygannon , @knitfoo : is this still an issue since the grasping controller has been released?

osrf-migration commented 7 years ago

Original comment by Joey Gannon (Bitbucket: joeygannon).


@chapulina Yes, it is. I still can't see the hand frames that @scpeters said should be visible now.