포럼글 답변 달 때 고민하는 것

Gamasutra의 글을 읽다가 뭔가 거창한 제목 — 예를 들어 오늘 RSS 리더에 올라온 An Easy Way Of Solving Complex Mathematical Models: The Finite Difference Scheme— 을 하고 다루는 내용은 딱 학부 저학년 수준의 내용을 다루는 글들이 올라올 때가 있다. 게다가 그런 글일수록 내용은 더 자세함(…).

반대로 지금까지 배운 것들을 바탕으로 봐도 “이게 뭔 소리여” 싶은 것들도 있고 — 이런 것들은 세부 설명도 없다. Orz.

위에서 링크한 글의 경우 학부 1학년 2학기 혹은 2학년 1학기에 배우게되는 공학 수학;engineering math. 의 수치해석에서 배우는 가장 간단한(…) partial differential equation;PDE를 푸는 방법 중 하나 -_-a 물론 컴퓨터로/유한한 격자로 쪼개서/수치해석으로 푸는 방법이긴한데 -_-;;

게임 개발자들이 많이 보이는 GPG 포럼에서도 가끔 느끼게 되는거지만, 질문글을 보면 답변을 쓸 때 생각하게 되는게 두 가지.

  • 이건 수학/응용수학책의 이러이러한 거 읽어보라고 하면 끝이다
  • 이건 이런 성절이 있어서 / 이걸 작성하고 / 저걸 구현하면 나온다

라는 식의 두 가지 설명을 할 수 있는데 어떤 쪽으로 설명할지가 좀 애매하다 -_-; 다른 글들의 답변글을 봐도 어떤 문제인지만 설명해주는 사람과 / 푸는 방법을 설명해주는 사람이 있는데 사실 문제가 정확히 뭔지 알 수 있으면 답변이 나온거라고 믿는(…) 사람들에게는 전자가 훨씬 간단하고/오해의 소지도 없거든 -_-a

얼마 전에 GPG 스터디 포럼에서 inverse kinematics 문제 중 하나를 물어보는 사람이 있었는데, 나는 굉장히 어정쩡한 수준의 답변을 적어줬다. 정확히는,

  • 2차원에 놓인 로봇 팔이 있고
  • 로봇 팔에는 k개의 관절이 있으며 (k >= 2)
  • 특정 지점으로 팔 끝을 가져가는 알고리즘이 필요하다

라는 문제였다 — 근데 이게 가장 잘 알려진(…) IK 문제라서 -_-a,

  1. 각 관절의 각도 변화에 대한 위치의 변화의 Jakovian을 구하고,
  2. 최적의 (관절;각도) 변화 방향을 수치적으로 풀고
  3. 적용하고 다시 1로

의 반복으로 풀린다[…]. 근데 이걸 얼마나 세부적으로 설명하느냐의 문제는 뭔가 너무 고민스럽다;

1만 해도 야코비안이 뭔지 아는 사람과 / 모르는 사람 — 그러니까 대학 초급 수준의 미적분학 교육을 받았는지 여부 — 의 차이가 있고, 3D하는 사람 중에 아예 편미분을 모르는 사람도 있다는걸 다른 포럼에서 경험한 적도 있으니 -_-;;

2도 수치 해법의 경우 다양한 방법을 쓸 수 있다. 느리지만 굉장히 안정적인 SVD를 써서 (pseudo) 역행렬을 구해서 풀 수도 있고, 최적화 문제로 바꿔서 풀 수도 있고 -_-a 선택의 문제가 좀 많다(…).

그리고 1+2+3을 합쳐서 아예 다른 휴리스틱을 써서 푼 경우도 봤었다 — 모든 관절 부위가 동등한 녀석의 IK 문제 논문을 읽었던듯.

즉 포럼글에 답변을 쓸 때마다,

  • 설명할 도메인/수준을 고르는 문제
  • 설명할 내용의 방향

…을 고민한다. 그리고 “적당한” 영역에 대한 답은 아직도 모르겠다. 에휴;

