Skip to content

[Bug] Robot arm freezes in place instead of returning home on grip failureย #251

@GunhoDo

Description

@GunhoDo

๐Ÿž ๋ฒ„๊ทธ ์„ค๋ช…
๋กœ๋ด‡ํŒ”์ด ์ž‘์—… ์ˆ˜ํ–‰ ์ค‘ ๋„๊ตฌ(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์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค."

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions