Skip to content

darkhtk/ik_meta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– IK Meta β€” VR λ‘œλ΄‡ 원격 μ‘°μ’… μ‹œμŠ€ν…œ (IK 솔버 + UDP λΈŒλ¦Ώμ§€)

Meta Quest 3 VR 컨트둀러둜 μ‚°μ—…μš© λ‘œλ΄‡μ„ μ‹€μ‹œκ°„ 원격 μ‘°μ’…ν•˜λŠ” XR μ‹œμŠ€ν…œ 자체 IK 솔버 + 4-μŠ€λ ˆλ“œ UDP μ‹€μ‹œκ°„ λΈŒλ¦Ώμ§€

πŸ“‹ ν”„λ‘œμ νŠΈ κ°œμš”

Unity VR μ•±μ—μ„œ 자체 κ΅¬ν˜„ν•œ IK μ†”λ²„λ‘œ λ‘œλ΄‡ κ΄€μ ˆμ„ κ³„μ‚°ν•˜κ³ , Python UDP λΈŒλ¦Ώμ§€λ₯Ό 톡해 μ‹€μ œ λ‘œλ΄‡(myCobot 280)에 λͺ…령을 μ „λ‹¬ν•˜λŠ” μ‹œμŠ€ν…œ. 이후 Doosan A0912 μ‚°μ—…μš© λ‘œλ΄‡μœΌλ‘œ ν™•μž₯λ˜μ–΄ μ—‘μŠ€ν¬ μ „μ‹œμ— 성곡.

πŸ”§ 기술 μŠ€νƒ

Unity C# Meta Quest 3 Python pymycobot UDP Socket IK (Jacobian) Burst/Job System

✨ 핡심 κΈ°λŠ₯

Unity β€” 자체 IK 솔버 (RuntimeIK)

  • Jacobian 기반 6DOF IK 솔버 β€” JointDef / JointLimit / JointType(Revolute/Prismatic)
  • κ΄€μ ˆλ³„ Weight Override β€” νŠΉμ • κ΄€μ ˆμ˜ μ›€μ§μž„ 비쀑 쑰절
  • External Feedback β€” λ‘œλ΄‡ μΈ‘μ •κ°’(measured q)을 seed둜 μ£Όμž…
  • νƒ€κ²Ÿ Rate Limit β€” μ΅œλŒ€ 선속도(m/s), 각속도(deg/s) μ œν•œ
  • κ΄€μ ˆ 좜λ ₯ Smoothing β€” 성곡/μ‹€νŒ¨ μ‹œ 별도 SmoothTime 적용
  • SolveFlags β€” Success / UnreachablePos / Singularity / TooFast / Diverged λ“± μƒνƒœ 좔적
  • IkMotion μ‹œμŠ€ν…œ β€” λ…Ήν™”(Recorder) β†’ μ €μž₯(Storage) β†’ μž¬μƒ(Player) λͺ¨μ…˜ νŒŒμ΄ν”„λΌμΈ

Python β€” 4-μŠ€λ ˆλ“œ UDP μ‹€μ‹œκ°„ λΈŒλ¦Ώμ§€

Unity CMD β†’ UdpCmdReceiver β†’ λͺ…λ Ή νŒŒμ‹±/검증
                                    ↓
                          RobotCommandSender β†’ λ‘œλ΄‡ μ œμ–΄
                                    ↓
                          RobotStateReader β†’ κ΄€μ ˆ μƒνƒœ 읽기
                                    ↓
                          UdpStateSender β†’ Unity둜 STA νŒ¨ν‚· 전솑
  • 연속 κ΄€μ ˆ 등가각 선택 (choose_limit_aware_equivalent) β€” ν•˜λ“œμ›¨μ–΄ 리밋 λ‚΄μ—μ„œ 졜적 각도 μžλ™ 선택
  • Deadband / Resend Skip / Steady-state Suppression β€” λΆˆν•„μš”ν•œ λͺ…λ Ή 전솑 λ°©μ§€
  • Resync 둜직 β€” measured/last_sent λ“œλ¦¬ν”„νŠΈ 감지 μ‹œ μžλ™ μž¬λ™κΈ°ν™”
  • 동적 속도 계산 β€” κ΄€μ ˆ λ³€μœ„μ— λ”°λ₯Έ 속도 μžλ™ 쑰절
  • ν•˜λ“œμ›¨μ–΄ κ΄€μ ˆ 리밋 ν΄λž¨ν”„ β€” 6μΆ• 각도 μ œν•œ

μ•ˆμ „ 둜직

  • κ΄€μ ˆ 리밋 ν΄λž¨ν”„ (6μΆ• κ°œλ³„)
  • 속도·가속도 μ œν•œ
  • 특이점(Singularity) 감지
  • deg/rad ν˜Όλ™ λ°©μ§€ νœ΄λ¦¬μŠ€ν‹±

πŸ”— κ΄€λ ¨ 링크

ꡬ뢄 링크
IK + Teaching VR λ‘œλ΄‡ YouTube Shorts
닀쀑 λ‘œλ΄‡ VR μ‘°μž‘ YouTube Shorts
IK + Damping 물리 YouTube Shorts
TCP IK 좔적 λ‘œλ΄‡ YouTube Shorts
MetaArm (μ „μ‹œ ν”„λ‘œμ νŠΈ) darkhtk/MetaArm

πŸ€– AI ν˜‘μ—… 개발

IK 솔버, UDP λΈŒλ¦Ώμ§€ 전체λ₯Ό Claude Code ν’€ λ°”μ΄λΈŒ μ½”λ”©μœΌλ‘œ κ΅¬ν˜„. 10λ…„κ°„μ˜ 도메인 μ§€μ‹μœΌλ‘œ AIμ—κ²Œ μ •ν™•ν•œ 기술 μ œμ•½Β·μ•„ν‚€ν…μ²˜λ₯Ό μ „λ‹¬ν•˜μ—¬ μ‚°μ—…μš© μˆ˜μ€€μ˜ μ½”λ“œλ₯Ό AI ν˜‘μ—…λ§ŒμœΌλ‘œ ꡬ좕.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors