Openmanipulator_Setup - kairproject/kair_algorithms_draft GitHub Wiki
Setup
๊ธฐ๋ณธ์ ์ธ OpenManipulator ์๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Hardware ์ฐ๊ฒฐ ๋ฐ ์ฐ๊ฒฐ ์ฒดํฌ
Hardware ๊ฐ ๋ถ์ ์ฌ์ง
Manipulator | U2D2 | Board |
Hardware ์ ์ฐ๊ฒฐ
- U2D2(๋นจ๊ฐ์ ๋ค๋ชจ)๊ณผ ์ฐ๊ฒฐ๋ USB๋ฅผ ์๋ฒ ์ปดํจํฐ์ ์ฐ๊ฒฐํ๋ค.(์ฐ๊ฒฐ๋๋ฉด ๋ถํ์ ๋ถ์ด ๋ค์ด์จ๋ค.)
- ๋ณด๋(ํ๋์ ๋ค๋ชจ)์ ์ฐ๊ฒฐ๋ ๋จ์๋ฅผ ์ฝ์ผํธ์ ์ฐ๊ฒฐํ๋ค.
- ์ ์์ ์ผ์ง ์๋๋ค.
- ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ๊ฒฐํ๋ค.
USB ์ฐ๊ฒฐ ์ฒดํฌ
[๋ํ๋ Mixcell ์ฐ๊ฒฐ์ฒดํฌ ํ๋ ์ด์ ์ ์ด์ฃผ์ธ์.]
-
Mixcell์ ์ผ์ ํ์ฌ USB๊ฐ ์ฐ๊ฒฐ๋ ์์น๋ฅผ ํ์ธํ๋ค.
- Terminal์
mixcell
๋ช ๋ น ์คํ (์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์คํ๋ฉ๋๋ค.)
- Terminal์
-
BAURATE=1000000, MAX. ID=100์ผ๋ก ์ค์ ํ๋ค.
-
์๋ ๊ทธ๋ฆผ์์ PORTS๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉด์ SCAN ๋ฒํผ์ ๋๋ฅธ๋ค.
- ์คํ ๊ฒฐ๊ณผ (์๋ Error message๋ ๋ฌด์ํด๋ ๋๋ค. (ํ๋์ ๋ค๋ชจ))
์ฐ๊ฒฐ๋ USB์ผ ๋ | ์ฐ๊ฒฐ๋ USB๊ฐ ์๋ ๋ |
---|---|
[๋ํ๋ ์๋ ์์ ์ฒดํฌ ํ๋ ์ด์ ์ ์ด์ฃผ์ธ์.]
~/catkin_ws/src/modud_kair_control/scripts
path์ ํ์ผ๋ค ์คpos_read_write.py
ํ์ผ์์DEVICENAME='dev/ttyUSB0'
์ ๊ฐ์ด SCAN์ด ๋๋ PORT๋ฅผ ์ ๋ ฅํ๋ค.- ์ฑ๊ณต ์
- ์ฑ๊ณต ์
์คํ
-
๋ณด๋ ์ ์์ ์ผ ๋ค.
-
terminal์ ์คํํ๋ค. (๊ฐ ๋ช ๋ น๋ง๋ค ๊ฐ๋ณ์ ์ธ terminal์ ์คํํ๋ค.)
roscore
์คํ.rosrun modud_kair_control pos_read_write.py
์คํ.(์ด ๋, ์ฃผ์ํ ์ ์ ์ผฐ์ ๋์ ์์น๋ก manipulator๊ฐ ๊ณ ์ ๋๊ธฐ ๋๋ฌธ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์์ผ๋ก ๋ฐ์ณ์ค๋ค.)- ์์ ์ํ ๊ทธ๋ฆผ.
- ์์ ์ํ ๊ทธ๋ฆผ.
rosrun modud_kair_control open_manipulator_position_control.py
์คํ.rosrun modud_kair_control open_manipulator_goal_publisher.py
์คํ. ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด 0, 1, 2, 3์ ๊ณ ๋ฅผ ์ ์๋ค.- 0 ์ ์
๋ ฅํ๋ฉด ์๋์ ๊ฐ์ด ์ด๊ธฐ ์ํ๋ก ๋ณ๊ฒฝ๋๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค. (3, 4๋ ์
๋ ฅํ์ง ๋ง์. ํ์ฌ step input์ผ๋ก ๊ตฌํ๋์ด ์์ด์ ๋น ๋ฅด๊ฒ ์์ง์ธ๋ค.)
- ์คํ ๋ชจ์ต
- 0 ์ ์
๋ ฅํ๋ฉด ์๋์ ๊ฐ์ด ์ด๊ธฐ ์ํ๋ก ๋ณ๊ฒฝ๋๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค. (3, 4๋ ์
๋ ฅํ์ง ๋ง์. ํ์ฌ step input์ผ๋ก ๊ตฌํ๋์ด ์์ด์ ๋น ๋ฅด๊ฒ ์์ง์ธ๋ค.)
์ข ๋ฃ
- Terminal ์ข
๋ฃ ์์
open_manipulator_goal_publisher.py
open_manipulator_position_control.py
pos_read_write.py
- ๋ณด๋์ ์ ์ OFF์ ๋ก๋ด์ด ๋ฐ๋ฅ์ ๋จ์ด์ ธ ์ถฉ๊ฒฉ์ ๋ฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋์ ๊ฐ์ด ๋ก๋ด์ ์์ผ๋ก ์ก์ ์ฑ๋ก ๊บผ์ค๋ค.