๐ ๋ฒ๊ทธ ์ค๋ช
๋ก๋ดํ์ด ์์
์ํ ์ค ๋๊ตฌ(Tool) ํ์ง(Grip)์ ์คํจํ์ ๋, ์ ์๋ ํ ์์น(Home Position)๋ก ๋ณต๊ทํ์ง ์๊ณ ๊ทธ ์๋ฆฌ์ ๊ทธ๋๋ก ๋ฉ์ถฐ ์๋ ํ์์ด ๋ฐ์ํฉ๋๋ค.
๐ ์ฌํ ๋ฐฉ๋ฒ
๋ก๋ดํ์ ๊ฐ๋ํ์ฌ ๋๊ตฌ ํ์ง ์ํ์ค๋ฅผ ์์ํฉ๋๋ค.
๋๊ตฌ์ ์์น๊ฐ ์ด๊ธ๋ ์๊ฑฐ๋ ํก์ฐฉ/๊ทธ๋ฆฝ ์ผ์๊ฐ ๋ฏธ๋์ํ์ฌ ์๋์ ์ผ๋ก ํ์ง ์คํจ ์ํฉ์ ๋ง๋ญ๋๋ค.
ํ์ง ์คํจ ์กฐ๊ฑด(Timeout ๋๋ ์ผ์ ๋ฏธ์ธ์)์ด ์ถฉ์กฑ๋ ํ ๋ก๋ดํ์ ์์ง์์ ๊ด์ฐฐํฉ๋๋ค.
โ
๊ธฐ๋ํ ๋์
๋๊ตฌ ํ์ง์ ์คํจํ ๊ฒฝ์ฐ, ์์คํ
์ด ์๋ฌ๋ฅผ ๊ฐ์งํ๊ณ ์์ ์ ์ํด ์ฌ์ ์ ์ง์ ๋ ํ ์์น(Home Position)๋ก ์๋์ผ๋ก ๋ณต๊ทํด์ผ ํฉ๋๋ค.
โ ์ค์ ๋์
ํ์ง ์คํจ ์๋ฌ๊ฐ ๋ฐ์ํ ์ดํ, ๋ก๋ดํ์ด ํ ์์น๋ก ์ด๋ํ์ง ์๊ณ ์คํจํ ๊ทธ ์์น ๊ทธ๋๋ก ๊ฐ๋งํ ๋ฉ์ถฐ(Idle/Frozen) ์์ต๋๋ค.
๐ฅ๏ธ ์คํ ํ๊ฒฝ
- OS:
Ubuntu 22.04
- ROS 2 ๋ฒ์ :
ROS2 Humble
- Python ๋ฒ์ :
Python 3.10
- ๋ ํฌ์งํ ๋ฆฌ:
- ๋ธ๋์น:
- ์นด๋ฉ๋ผ ์ ๋ณด:
Intelยฎ RealSenseโข Depth Camera D435I
- ๋ก๋ดํ ์ ๋ณด:
Doosan-Robotics-M0609
- ๊ทธ๋ฆฌํผ ์ ๋ณด:
OnRobot RG2
๐ ๋ก๊ทธ ๋๋ ์๋ฌ ๋ฉ์์ง
[pkg] task | [pipe] task_runtime | [msg] "๊ทธ๋ฆฌํผ grasp ํ์ธ ์คํจ: status={'status': [0, 1, 0, 0, 0, 0, 0], 'width_mm': 11.5}"
[pkg] task | [pipe] task_runtime | [msg] "๋ฐ๋ฉ ๊ณต๊ตฌ grasp ์คํจ. ์ฌ์๋ ์ค๋น 3/5"
[pkg] task | [pipe] task_runtime | [msg] "๊ทธ๋ฆฌํผ๊ฐ ์์ ํ ๋ซํ ์ํ๋ก ํ๋จ๋์ด grasp ์คํจ๋ก ์ฒ๋ฆฌํฉ๋๋ค: width=11.5mm, threshold=12.0mm"
[pkg] task | [pipe] task_runtime | [msg] "๊ทธ๋ฆฌํผ grasp ํ์ธ ์คํจ: status={'status': [0, 1, 0, 0, 0, 0, 0], 'width_mm': 11.5}"
[pkg] task | [pipe] task_runtime | [msg] "๋ฐ๋ฉ ๊ณต๊ตฌ grasp ์คํจ. ์ฌ์๋ ์ค๋น 4/5"
[pkg] ui | [pipe] operator_ui | [msg] "์์ด ์ธ์๋์์ต๋๋ค."
[pkg] task | [pipe] task_runtime | [msg] "๊ทธ๋ฆฌํผ๊ฐ ์์ ํ ๋ซํ ์ํ๋ก ํ๋จ๋์ด grasp ์คํจ๋ก ์ฒ๋ฆฌํฉ๋๋ค: width=11.5mm, threshold=12.0mm"
[pkg] task | [pipe] task_runtime | [msg] "๊ทธ๋ฆฌํผ grasp ํ์ธ ์คํจ: status={'status': [0, 1, 0, 0, 0, 0, 0], 'width_mm': 11.5}"
[pkg] task | [pipe] task_runtime | [msg] "๋ฐ๋ฉ ๊ณต๊ตฌ grasp ์คํจ. ์ฌ์๋ ์ค๋น 5/5"
[pkg] ui | [pipe] operator_ui | [msg] "์์ด ์ธ์๋์์ต๋๋ค."
[pkg] task | [pipe] task_runtime | [msg] "๋ฐ๋ฉ ํ๋ฆ ์คํจ" | [tool] screwdriver | [reason] return_grasp_failed | [detail] "๋ฐ๋ฉ ๊ณต๊ตฌ grasp์ ์คํจํ์ต๋๋ค."
๐ ๋ฒ๊ทธ ์ค๋ช
๋ก๋ดํ์ด ์์ ์ํ ์ค ๋๊ตฌ(Tool) ํ์ง(Grip)์ ์คํจํ์ ๋, ์ ์๋ ํ ์์น(Home Position)๋ก ๋ณต๊ทํ์ง ์๊ณ ๊ทธ ์๋ฆฌ์ ๊ทธ๋๋ก ๋ฉ์ถฐ ์๋ ํ์์ด ๋ฐ์ํฉ๋๋ค.
๐ ์ฌํ ๋ฐฉ๋ฒ
๋ก๋ดํ์ ๊ฐ๋ํ์ฌ ๋๊ตฌ ํ์ง ์ํ์ค๋ฅผ ์์ํฉ๋๋ค.
๋๊ตฌ์ ์์น๊ฐ ์ด๊ธ๋ ์๊ฑฐ๋ ํก์ฐฉ/๊ทธ๋ฆฝ ์ผ์๊ฐ ๋ฏธ๋์ํ์ฌ ์๋์ ์ผ๋ก ํ์ง ์คํจ ์ํฉ์ ๋ง๋ญ๋๋ค.
ํ์ง ์คํจ ์กฐ๊ฑด(Timeout ๋๋ ์ผ์ ๋ฏธ์ธ์)์ด ์ถฉ์กฑ๋ ํ ๋ก๋ดํ์ ์์ง์์ ๊ด์ฐฐํฉ๋๋ค.
โ ๊ธฐ๋ํ ๋์
๋๊ตฌ ํ์ง์ ์คํจํ ๊ฒฝ์ฐ, ์์คํ ์ด ์๋ฌ๋ฅผ ๊ฐ์งํ๊ณ ์์ ์ ์ํด ์ฌ์ ์ ์ง์ ๋ ํ ์์น(Home Position)๋ก ์๋์ผ๋ก ๋ณต๊ทํด์ผ ํฉ๋๋ค.
โ ์ค์ ๋์
ํ์ง ์คํจ ์๋ฌ๊ฐ ๋ฐ์ํ ์ดํ, ๋ก๋ดํ์ด ํ ์์น๋ก ์ด๋ํ์ง ์๊ณ ์คํจํ ๊ทธ ์์น ๊ทธ๋๋ก ๊ฐ๋งํ ๋ฉ์ถฐ(Idle/Frozen) ์์ต๋๋ค.
๐ฅ๏ธ ์คํ ํ๊ฒฝ
Ubuntu 22.04ROS2 HumblePython 3.10Intelยฎ RealSenseโข Depth Camera D435IDoosan-Robotics-M0609OnRobot RG2๐ ๋ก๊ทธ ๋๋ ์๋ฌ ๋ฉ์์ง