Atlas Keyboard Teleoperation over ROS - modulabs/gazebo-tutorial GitHub Wiki

Overview

์ด๋ฒˆ์žฅ์—์„œ๋Š” teleop ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค.

Setup

VRC_CHEATS_ENABLED=1 roslaunch drcsim_gazebo atlas_sandia_hands.launch

Teleop

Launch keyboard teleop

roslaunch drcsim_gazebo keyboard_teleop.launch

์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Keyboard Teleop for AtlasSimInterface 1.1.0
Copyright (C) 2013 Open Source Robotics Foundation
Released under the Apache 2 License
--------------------------------------------------
Dynamic linear movement:

        i
   j         l
        ,

Dynamic turn movements:
u/o Turn left/right around a point
m/. Turn left/right in place


Static linear movement:

        I
   J         L
        <

Static turn movements:
U/O Turn left/right around a point
M/> Turn left/right in place

1-9: Change the length of step trajectory
'-'/'=': Increase/Decrease Stride Length
E: View and Edit Parameters
H: Print this menu
R: Reset robot to standing pose
Q: Quit

Initializing/Resetting the robot

'R'์„ ๋ˆ„๋ฅด๋ฉด ๋กœ๋ด‡์ด BDI-control์— ์˜ํ•ด ์„œ์žˆ๋Š” ์ž์„ธ๋กœ ์›€์ง์ธ๋‹ค. ๋‹ค๋ฅธ ๋ช…๋ น์–ด๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— ์ผ๋‹จ ์ฒ˜์Œ์— ์ด๊ฒƒ์„ ํ•œ๋ฒˆ ์ˆ˜ํ–‰ ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ์–ธ์ œ๋“ ์ง€ ์ด๊ฒƒ์„ ๋‹ค์‹œ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.(e.g., ๋กœ๋ด‡์ด ๋„˜์–ด์ง„ ์ดํ›„๋ผ๋„)

Movements

i๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•ž์œผ๋กœ, ,๋Š” ๋’ค๋กœ ์›€์ง์ธ๋‹ค. j๋Š” ์™ผ์ชฝ ์˜†์œผ๋กœ l์€ ์˜ค๋ฅธ์ชฝ ์˜†์œผ๋กœ ์›€์ง์ธ๋‹ค.

ํ•œ ํฌ์ธํŠธ์—์„œ 2๋ฏธํ„ฐ ๋ฐ˜๊ฒฝ์œผ๋กœ O๋ฅผ ๋ˆ„๋ฅด๋ฉด ์™ผ์ชฝ์œผ๋กœ U๋ˆ„๋ฅด๋ฉด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ˆ๋‹ค.

M, >๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•œ ํฌ์ธํŠธ ์ฃผ๋ณ€์„ ๋กœ๋ด‡์ด ๋ˆ๋‹ค.

์ด๊ฒƒ์€ Atlas๊ฐ€ 2m ์›์„ ๋„๋Š” ๊ทธ๋ฆผ์ด๋‹ค.

Atlas์˜ ์ •์  ๋ณดํ–‰๋„ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•˜๋‹ค.( I, <, J, L ๊ฐ ๊ฐ์„ ๋ˆ„๋ฅด๋ฉด ๋กœ๋ด‡์€ ์•ž, ๋’ค, ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์›€์ง์ธ๋‹ค.)

Changing parameters

๋ณดํ–‰ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์‹คํ—˜๊ณผ ๊ด€๋ จํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆซ์ž ๋˜ํ•œ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. Eํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ • ํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉฐ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

0 : Walk Sequence Length  5
1 : Forward Stride Length 0.15
2 : Step Height           0
3 : Stride Duration       0.63
4 : Stride Width          0.2
5 : Lateral Stride Length 0.15
6 : In Place Turn Size    0.196349540849
7 : Swing Height          0.3
8 : Turn Radius           2
X : Exit
Enter number of param you want to change:

๋ณ€ํ™” ์‹œํ‚ค๊ณ ์ž ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ž…ํ•˜๊ณ  Enter๋ฅผ ๋ˆ„๋ฅธ๋‹ค. ์•ž์ชฝ์œผ๋กœ ๋ณดํ–‰ ํญ์˜ ๊ธธ์ด๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ณ ์ž ํ•œ๋‹ค๋ฉด 1์„ ๋ˆ„๋ฅด๊ณ  Enter๋ˆ„๋ฅธ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œฌ๋‹ค.

New value for Forward Stride Length [min: 0, max: 1, type: float]?

0.3์„ ๊ธฐ์ž…ํ•˜๊ณ  ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๋ณดํ–‰ ํญ์˜ ๊ธธ์ด๋ฅผ ์ฆ๊ฐ€ ์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ x๋ฅผ ๊ธฐ์ž…ํ•˜๊ณ  Enter๋ฅผ ๋ˆŒ๋Ÿฌ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚œ๋‹ค.

i๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋กœ๋ด‡์ด 1.5๋ฏธํ„ฐ ์•ž์œผ๋กœ ๊ฑธ์„ ๊ฒƒ์ด๋‹ค.

์•ž์œผ๋กœ ๋ณดํ–‰ ํญ์€ 0.4๋ฏธํ„ฐ ์ดํ•˜๋ฅผ ์œ ์ง€ํ•˜๊ธฐ๋ฅผ ์ถ”์ฒœํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ธก๋ฉด ์›€์ง์ž„์€ 0.5๋ฏธํ„ฐ ์ดํ•˜๋ฅผ ์ถ”์ฒœํ•œ๋‹ค. ๊ฑธ์Œ ์ฃผ๊ธฐ๋Š” 0.75์™€ 0.55 ์‚ฌ์ด๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์€ ๋ณดํ–‰ ํญ์˜ ์„ ํƒ์— ์˜์กด ๋œ๋‹ค.

Exiting

Q ๋ฅผ ๋ˆŒ๋Ÿฌ keyboard_teleop.py๋…ธ๋“œ๋ฅผ ์ข…๋ฃŒ ์‹œํ‚ค๊ณ  Ctrl-C๋ฅผ ํ†ตํ•ด roslaunch๋ฅผ ์ฃฝ์ธ๋‹ค.

Known Issues

  • ์†์„ ๊ฐ€์ง„ Atlas ๋ชจ๋ธ์ด ์ œ์ž๋ฆฌ์—์„œ ํšŒ์ „ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ์•ˆ์ •ํ•˜๋‹ค. ๋Œ€์‹ ์— ํ•œ ํฌ์ธํŠธ ์ฃผ๋ณ€์„ ํšŒ์ „ํ•˜๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ trajectory ๊ณ„ํš์„ ํ•˜์—ฌ๋ผ. Ticket