모바일 매니퓰레이터 시뮬레이션을 위한 로봇 물리 엔진의 성능 평가
CopyrightⓒKROS
Abstract
A mobile manipulator is capable of handling a wide range of workspaces by overcoming the limitations of mobility inherent in existing fixed-base manipulators. To simulate the mobile manipulator, two contact operations should be considered in the physics engines. One of these operations is the grasp stability between the gripper and the object, while the other involves the contact between the wheels of the mobile robot and the ground during driving. However, it is still difficult to choose an appropriate physics engine for simulating these contact operations of the mobile manipulator. In this paper, the performance of physics engines for simulating the mobile manipulator is evaluated. Firstly, the grasp stability of the physics engine is quantitatively evaluated based on the contact force discontinuity. Secondly, when the mobile robot is controlled by open or closed-loop control methods, differences in the path taken by the mobile robot depending on the physics engine are analyzed. To assess the performance of robot simulation, three dynamic simulators—MuJoCo, CoppeliaSim, and IsaacSim—are used along with five physics engines: MuJoCo, Newton, ODE, Bullet, and PhysX.
Keywords:
Simulation, Mobile Manipulator1. 서 론
모바일 매니퓰레이터는 공장 자동화, 우주 탐사 로봇 등과 같이 복잡하고 정교한 작업이 요구되는 환경에서 사람을 대신하여 작업을 수행하기 위해 연구 및 개발되어 왔다. 기존의 매니퓰레이터는 로봇의 몸통이 바닥에 고정되거나 레일에 종속되어 이동성의 제약이 있었으나, 모바일 매니퓰레이터는 바퀴를 통해 작업이 요구되는 장소로 직접 이동하여 기존의 매니퓰레이터가 가지는 한계를 극복할 수 있도록 하였다. 앞서 언급된 특정한 환경에서, 모바일 매니퓰레이터는 센서를 통해 환경을 감지하고 환경 구성에 따라 작업에 대한 결정을 내릴 수 있어야 하며, 결정된 작업을 정교하게 수행할 수 있어야 한다. 하지만, 초기 환경 구성 단계에서 실제 로봇과 센서를 이용해 이러한 실험을 하는 것은 비용과 시간에 대한 많은 희생이 요구된다. 이러한 한계를 극복하고 비용과 시간을 절감할 수 있는 대안은 로봇 시뮬레이션[1-4]을 활용하는 것이다. 모바일 매니퓰레이터의 시뮬레이션은 두 가지의 접촉 작업이 요구된다. 첫 번째는 매니퓰레이터의 안정적인 물체 파지 작업이다. 로봇 시뮬레이션에서 사용되는 물리 엔진들은 각각 다른 접촉 모델이 사용되기 때문에 동일한 작업에 대해 물체와 그리퍼 사이의 접촉력과 관통의 정도가 다르게 나타난다. 두 번째로 모바일 로봇이 이동할 때 발생하는 바퀴와 지면의 접촉이다. 동일한 바퀴 각속도 입력에 대해 물리 엔진에 따라 바퀴와 지면의 접촉에 의한 모바일 로봇의 구동 경향이 다르게 나타나게 된다. 본 논문에서는, 모바일 매니퓰레이터 시뮬레이션에 적합한 물리 엔진을 선정하기 위해 매니퓰레이터의 물체 파지와 모바일 로봇의 경로 주행을 통해 물리 엔진을 평가한다.
로봇 시뮬레이션의 성능 평가를 위해 동역학 시뮬레이터 MuJoCo, CoppeliaSim, IsaacSim이 사용되었고, 물리 엔진 MuJoCo, Newton, ODE, Bullet, PhysX가 사용되었다.
본 논문은 총 5장으로 구성되어 있다. 2장에서는 물리 엔진 평가와 관련된 선행 연구와 본 논문에서 진행된 모바일 매니퓰레이터 시뮬레이션을 위한 물리 엔진의 평가 항목이 소개된다. 3장에서는 평가 방법과 평가 환경이 소개된다. 추가로, 4장에서는 5개의 물리 엔진에 대한 평가 결과를 설명한다. 마지막으로, 5장에서는 결론이 논의된다.
2. 선행 연구 및 평가 항목
로봇은 접촉력에 의해 환경과 상호작용하기 때문에, 로봇과 환경이 상호작용하는 시나리오를 시뮬레이션하기 위해서는 물리 엔진의 정확하고 빠른 접촉 연산이 필수적이다. 이러한 중요성에 따라, 많은 연구에서 로봇 시뮬레이션의 정확한 접촉 연산을 위한 알고리즘이 제안되었다[5-8]. 2.1절에서는 정확하고 빠른 로봇 시뮬레이션을 위해 물리 엔진과 접촉 모델을 평가하였던 기존의 선행 연구가 소개된다. 다음으로, 2.2절에서는 모바일 매니퓰레이터의 시뮬레이션을 위한 물리 엔진의 평가 항목이 소개된다.
2.1 선행 연구
Erez 등은 시뮬레이션 연산 주기에 따른 물리 엔진의 평가 방법들을 제안하였다[9]. 이 논문에서는, 시뮬레이션 연산 주기가 점차 증가하였을 때, 동역학 시나리오의 접촉 연산 결과의 일관성을 평가 기준으로 설정하여 물리 엔진들을 평가하였다. 결과적으로, 로봇과 관련된 시나리오에서는 MuJoCo가 가장 높은 일관성을 보여주었고, PhysX와 Havok은 가장 낮은 일관성을 보여주었다. 또한, MuJoCo는 로봇과 관련된 시나리오에서 가장 정확한 접촉 연산 결과와 빠른 연산 속도를 가지는 것을 보여주었다.
Kang 등은 동역학 모델의 분석해와 운동량 보존 법칙을 사용하여 물리 엔진들을 평가하였다[10]. 단일 강체와 같은 간단한 동역학 모델의 경우, 뉴턴의 강체 역학과 쿨롱 마찰 모델을 통해 얻은 분석해와 물리 엔진의 접촉 연산에 의한 수치해를 비교하여 물리 엔진들을 평가하였다. 또한, 4족 보행 로봇과 같은 복잡한 동역학 모델의 경우, 중력, 외력 그리고 마찰이 없는 상황에서 충돌 시 운동량 보존의 여부를 통해 물리 엔진들을 평가하였다. 결과적으로, ODE는 단일 강체 모델에서 좋은 성능을 가지며, MuJoCo와 DART는 다물체 동역학 모델에서 좋은 성능을 가지는 것을 보여주었다. 또한, Bullet은 마찰 접촉에 의한 물체의 미끄러짐을 효과적으로 시뮬레이션할 수 있음을 보여주었다.
Drumwright 등은 다양한 동역학 시나리오를 통해 4개의 접촉 모델을 평가하였다[11]. 이들은 매니퓰레이터가 물체를 파지한 상태에서 목표 경로를 추종하도록 제어하였을 때, 파지와 접촉 연산의 성공 여부를 기준으로 접촉 모델을 평가하였다. 추가로, 모바일 로봇이 목표 경로를 추종하도록 폐루프 제어하였을 때, 추종 여부를 기준으로 모바일 로봇 시뮬레이션을 위한 적합한 접촉 모델을 평가하였다.
Yoon 등은 다접점 접촉 시나리오에 적합한 물리 엔진을 평가하였다[12]. 이 논문에서는, 산업 환경에서 주로 사용되는 펙인홀(peg-in-hole), 나사 체결과 같은 상황을 통해 접촉점에 따른 물리 엔진의 접촉 안정성을 비교 및 분석하였다. 펙인홀 시나리오의 경우, 발생하는 접촉력의 불연속 정도를 비교하여 펙인홀 시나리오에 적합한 물리 엔진을 평가하였다. Bullet은 다른 물리 엔진들에 비해 상대적으로 부드럽고 정확한 접촉력 결과를 보여주었으며, ODE는 다른 물리 엔진들에 비해 상당히 불연속적인 접촉력 결과를 확인할 수 있었다.
위의 연구들은 로봇과 환경이 상호작용하는 다양한 동역학 시나리오를 시뮬레이션하여 접촉 모델 및 물리 엔진을 평가하였고, 시나리오를 수행하기 위해 적합한 물리 엔진이 무엇인지 파악할 수 있도록 하였다. 하지만 다양한 동역학 시나리오를 고려할 때 다른 물리 엔진보다 일관되게 나은 결과를 나타내는 물리 엔진이 아직 없음을 공통적으로 보여주었다.
2.2 평가 항목
1) 매니퓰레이터 파지: 로봇이 그리퍼를 통해 물체를 파지할 때 발생하는 접촉력의 불연속을 분석하여 물리 엔진의 접촉 안정성을 평가한다. 기존의 선행 연구에서는 시뮬레이션 연산 주기 또는 접촉 모델을 달리하였을 때 파지의 성공 여부를 통해 그리퍼 파지에 대한 물리 엔진의 접촉 안정성을 평가하였다[9,11]. 또한, 그리퍼와 물체가 접촉할 때 발생하는 접촉력의 불연속을 정성적으로 비교하여 펙인홀 시나리오에 대한 물리 엔진의 접촉 안정성을 평가하였다[12]. 본 논문에서는 물리 엔진별 시뮬레이션 전체 구간에 발생하는 접촉력의 불연속을 이동 분산을 통해 정량적으로 확인한다. 이동 분산의 평균값이 적은 다시 말해, 접촉력의 불연속이 적은 물리 엔진일수록 접촉 안정성이 높은 물리 엔진이라고 평가한다.
2) 모바일 로봇 주행: 모바일 로봇 시뮬레이션의 사용 목적은 크게 두 가지로 분류할 수 있다.
첫 번째 목적은 모바일 로봇과 환경을 실제와 유사하게 동역학 모델링하여, 모바일 로봇이 목표 경로를 추종하도록 제어하였을 때 환경과 상호작용하여 나타난 결과를 확인하는 것이다. 모바일 로봇은 바퀴와 지면의 접촉에 의한 반발력으로 이동하기 때문에, 물리 엔진을 통해 계산된 접촉력에 의해 다른 구동 경향을 가질 것이다. 본 논문에서는, 이러한 사실을 바탕으로 모바일 로봇을 개루프 및 폐루프 제어하였을 때 물리 엔진에 따른 모바일 로봇 이동 경로들의 차이점을 분석한다. 기존의 선행 연구에서는 모바일 로봇을 폐루프 제어할 때 경로 추종 여부를 통해 접촉 모델을 평가하였지만[11], 본 논문에서는 모바일 로봇이 목표 경로를 추종할 때 물리 엔진에 따라 다르게 나타나는 모바일 로봇의 구동 양상을 분석한다는 것에 차이를 둔다.
두 번째 목적은 모바일 로봇과 환경을 간단하게 모델링하여, 플래너에서 계획된 모바일 로봇의 목표 경로를 확인하기 위해 사용된다. 플래너는 모바일 로봇의 기구학을 기반으로 목표 경로를 계산하기 때문에, 계산된 목표 경로를 시뮬레이션 상에서 정확하게 보여주기 위해서는 모바일 로봇의 충돌 모델과 환경에 대한 추가적인 설정이 필요하다. 본 논문에서는, 이러한 목적에 적합한 모바일 로봇의 환경 설정을 실험으로 확인한다.
3. 평가 방법 및 환경
3.1 파지 접촉 안정성 평가 방법
매니퓰레이터 접촉 안정성 평가는 [Fig. 1]과 같이 로봇의 그리퍼가 물체를 파지하고, 말단 장치가 다양한 경로를 추종하는 작업에 대한 파지 안정성을 평가한다. 로봇 시뮬레이션에서 로봇이 환경과 복잡하게 상호작용하는 동적 작업(예: 매니퓰레이터가 액체 또는 구슬이 담겨 있는 컵을 파지하여 조작)을 수행하기 위해서는 물리 엔진의 안정적인 접촉 연산이 요구된다. 물리 엔진의 불안정한 접촉 연산은 수치 적분으로부터 발생한 이산화 오차와 접촉 솔버의 부정확한 접촉력 해에 의해 발생하고, 이는 매니퓰레이터의 파지 안정성 저하를 야기한다. Yoon의 연구는 펙인홀 시나리오와 같은 다접점 접촉 시나리오에서 접촉 솔버의 부정확한 해에 의해 불연속적인 접촉력이 발생할 수 있음을 보여주었다[12].
본 논문에서는 접촉 솔버로부터 계산된 접촉력의 연속성을 평가 기준으로 파지 안정성을 평가한다. 접촉 솔버로부터 계산된 해의 불연속 정도가 작으면 접촉 시뮬레이션이 안정하다고 가정한다. 이러한 결과를 정량적으로 분석하기 위해, 접촉력 이동 분산의 평균값을 통해 물리 엔진에 따라 다른 접촉력의 불연속 정도를 비교한다.
Force/Torque (F/T) 센서로 측정된 접촉력 데이터의 이동 평균을 평균 접촉력, 이동 분산을 접촉력의 불연속으로 가정하여 시뮬레이션 전체 구간에 대한 이동 분산의 평균을 구하였다. 말단 장치의 위치 제어 방법으로는, 자코비안 기반의 역기구학을 통해 말단 장치가 목표 경로를 추종하는 관절 입력을 계산하였다. 목표 경로는 오프라인에서 정의된 원, 사각, 8자 경로를 사용하였다. 매니퓰레이터의 제어 입력은 위치 제어 입력을 사용하였다. 그리퍼의 접촉력 데이터 측정은 말단 장치의 경로 추종이 시작됨과 동시에 시작하여 추종이 완료되면 측정을 종료하였다.
3.2 모바일 로봇 구동 경향성 분석 방법
모바일 로봇 시뮬레이션 구동 경향 분석은 [Fig. 2]와 같이 목표 경로에 대해 모바일 로봇이 이동한 경로를 바탕으로 구동 경향성을 분석한다. 모바일 로봇을 개루프 및 폐루프 제어하였을 때 각각의 물리 엔진에 대해 모바일 로봇이 이동한 경로들을 비교하여 물리 엔진별 모바일 로봇의 구동 경향을 분석한다. 모바일 로봇의 목표 경로 및 속도는 사전에 정의된 원, 사각, 8자 궤적이 사용되었다. 모바일 로봇 모델의 기구학은 차동 구동 방식의 모바일 로봇의 기구학을 기반으로 유도된 모델인 식 (1)이 사용되었다.
(1) |
이 식에서 v, w는 모바일 로봇의 선속도, 각속도, ωL, ωR은 각각 로봇의 왼쪽, 오른쪽 바퀴의 각속도, r은 바퀴의 반지름, b는 로봇의 너비이다. 2륜 모바일 로봇의 경우, μ = 1을 상수로 사용하였고, 4륜 모바일 로봇의 경우 측면 방향의 미끄럼 마찰을 고려하기 위해 두 바퀴 사이의 거리에 μ = 1.875를 상수로 곱하였다. 개루프 제어 실험의 경우, 식 (1)을 통해 바퀴의 각속도를 구하는 방식으로 제어 입력을 계산하였다. 폐루프 제어 실험의 경우 Kanayama[13] 제어기를 이용해 목표 경로를 추종하는 선속도와 각속도 입력을 계산하였다. Kanayama 제어기를 통해 계산된 선속도와 각속도 제어 입력은 식 (1)을 통해 모바일 로봇의 바퀴 입력으로 변환된다.
3.3 로봇 및 시뮬레이션 평가 환경
로봇 시뮬레이션의 성능 평가를 위해 3개의 동역학 시뮬레이터 MuJoCo, CoppeliaSim, IsaacSim이 사용되었고, 5개의 물리 엔진 MuJoCo, Newton, ODE, Bullet, PhysX가 사용되었다. 각각의 시뮬레이터에서 사용된 물리 엔진은 [Table 1]과 같이 제시된다.
시뮬레이션 접촉 안정성 평가를 위해, Franka Emika의 7 자유도 매니퓰레이터 Panda 모델이 사용되었다. 물체 파지 시 발생하는 접촉력을 측정하기 위해, 시뮬레이터에서 제공하는 F/T 센서를 그리퍼의 팁에 부착하였다. 평가를 위해 접촉력은 물체와 그리퍼의 접촉면에 수직 방향의 F/T 센서 값을 사용하였다. 그리퍼를 열고 닫을 때 위치 제어에 의해 발생하는 힘은 100 N으로 제한하였다. 파지 실험을 위해 사용된 물체는 정육면체 박스를 사용하였고, 박스의 무게는 1 kg, 그리퍼 팁의 workspace를 고려하여 박스의 길이를 4 cm으로 설정하였다.
시뮬레이션 모바일 로봇 구동 경향 분석을 위해, Clearpath Robotics에서 개발된 모바일 로봇 Husky-UGV 모델이 사용되었다. 모바일 로봇은 대표적으로 차동 구동 방식의 4륜 모바일 로봇과 2륜 모바일 로봇으로 분류할 수 있다. 실험에 사용된 모바일 로봇의 바퀴 모델은 [Fig. 3(a)], [Fig. 3(b)]와 같이 4륜의 원기둥 바퀴 모델과 2륜의 구형 바퀴 모델이 실험에 사용되었다. 2륜 모델의 경우, 모바일 로봇의 균형을 유지하기 위해 마찰이 없는 수동 캐스터가 모바일 로봇의 앞뒤에 부착되었다. 폐루프 제어 실험에 필요한 모바일 로봇의 위치, 방향, 선속도와 각속도 정보는 시뮬레이터에서 제공하는 센서 값을 사용하였다.
모바일 매니퓰레이터의 동역학에서, 쿨롱 마찰 계수에 의해 매니퓰레이터 파지 시 발생하는 접촉력과 모바일 로봇의 바퀴와 지면의 미끄럼 마찰 정도가 다르게 나타날 수 있다. 따라서, 환경과 유사한 적절한 쿨롱 마찰 계수를 선정하는 것은 굉장히 어려운 작업이다. 추후 연구에서는 모바일 매니퓰레이터의 정확한 시뮬레이션을 위해 환경과 유사한 쿨롱 마찰 계수가 고려된 연구가 진행될 예정이다. 본 논문에서는, 두 접촉 시나리오에서 로봇과 환경 사이의 쿨롱 마찰 계수에 의해 실험 결과가 달라지는 것을 막기 위해 모든 물리 엔진에서 쿨롱 마찰 계수를 시뮬레이션 기본값으로 설정하였다.
4. 평가 결과
4.1 파지 접촉 안정성 평가 결과
3개의 경로별로 5개의 물리 엔진에 의해 발생한 접촉력의 이동 분산의 평균을 [Table 2]에 나타냈다. MuJoCo는 3개의 경로에서 평가된 물리 엔진 중 접촉력의 이동 분산 평균이 낮아, 접촉 안정성이 다른 물리 엔진들에 비해 높은 것으로 평가된다. Bullet은 그다음으로 접촉력의 이동 분산의 평균이 낮았고, ODE는 3개의 경로에서 평가된 물리 엔진 중 가장 접촉력의 이동 분산의 평균이 높았다. Bullet과 MuJoCo는 [Fig. 4(a)], [Fig. 4(b)]와 같이 그리퍼의 팁과 물체 사이에 과도한 관통이 발생하지 않았고, 액추에이터의 최대 구동 힘 이하의 접촉력 값이 측정되었다. 반대로, ODE는 [Fig. 4(c)]와 같이 그리퍼의 팁과 물체 사이에 지나친 관통이 발생하였고, 비정상적으로 높은 접촉력이 F/T 센서를 통해 측정되었다. 하지만, 액추에이터의 최대 구동 힘 이하로 접촉력이 발생하였기 때문에 접촉력의 이동 분산을 측정할 수 있었으므로 접촉 안정성 평가 대상에서 제외하지 않았다. [Fig. 4(d)]와 같이 Newton은 물체 파지 시 그리퍼와 물체 사이의 과도한 관통이 발생하였고, 그리퍼의 최대 구동 힘이 일정하게 측정되었다. 이에 따라, 접촉력의 이동 분산을 측정할 수 없었기 때문에 접촉 안정성 평가 대상에서 제외하였다. 또한, PhysX (IsaacSim)의 경우 물체를 잡았을 때와 물체를 잡지 않았을 때 모두 동일한 F/T 센서값이 출력되어 접촉 안정성 평가 대상에서 제외하였다.
4.2 모바일 로봇 구동 경향성 분석 결과
3개 경로의 개루프 실험에 대한 목표 경로와 원기둥 바퀴의 4륜 모바일 로봇의 이동 경로를 [Fig. 5]에 나타냈다. 원형 경로의 경우, Newton과 PhysX를 제외한 나머지 물리 엔진에서 주행 경로의 곡률이 일정하게 변화하였으며, PhysX는 원에 가깝지 않은 형상으로 주행하는 것을 확인하였다. 사각 경로의 경우, ODE를 제외한 나머지 물리 엔진에서 사각형의 꼭짓점에 해당하는 회전 입력에 대해 꼭짓점마다 비슷한 회전 양상을 보였다. ODE는 사각형 경로의 처음 꼭짓점 경로에서 모바일 로봇이 많은 회전을 하지 못하였으나, 두 번째와 세 번째 꼭짓점에서는 첫 번째 꼭짓점보다 더 많은 회전을 하는 것을 확인하였다. 8자 경로의 경우, 곡률의 변화가 급격한 코너 구간에서 물리엔진마다 다른 주행 양상을 보였다. [Fig. 6]은 8자 경로 중 곡률이 급격히 변하는 커브 구간을 나타낸 그림이다. MuJoCo는 8자 커브에 해당하는 바퀴 입력이 들어왔을 때, 곡률이 연속적으로 변화하는 경로로 주행하였고, Bullet, ODE, Newton의 경우 이동 경로의 곡률이 불연속적으로 변화하며 불안정하게 주행하는 것을 확인하였다.
3개 경로의 폐루프 실험에 대한 목표 경로와 원기둥 바퀴의 4륜 모바일 로봇의 이동 경로를 [Fig. 7]에 나타냈다. 원형 경로의 경우, PhysX를 제외한 나머지 물리 엔진에서 목표 경로에 대해 상대적으로 좋은 추종 성능을 보여주었다. 사각과 8자 경로의 경우, PhysX는 목표 경로에 대해 가장 좋지 않은 추종 성능을 보여주었다. 추가로, PhysX는 사각과 8자 경로의 곡률이 급격히 변하는 커브 구간 이후에, 다시 목표 경로를 추종하는 것이 가장 느린 것을 보여주었다. Newton은 목표 경로 추종이 PhysX 다음으로 느린 것을 확인하였고, 모바일 로봇이 곡률이 불연속적으로 변화하며 주행하는 것을 확인할 수 있었다.
원형 경로의 개루프 제어 실험에 대한 목표 경로와 구형 바퀴의 2륜 모바일 로봇의 이동 경로를 [Fig. 8]에 나타냈다. 4륜 원기둥 바퀴 모델을 사용해 목표 경로를 추종한 결과인 [Fig. 5]와 달리, 실험된 모든 물리 엔진에서 목표 경로에 대한 추종 성능이 높은 것을 확인할 수 있었다. 해당 결과는 구형 바퀴 모델이 지면과의 접촉을 최소한으로 유지하며 주행하기 때문에, 바퀴와 지면의 횡방향 미끄럼 마찰이 최소한으로 발생하여 나타난 결과이다. 해당 결과를 통해, 구형 바퀴의 2륜 모바일 로봇은 SLAM, Planning과 같이 이상적으로 경로를 추종해야 하는 시뮬레이션에 적합하게 사용할 수 있을 것이다. 추가로, PhysX와 Newton을 사용한 시뮬레이션 환경에서 4륜 모바일 로봇의 경로 추종 성능이 다른 물리엔진들보다 좋지 않은 것을 확인하였다. 이러한 물리 엔진을 사용해야 하는 연구자의 경우, 지면과 바퀴 사이의 미끄럼 마찰이 최소화된 2륜 바퀴 구형 모델을 시뮬레이션 환경 설정의 하나의 대안으로 사용할 수 있을 것이다.
4.3 결과 논의
ODE와 Bullet은 모바일 로봇의 구동 경향성 실험에서 상당히 유사한 실험 결과를 확인할 수 있다. Yoon 등의 이전 연구에서 논의된 바를 참고하여[12], ODE와 Bullet의 기본적인 접촉 시뮬레이션 알고리즘이 유사하여 모바일 로봇의 거동 결과가 비슷하게 나타날 수 있다. 그럼에도 불구하고, 4륜의 원기둥 바퀴의 모바일 로봇 실험에서 Bullet과 ODE의 경로 차이가 발생하는 이유는 ODE와 Bullet이 다접점 접촉 상황에서 계산 부담을 줄이기 위해 접촉점 수를 줄이는 방법과 접촉 솔버의 기본 설정이 다르기 때문이다. 매니퓰레이터의 파지 안정성 실험에서 Bullet은 ODE보다 높은 접촉 안정성을 보여주는데, ODE는 카테시안 좌표계에서 로봇 시스템을 정의하고 Bullet은 관절 공간을 사용하는 일반화 좌표계에서 로봇 시스템을 정의하기 때문에 링크 간의 제약 조건을 만족하며 시뮬레이션을 수행해야 하는 로봇 동역학 시나리오에서는 ODE의 시뮬레이션 정확도가 Bullet에 비해 낮을 수 있다. MuJoCo는 파지 안정성 실험의 결과를 통해 높은 접촉 안정성을 가지는 것을 확인하였다. Erez 등의 연구에서 언급된 바에 의하면, 접촉력 계산의 부담을 줄이기 위해 friction cone의 볼록 근사를 사용하는 경우 물리적 정확성이 저하될 수 있다[9]. Bullet과 ODE는 friction cone을 다면체로 근사하여 접촉력을 계산하는 반면, MuJoCo는 friction cone을 근사하지 않고 충돌하는 물체의 비관통 제약을 완화한 최적화 문제를 통해 접촉력을 계산하기 때문에 접촉 안정성이 높은 것으로 보인다. [Fig. 4(b)]를 통해 MuJoCo는 비관통 제약의 완화 조건에도 불구하고 그리퍼의 팁과 물체 사이에 과도한 관통이 발생하지 않는 것을 확인할 수 있었다. 하지만, Yoon 등의 선행 연구의 결과와 같이[12], 시뮬레이션의 연산 주기가 증가할 경우 비관통 제약의 완화 조건에 의해 접촉하는 물체 간에 관통이 발생할 수 있고 접촉 안정성도 감소할 수 있다. PhysX는 모바일 로봇의 구동 경향성 실험에서 물리 엔진 중 가장 좋지 않은 성능을 보여주었다. Erez 등의 연구에서 언급된 바에 의하면, PhysX는 동역학 계산에서 코리올리 힘을 무시하는 등 물리적 정확성을 포기하고 시뮬레이션의 안정성을 강조한 물리 엔진으로 알려져 있다[9]. 그 결과, PhysX의 부정확한 물리적 정확성에 의해 이러한 결과가 나타난 것으로 보인다. Newton은 세부적인 알고리즘에 대해 공개되지 않아 결과에 대한 구체적인 원인을 제공하기 어렵다.
5. 결 론
본 논문에서는 매니퓰레이터의 물체 파지와 모바일 로봇의 목표 경로 추종의 두 가지 동역학 시나리오를 통해 모바일 매니퓰레이터의 시뮬레이션을 위한 물리 엔진을 평가하였다. 매니퓰레이터 파지 평가를 통해, MuJoCo, Bullet, ODE 순으로 낮은 접촉력 불연속을, 다시 말해 높은 접촉 안정성을 가지는 것을 확인하였다. Newton은 과도한 관통으로 인해 F/T 센서로부터 액추에이터의 최대 구동 힘이 일정하게 출력되었고, PhysX (IsaacSim)는 F/T 센서 기능 이상으로 인해 신뢰할 수 있는 접촉력을 측정하지 못하여 평가 대상에서 제외하였다. 모바일 로봇의 구동 경향 실험을 통해, 모바일 로봇의 실제 모델과 유사한 4륜의 원기둥 바퀴 모델을 사용할 때, 물리 엔진에 따라 다르게 나타나는 구동 경향을 확인하였다. 4륜 모바일 로봇의 개루프 경로 주행 실험을 통해, 다른 물리 엔진들과 비교해 MuJoCo는 상대적으로 더욱 연속적인 곡률로 주행하는 사실을 확인할 수 있었다. 추가로, 4륜 모바일 로봇의 폐루프 경로 주행 실험을 통해, Newton과 PhysX는 모바일 로봇의 경로 추종 성능이 다른 물리 엔진들에 비해 상대적으로 좋지 못한 것을 확인하였다. 마지막으로, 원형 경로에 대한 구 형상의 2륜 바퀴 모바일 로봇의 개루프 제어 추종 성능과 원기둥 형상의 4륜 바퀴 모바일 로봇의 개루프 제어 추종 성능을 비교하여, 모바일 로봇 시뮬레이션에서 구 형상의 2륜 바퀴 모바일 로봇의 활용 가능성을 제시하였다.
일부 물리 엔진들이 세부적인 알고리즘을 공개하지 않아 각 물리 엔진에서 발생한 구동 양상의 원인을 구체적으로 분석하는 것은 어렵지만, 본 논문의 평가 결과를 통해 연구하고자 하는 내용에 대해 적절한 시뮬레이터 선정에 도움이 될 것이라 기대한다. 추가로, 현실과 완벽하게 유사한 시뮬레이션을 구성하는 것은 굉장히 어려운 작업으로 알려져 있고 추후에 많은 연구가 필요하다. 본 논문의 파지 안정성 평가 실험을 통해 안정적인 접촉 연산이 가능한 물리 엔진을 파악할 수 있었다. 더 나아가, 접촉 연산 계산에 사용되는 물리 변수를 적절히 조정하여 실제 환경과 유사하게 환경을 모델링할 수 있다면 시뮬레이션 부정확도에 의해 발생하는 Sim2Real Gap과 같은 오차를 줄일 수 있을 것으로 기대한다.
Acknowledgments
This work was supported by Samsung Advanced Institute of Technology (SAIT)
References
- O. Michel, “Cyberbotics Ltd. WebotsTM: Professional Mobile Robot Simulation,” International Journal of Advanced Robotic Systems, vol. 1, no. 1, Mar., 2004. [https://doi.org/10.5772/5618]
- N. Koenig and A. Howard, “Design and use paradigms for Gazebo, an open-source multi-robot simulator,” 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566), Sendai, Japan, pp. 2149-2154, 2004. [https://doi.org/10.1109/IROS.2004.1389727]
- E. Todorov, T. Erez, and Y. Tassa, “MuJoCo: A physics engine for model-based control,” 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura-Algarve, Portugal, pp. 5026-5033, 2012. [https://doi.org/10.1109/IROS.2012.6386109]
- E. Rohmer, S. P. N. Singh, and M. Freese, “V-REP: A versatile and scalable robot simulation framework,” 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, pp. 1321-1326, 2013. [https://doi.org/10.1109/IROS.2013.6696520]
- E. Drumwright and D. A. Shell, “Modeling Contact Friction and Joint Friction in Dynamic Robotic Simulation Using the Principle of Maximum Dissipation,” Algorithmic Foundations of Robotics IX, vol. 68, pp. 249-266. [https://doi.org/10.1007/978-3-642-17452-0_15]
- E. Drumwright and D. A. Shell, “A robust and tractable contact model for dynamic robotic simulation,” ACM symposium on Applied Computing, pp. 1176-1180, 2009. [https://doi.org/10.1145/1529282.1529543]
- D. E. Stewart and J. C. Trinkle, “An implicit time‐stepping scheme for rigid body dynamics with inelastic collisions and coulomb friction,” International Journal for Numerical Methods in Engineering, vol. 39, no. 15, pp. 2673-2691, Aug., 1996. [https://doi.org/10.1002/(SICI)1097-0207(19960815)39:15<2673::AID-NME972>3.0.CO;2-I]
- J. Hwangbo, J. Lee, and M. Hutter, “Per-Contact Iteration Method for Solving Contact Dynamics,” IEEE Robotics and Automation Letters, vol. 3, no. 2, pp. 895-902, Apr., 2018. [https://doi.org/10.1109/LRA.2018.2792536]
- T. Erez, Y. Tassa, and E. Todorov, “Simulation tools for model-based robotics: Comparison of Bullet, Havok, MuJoCo, ODE and PhysX,” 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, pp. 4397-4404, 2015. [https://doi.org/10.1109/ICRA.2015.7139807]
- D. Kang and J. Hwangho, “SimBenchmark-Physics engine benchmark for robotics applications: RaiSim vs. Bullet vs. ODE vs. MuJoCo vs. DartSim,” [Online], https://leggedrobotics.github.io/SimBenchmark/, , Accessed: Sept. 29, 2022.
- E. Drumwright and D. A. Shell, “An evaluation of methods for modeling contact in multibody simulation,” 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, pp. 1695-1701, 2011. [https://doi.org/10.1109/ICRA.2011.5980402]
- J. Yoon, B. Son, and D. Lee, “Comparative Study of Physics Engines for Robot Simulation with Mechanical Interaction,” Applied Science, vol. 13, no. 2, Jan., 2023. [https://doi.org/10.3390/app13020680]
- Y. Kanayama, Y. Kimura, F. Miyazaki, and T. Noguchi, “A stable tracking control method for an autonomous mobile robot,” IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, pp. 384-389 ,1990. [https://doi.org/10.1109/ROBOT.1990.126006]
2022 인하대학교 기계공학과(학사)
2022~현재 서울대학교 융합과학부 석사, 박사 통합과정
관심분야: Bipedal Walking of Humanoid Robot
2022 성균관대학교 기계공학부(학사)
2023~현재 서울대학교 지능정보융합학과 석사과정
관심분야: Mobile Manipulator, Optimal Control, Trajectory Optimization
2017 광운대학교 로봇학부(학사)
2017~현재 서울대학교 융합과학부 석사, 박사 통합과정
관심분야: Mobile Manipulator, Optimal Control, Trajectory Optimization
1995 서울대학교 항공우주공학과(공학사)
1997 서울대학교 항공우주공학과(공학석사)
2006 Stanford University Aero/Astro.(공학박사)
2009~현재 서울대학교 융합과학기술 대학원 교수
관심분야: Robot-environment Interaction, Multi Contact Control, Whole Body Control