Jinuk Kim
Jinuk Kim

SW Engineer / gamer / bookworm / atheist / feminist

Articles: 935

9 Comments

  1. gpg의 분위기가 좀 “대학가서 뭐하냐” 이런 말씀을 하시는 분들이 많던데, 이런 문제는 답변 달기 힘들겠네요. 저 같으면 “동역학/기구학 수업 중 하나 들으면 됩니다” 라고 답변 달고 싶군요. 제대로 이해 좀 하려면 고교 수학은 기본에다 미적/선대 등 이것저것 필요한게 많은데 왜 그렇게 대학 공부가 시간 낭비라고 생각하시는 분들이 많은지.. 김명수 교수님이 왕년에 로보틱스를 하셔서 그런지 숙제 예도 이런게 나오네요.

  2. 어떤 면에서는 (법률, 의학, 금융과 같은 다른 분야들 처럼) 프로그래머들도 자격 혹은 면허증 발급하고, 자격자들 끼리 단체를 형성하는 것이 (이공계 기피 현상 방지 등) 궁극적으로는 좋지 않을까 생각합니다.

    그리고, 많이 보던 내용이 나와서 살짝 태클…
    Jakovian이 아니라 Jacobian 아닌가요? (http://en.wikipedia.org/wiki/Jacobian )
    저는 “자코비안”이라고 많이 불렀는데, “야코비안”이라고 부르는 분들도 계셨군요. Wikipedia에 보니 그게 표준 발음에 더 가까운 것 같기는 하네요.

  3. object / 대학/학원의 차별화가 기초 지식을 얼마나 주느냐가 되겠죠 -_-; 밑바닥을 알면 윗쪽을 쌓는 속도에서 확실히 차이가 나는데;;
    근데 김명수교수님도 로보틱스 하셨나요. 김명수 교수님 보다 나중에 온 그래픽스 교수님은 확실히 로보틱스 하셨던거 같은데(포닥도 CMU였고);

    산오리 / Jacobian이군요(…);
    전 미적/선대에서 야코비 행렬/야코비안으로 배워서 -_-a

  4. 김명수 교수님은 수학교육과 졸업하고 수학교육과/수학 석사받고 -_-; 퍼듀로 가셔서 수학하다가 때려치고 로보틱스 (CS쪽으로)로 박사 받고 포항공대에 한 10년 있다가 서울대로 오셨죠. 로보틱스는 미국에선 상당히 인기있는데 기계에서도 당연히 많이 하고요, CS에서는 비전/AI/머신러닝 쪽으로 해서 많이 합니다. 일본은 휴머노이드가 많이 발달되어있지만 미국은 주로 unmanned vehicles쪽이라서 비전과 알고리즘이 특히 중요하죠. 대표적으로 자동차에 카메라 센서 컴퓨터 달고 무인 주행하는 것과 같은 대회도 하고 그렇습니다.

  5. 김명수교수님 이력이 그렇군요;;;

    일본/미국은 국민성 차이인지 문화적인 토양차이인지 로보틱스쪽 주분야?가 무척 다른 것 같네요;

  6. 일본은 혼다의 아시모처럼 사람을 닮은 (어떻게 보면 당장 유용하진 않죠) 로봇에 무척 관심이 많습니다. 이제는 뛰어 다니죠. 뛰는 것을 위에 언급한 기구학으로 풀기가 굉장히 어렵습니다. 반면에 미국은 로봇을 대부분 군사목적으로 쓸 생각을 하고 있습니다. 그래서 대부분의 펀드도 국방부에서 나오죠. 역시나 그런 것이죠.

  7. object / 인간형 로봇은 엔지니어의 로망!(틀려!)

    미국/일본 차이는 역시나 그런것이군요;; 국방부에서 펀딩하는데
    “얘가 뛰어다닐 수 있어요!” 하고 좋아하는건 의미가 없겠죠;;

Leave a Reply