HAPTIX Teleoperation - modulabs/gazebo-tutorial GitHub Wiki

Overview

์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” HAPTIX ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•œ ๋‹ค์–‘ํ•œ teloperation ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. ์ง€์›๋˜๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. ํ‚ค๋ณด๋“œ: ์ผ๋ จ์˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒ” ์œ„์น˜์™€ ๊ด€์ ˆ์„ ์ œ์–ด
  2. Spacenav: 3D ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•” ์œ„์น˜ ์ œ์–ด
  3. Razer hydra: 3D ๊ฒŒ์ž„ ์กฐ์ด์Šคํ‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒ” ์œ„์น˜๋ฅผ ์ œ์–ดํ•˜๊ณ  ์›€์ผœ ์žก๋Š”๋‹ค.

๋‹ค์Œ ๊ฐ ์„น์…˜์— ๋Œ€ํ•ด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‹œ์ž‘ํ•˜์—ฌ๋ผ:

gazebo worlds/arat.world

Keyboard Control

์œ„์˜ ๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์ผ๋ จ์˜ ํ‚ค๋Š” ์•” ๋ฐ ์† ์ปจํŠธ๋กค์— ๋งคํ•‘๋œ๋‹ค.

  1. Grasp control 1์—์„œ 3์‚ฌ์ด์˜ ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ ์žˆ์œผ๋ฉด ์†์„ ๋‹ซ์„ ์ˆ˜ ์žˆ๋‹ค:

  2. Spherical grasp

  3. Cylinderical grasp

  4. Pinch grasp ์ ์ฐจ ์†์„ ๋–ผ๋ ค๋ฉด SHIFT์™€ํ•จ๊ป˜ ์ˆซ์ž๋ฅผ ๊ธธ๊ฒŒ ๋ˆ„๋ฅธ๋‹ค.

  5. Arm position WASDQE ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 2D ํ‰๋ฉด์—์„œ ์•”์˜ ์œ„์น˜๋ฅผ ์ด๋™ํ•œ๋‹ค. ์ด๋•Œ ํ‰๋ฉด์€ ํŒ”์˜ ๋กœ์ปฌ ์ขŒํ‘œ ํ”„๋ ˆ์ž„์— ์˜ํ•ด ์ •์˜๋œ๋‹ค. ์ด๊ฒƒ์€ ๋งŒ์•ฝ ํŒ”์˜ ์›์ ์„ ๋ฐ”๊พธ๋ฉด ์†์ด ๋น„ํ–‰๊ธฐ์ฒ˜๋Ÿผ "๋‚ ์•„๊ฐˆ"๊ฒƒ์ž„์„ ์˜๋ฏธํ•œ๋‹ค.

  6. W: Move forward (along the positive X axis: toward the finger tips)

  7. A: Move left (along the positive Y axis: toward the thumb)

  8. S: Move back (along the negative X axis: toward the wrist)

  9. D: Move right (along the negative Y axis: opposite of the thumb)

  10. Q: Move the arm up (along the positive Z axis: toward the top of the hand)

  11. E: Move the arm down (along the negative Z axis: toward the palm)

  12. Arm orientation SHIFT + WASDQE ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”์˜ ๋ฐฉํ–ฅ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ด๊ฒƒ์€ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ ์†์ด ์›€์ง์ด๋Š” ํ‰๋ฉด์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

  13. SHIFT + W: pitch the arm down

  14. SHIFT + A: roll the thumb down

  15. SHIFT + S: pitch the arm up

  16. SHIFT + D: roll the thumb up

  17. SHIFT + Q: yaw toward the thumb

  18. SHIFT + E: yaw away from the thumb

  19. Wrist control ZXC ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†๋ชฉ ์กฐ์ธํŠธ๋ฅผ ์ œ์–ดํ•œ๋‹ค.

  20. Z: Positive rotation

  21. SHIFT + Z: Negative rotation

  22. X: Positive deviation

  23. SHIFT + X: Negative deviation

  24. C: Positive flexion

  25. SHIFT + C: Negative flexion

Arm teleop GUI options

