몸체와 네 개의 Revolute Joints로 구성된 캐릭터가 포함 된 JBox2D를 사용하여 간단한 시뮬레이터를 만들었습니다. 문제가 생겼습니다 : 관절 각, 관절 속도 및 몸통 위치/회전 속도/각속도 목록이 주어지면이 캐릭터의 '자세'를 정확히 복원해야합니다.RevoluteJoint 각도와 속도를 정확히 설정하려면 어떻게해야합니까?
몸체 상태에 편리한 게터와 세터가 있지만, 관절 각을 그들이 필요한 위치 (움직이는 물체)로 강제 변환하는 좋은 방법을 찾을 수 없습니다. 이 사이트의 몇 가지 솔루션은 조인트를 원하는 각도로 움직이게하는 조인트 모터를 얻으려고 기본적인 피드백 시스템을 설정하는 것이 좋지만이 방법은 부정확하고 집중적으로 계산되는 것처럼 보입니다. 나는이 값들을 직접 설정하는 방법을 찾는 것이 이상적이다.
최후의 수단으로 순방향 운동을 사용하여 모든 번역 및 회전을 직접 계산할 수 있지만 더 쉬운 방법이있을 수 있습니다.
도움을 주시면 감사하겠습니다. 감사.
모든 연결된 몸체의 위치 (속도, 각도, 각속도, 즉 [x, v, \ theta, \ omega])와 관절 속성 (각도, 각속도)이 주어진 경우, 다른 모든 것에 대해 [x, v, \ theta, \ om] 튜플을 풀 수 있어야합니다. setTransform() 및 다른 setter를 사용하면 다음 시뮬레이션 틱에서 접합점에 문제가 발생합니까? – amm
아니요, 설정하는 것이 의미가있는 한 (이전에 실행중인 시뮬레이션에서 값을 복원하는 경우)해야합니다. – iforce2d