Grasp with Sandia hands - modulabs/gazebo-tutorial GitHub Wiki

Overview

이번 μž₯μ—μ„œλŠ” λ‹¨μˆœνžˆ ROS ν† ν”½ 퍼블리셔λ₯Ό μ‚¬μš©ν•˜μ—¬ Atlas robot에 달린 Sandia 손이 μž‘λŠ” λ™μž‘μ„ ν•˜λ„λ‘ ν•  것이닀. In this tutorial, we'll send desired grasp pose to Sandia hands mounted on an Atlas robot in simulation through the use of a simple ROS topic publisher.

Running the Simulation

DRC robot simulation을 μ‹œμž‘ ν•˜μ—¬λΌ.

roslaunch drcsim_gazebo atlas_sandia_hands.launch

λ‹€μŒ 타이핑 ν•˜μ—¬ Sandia 손을 μ œμ–΄ν•˜λŠ” λ…Έλ“œλ₯Ό ν™•μΈν•˜μ—¬λΌ.

$ rosservice list | grep sandia_hand

좜λ ₯에 μ₯λŠ” λ™μž‘μ„ μœ„ν•΄ Sainda 손 μ„œλΉ„μŠ€λ₯Ό ν¬ν•¨ν•œλ‹€.

/sandia_hands/l_hand/simple_grasp
/sandia_hands/r_hand/simple_grasp

μ œκ³΅λ˜λŠ” μ„œλΉ„μŠ€μ˜ μœ ν˜•μ— λŒ€ν•œ 더 λ§Žμ€ 정보λ₯Ό μ–»κΈ° μœ„ν•΄μ„œ λ‹€μŒμ„ 타이핑 ν•˜μ—¬λΌ.

rosservice info /sandia_hands/l_hand/simple_grasp

λ‹€μŒμ˜ 좜λ ₯물이 λ‚˜μ˜¨λ‹€.

Node: /sandia_hands/l_hand/simple_grasp_left
URI: rosrpc://lcp1:37083
Type: sandia_hand_msgs/SimpleGraspSrv
Args: grasp

μ„œλΉ„μŠ€ νƒ€μž…μ€ sandia_hand_msgs/SimpleGraspSrv이닀. 이것은 SimpleGrasp messageλ₯Ό ν¬ν•¨ν•œλ‹€. 그것이 무엇 인지 확인 ν•˜μž.

rosmsg show SimpleGrasp

좜λ ₯물은 λ‹€μŒκ³Ό κ°™λ‹€.

[sandia_hand_msgs/SimpleGrasp]:
string name
float64 closed_amount

name은 μ₯λŠ” μœ ν˜•μ— 따라 "cylindrical", "prismatic", "spherical" 값을 κ°€μ§„λ‹€. μ₯λŠ” μ–‘μ˜ 값은 0κ³Ό 1사이닀. 0은 손을 편 μƒνƒœμ΄λ©° 1은 μ₯” μƒνƒœμ΄λ‹€. λ‹€μŒ μ œμ–΄κΈ°μ— λŒ€ν•œ μ½”λ“œλŠ” μ—¬κΈ°μ—μ„œ simple_grasp.py in the sandia_hand_teleop package 확인 κ°€λŠ₯ν•˜λ‹€.

λ‹€λ₯Έ ν„°λ―Έλ„μ—μ„œ μ™Όμͺ½ μ†μ˜ 절반 정도λ₯Ό μ₯λŠ” μ„œλΉ„μŠ€ μ½œμ„ μ‹€ν–‰ν•œλ‹€.

rosservice call /sandia_hands/l_hand/simple_grasp ' { grasp: { name: "spherical", closed_amount: 0.8 } }'