HAPTIX ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ์™ผ์ชฝ์—์žˆ๋Š” GUI์—๋Š” ํ‚ค๋ณด๋“œ ์›๊ฒฉ ์ œ์–ด๋ฅผ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ๋‹ค. "๋กœ์ปฌ ํ”„๋ ˆ์ž„" ์ฒดํฌ ์ƒ์ž๋ฅผ ์„ ํƒํ•˜๋ฉด, ํ‚ค๋ณด๋“œ ํ…”๋ ˆํ”„๋Š” ํŒ”์˜ ํšŒ์ „์— ๋”ฐ๋ผ ๋ฐ”๋€Œ๋Š” ํŒ”์˜ ๋กœ์ปฌ ์ถ•์—์„œ ํŒ”์„ ์›€์ง์ด๊ฒŒ๋œ๋‹ค. "๋กœ์ปฌ ํ”„๋ ˆ์ž„"์„ ์„ ํƒํ•˜์ง€ ์•Š์œผ๋ฉด ํ‚ค๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ "๊ธ€๋กœ๋ฒŒ" ์ขŒํ‘œ๊ณ„์—์„œ ํŒ”์„ ์ด๋™ํ•œ๋‹ค.

"ํŒ” ์ด๋™ ์†๋„" ์˜†์—์žˆ๋Š” ์Šฌ๋ผ์ด๋”๋Š” ํ‚ค๋ณด๋“œ๋ฅผ ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ ํŒ”์˜ ์†๋„๋ฅผ ์ œ์–ดํ•œ๋‹ค. ์ด ์˜ต์…˜์€ ํ‚ค๋ณด๋“œ ์›๊ฒฉ ์ œ์–ด์—๋งŒ ๊ด€๋ จ์ด ์žˆ๋‹ค. ๋ชจ์…˜ ์บก์ณ ์›๊ฒฉ ์กฐ์ž‘์ด๋‚˜ Spacenav์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.

ํ™”๋ฉด์—์„œ ํŒ” ์œ„์น˜, ๊ด€์ธก์  ๋ฐ ๊ฐ์ฒด๋ฅผ ์žฌ์„ค์ •ํ•˜๋ ค๋ฉด Ctrl + R์„ ๋ˆ„๋ฅธ๋‹ค.

Spacenav Control

๊ธฐ๋ณธ์ ์œผ๋กœ spacenav ๋งˆ์šฐ์Šค๋Š” ๊ด€์ธก์ ์˜ ์œ„์น˜์™€ ๋ฐฉํ–ฅ์„ ์ œ์–ดํ•œ๋‹ค. ํŒ”์˜ ์ปจํŠธ๋กค์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋งˆ์šฐ์Šค์˜ ์™ผ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. ์ด ๋ชจ๋“œ์— ๋“ค์–ด๊ฐ€๋ฉด ๋งˆ์šฐ์Šค๊ฐ€ ํŒ”์˜ ์œ„์น˜์™€ ๋ฐฉํ–ฅ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. Spacenav๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•œ๋‹ค:

sudo spacenavd

๋˜๋Š”

sudo service spacenavd restart
sudo spacenavd

Razer Hydra

์„ค์น˜ ๋ฉ”๋‰ด์–ผ์„ ์ฐธ๊ณ ํ•˜๋ผ. ์„ค์น˜๊ฐ€ ๋˜๋ฉด, ์˜ค๋ฅธ์ชฝ ํŒจ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค:

  1. ํ‚ค๋ณด๋“œ์˜ p, v, b ๋˜๋Š” n ๋ฌธ์ž: hydra ์ œ์–ด๋ฅผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” ํ•œ๋‹ค.
  2. ํ™œ์„ฑํ™”๋˜๋ฉด ํŒ” ์œ„์น˜์™€ ๋ฐฉํ–ฅ์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ํŒจ๋“ค์„ ์›€์ง์ธ๋‹ค.
  3. ๋ฒ„ํŠผ 1: ํŠธ๋ฆฌ๊ฑฐ๋กœ ์žก๊ธฐ์œ„ํ•œ ๋ฐ๋“œ๋จผ ์Šค์œ„์น˜.
  4. ํŠธ๋ฆฌ๊ฑฐ: ๋ฒ„ํŠผ 1์„ ๋ˆ„๋ฅด๊ณ  ์žˆ์œผ๋ฉด ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋‹ซํžˆ๊ณ  ์—ด๋ฆฐ๋‹ค.