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