Journal Archive

Journal of Korea Robotics Society - Vol. 17 , No. 2

[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 17, No. 2, pp. 183-190
Abbreviation: J. Korea Robot. Soc.
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 31 May 2022
Received 23 Mar 2022 Revised 26 Apr 2022 Accepted 29 Apr 2022
DOI: https://doi.org/10.7746/jkros.2022.17.2.183

단일 바퀴 구동 캐스터 기반 모바일 로봇의 캘리브레이션
김형철1 ; 박수한1 ; 박재흥

Calibration of Mobile Robot with Single Wheel Powered Caster
Hyoung Cheol Kim1 ; Suhan Park1 ; Jaeheung Park
1Student, Graduate School of Convergence Science and Technology, Seoul National University, Seoul, Korea (kimhc37@snu.ac.kr)(psh117@snu.ac.kr)
Correspondence to : Professor, Corresponding author: Graduate School of Convergence Science and Technology, ASRI, RICS, Seoul National University, Seoul, Korea and also Advanced Institutes of Convergence Technology, Suwon, 443-270, Korea (park73@snu.ac.kr)


CopyrightⓒKROS
Funding Information ▼

Abstract

Accurate kinematic parameters of mobile robots are essential because inaccurate kinematic model produces considerable uncertainties on its odometry and control. Especially, kinematic parameters of caster type mobile robots are important due to their complex kinematic model. Despite the importance of accurate kinematic parameters for caster type mobile robots, few research dealt with the calibration of the kinematic model. Previous study proposed a calibration method that can only calibrate double-wheeled caster type mobile robot and requires direct-measuring of robot center point and distance between casters. This paper proposes a calibration method based on geometric approach that can calibrate single-wheeled caster type mobile robot with two or more casters, does not require direct-measuring, and can successfully acquire all kinematic parameters required for control and odometry. Simulation and hardware experiments conducted in this paper validates the proposed calibration method and shows its performance.


Keywords: Calibration, Mobile Robot, Powered Caster

1. 서 론

모바일 로봇의 주행에 있어, 정밀한 위치 인식은 중요하다. 일반적으로 모바일 로봇의 위치 인식에는 오도메트리(Odometry)가 사용된다[1-3]. 오도메트리는 내재적 정보인 바퀴 엔코더와 모바일 로봇의 기구학적 파라미터를 이용해 단위 시간 동안 이동한 거리를 구하고 이를 누적해 위치 인식을 진행한다. 이 방법은 적은 비용으로 주변 환경 변화에 강인하며 단기적으로 정밀한 위치 인식이 가능한 장점이 있다. 하지만, 정보를 누적해 나가는 오도메트리 성질에 의해 주행거리가 증가함에 따라 실제 로봇 위치와 오도메트리 상의 로봇 위치 간의 오차가 증가하는 단점을 가진다[1,2]. 따라서 정밀한 위치 인식을 위해 오도메트리 오차의 보정이 필요하다.

오도메트리의 오차 원인은 크게 시스템적 오차와 비시스템적 오차 두 가지로 구분할 수 있다[1,3]. 시스템적 오차는 바퀴의 위치 오차, 직경 오차 등 기구학적 오차에 의해 발생한다. 시스템적 오차는 주행 환경의 영향을 받지 않기 때문에 주행 전 보정을 진행해 오도메트리 오차를 감소시킬 수 있다.

비시스템적 오차는 불균일한 노면, 미끄러짐 등 로봇과 주행환경의 상호작용에 의해 발생한다[1,4]. 비시스템적 오차는 주행 환경의 영향을 받아 일정하게 발생하지 않기 때문에 확률[5]적 접근, 추가 센서[6]의 이용, 그리고 최근에는 학습[7]을 통해 비시스템적 오차를 보정하는 연구가 진행되어 왔다. 일반적으로 기구학적 캘리브레이션을 통해 시스템적 오차를 보정하고 그 후 비시스템적 오차를 보정해 오도메트리 오차를 감소시킨다[4]. 본 논문에서는 기구학적 캘리브레이션을 통해 시스템적 오차를 보정하는 데 중점을 둔다.

시스템적 오차 보정을 위한 기구학적 캘리브레이션 방법은 여러 연구에서 제안되었다[8-13]. 차동 구동 로봇을 캘리브레이션 하는 방법 중 하나인 UMBmark[8] 방법은 차동 구동 로봇을 사각의 경로로 시계방향과 반시계방향으로 주행한 후 초기와 종료 위치 오차를 분석해 바퀴의 직경 차이와 거리 차이를 구해 시스템적 오차를 보정한다. 이 방법은 직경 차이와 거리 차이가 오도메트리에 주는 영향이 상호 독립적이라고 가정하지만, 사실 직경 차이와 거리 차이는 오도메트리에 복합적인 영향을 주기 때문에 이 방법을 통한 정확한 시스템적 오차 보정은 어렵다[9]. Jung and Chung[9]은 두 정보의 복합적인 영향을 고려해 위치 오차를 분석하여 기존 논문의 문제점을 해결해 보정 성능을 향상했다.

한편, 차량형 로봇을 위한 캘리브레이션 방법[10] 또한 제안되었다. 차량형 로봇은 차동 구동 로봇의 제자리 회전 움직임을 구현하지 못하고, 로봇 구조가 달라 기구학적 오차에 의한 실제 로봇의 경로와 오도메트리 경로의 영향이 다르기 때문에 차동 구동 로봇의 캘리브레이션 방법[8,9]을 차량형 로봇에 적용하는 것은 어렵다[10]. Lee and Yoo[10]는 위의 이유로 차량형 로봇에 적용 가능한 캘리브레이션 방법을 제안했다. 이처럼, 모바일 로봇의 종류에 따라 구현 가능한 움직임, 기구학적 오차의 영향, 구하는 기구학적 파라미터들이 다르기 때문에 각 모바일 로봇 종류에 맞는 캘리브레이션 방법의 제안이 필요하다.

캐스터 바퀴는 평면에서 전방향의 특성을 가지는 바퀴 중 하나이다. 전방향 특성을 가진 메카넘 바퀴는 특수한 바퀴를 사용해 사용 환경이 다소 제한적이고 진동을 발생시키는 반면, 캐스터 바퀴는 일반 바퀴를 사용해 해당 문제에서 자유롭다는 장점이 있다[14,15]. 차동 구동[8,9,12], 차량형[10,13] 등의 모바일 로봇을 위한 캘리브레이션 방법은 활발하게 연구되었으나, 캐스터 기반 로봇은 오도메트리 오차의 보정 필요성[14]이 언급되었음에도 불구하고, 특정 모델인 능동 분할 오프셋 캐스터(Active Split Offset Caster, ASOC)[11]에 한해 캘리브레이션 방법이 연구되었다.

캐스터 기반 로봇에 사용되는 캐스터는 대표적으로 [Fig. 1]과 같이 ASOC와 단일 바퀴 구동 캐스터(Single Wheel Powered Caster, SWPC)[15]가 있다. ASOC는 차동 구동 로봇과 같은 형태로 두 바퀴를 제어해 조향축(Steering axis)에서 원하는 움직임을 만들어 낸다. SWPC는 기본적인 캐스터 형태로 바퀴와 조향축을 모두 모터로 제어해 조향축에서 원하는 움직임을 만들어 낸다. 본 논문에서는 기존 연구에서 언급된[14] SWPC 기반 모바일 로봇의 새로운 캘리브레이션 방법을 제안한다. [Fig. 2]에 SWPC 모듈과 이 모듈을 사용한 모바일 로봇을 나타냈다.


[Fig. 1] 
Active Split Offset Caster (ASOC, left) and Single Wheel Powered Caster (SWPC, right)


[Fig. 2] 
Single wheel powered caster (SWPC) module (left) and bottom view of SWPC mobile robot (right)

앞서 언급된 캘리브레이션 방법[8-11]과 본 논문에서 제안하는 캘리브레이션 방법의 특징을 [Table 1]에 정리하였다. 본 논문에서 제안하는 방법은 SWPC 기반 모바일 로봇에 적용 가능한 방법으로, 기존 방법[11]과는 다르게 외부 측정장비를 사용하는 대신 파라미터를 직접 측정하는 과정을 없앴다. 기존 방법[8-10]은 기구학적 오차와 주행 오차의 관계를 바탕으로 주행 후 오차를 분석해 캘리브레이션을 진행한다. 이러한 방법은 모바일 로봇의 주행을 통해 정보를 얻기 때문에 주행 시 발생하는 비시스템적 오차에 취약하게 되며 넓은 면적의 실험 환경을 요구하므로 공간적 제약이 크다. 그에 비해 제안하는 방법은 기하학적인 관계를 바탕으로 제자리 회전 정보를 분석함으로써 비시스템적 오차에 비교적 강인하며 상대적으로 좁은 면적의 실험 환경에서도 캘리브레이션이 가능하다.

[Table 1] 
Comparison of calibration methods for mobile robots
Compared Method [8] [9] [10] [11] Proposed Method
Drive Type Differential Drive Differential Drive Car-Like Active Split Offset Caster (ASOC) Single Wheel Powered Caster (SWPC)
External Metrology System O O O X O
Characteristic Assuming kinematic errors are independent Considering dependent relationship between kinematic errors Assuming kinematic errors are independent Requiring direct-measuring Not requiring direct-measuring
Calibration Method - Using relationship between odometry error and kinematic parameter error
- Analyzing odometry error after driving
- Using geometric relationship
- Analyzing self-rotating information

본 논문의 구성은 다음과 같다. 2장에서는 ASOC 기반 로봇의 캘리브레이션 방법을 분석하고, 3장에서 SWPC 기반 로봇의 캘리브레이션 방법을 소개한다. 4장에서는 시뮬레이션과 실제 실험을 통해 제안하는 방법을 검증하고 실제 환경에서 주행 실험을 진행해 캘리브레이션 전후를 비교했으며, 5장에서 본 논문을 결론짓는다.


2. ASOC 기반 로봇의 캘리브레이션

Doebbler and Valasek[11]은 ASOC 기반 모바일 로봇을 외부 측정장비의 도움 없이 캘리브레이션 할 수 있는 방법을 제시했다. 이 방법은 하나의 ASOC 모듈 바퀴가 움직이지 않도록 장착된 두 모터를 고정한다. 고정된 모듈 외의 나머지 모듈을 비슷한 방향으로 정렬하고 작은 움직임만을 낼 수 있을 정도의 전류를 가해 로봇이 [Fig. 3]과 같이 고정된 모듈의 조향축을 기준으로 회전하게 한다. 위 과정을 각 모듈별로 시계방향과 반시계방향 회전을 한 번씩 수행해 정보를 수집한다. [Fig. 3]에 나타난 것처럼, 고정된 모듈의 회전축을 기준으로 로봇이 회전했을 때 발생하는 기하학적 관계, 회전 시 모터의 엔코더 정보, 그리고 직접 측정한 모듈 간 거리 D를 통해 각 모듈의 각도 오차 β, 바퀴의 반지름 rwi, 오프셋 rc, 오프셋 축에서부터 각 바퀴까지의 거리 di를 구한다.


[Fig. 3] 
Rotation of ASOC mobile robot with regards to a steering point of a stationary caster (left) and its geometric relationship when rotating (right)

기존 방법[11]은 외부 측정장비 없이 캘리브레이션을 진행하기 위해 모듈 간 거리 D를 직접 측정하고 직선 이동 제어의 용이성을 위해 각 모듈 간 중점을 직접 측정해 로봇 원점으로 사용한다. 기존 방법[11]에서 사용된 로봇은 모듈의 조향축이 외부로 노출된 구조를 가져 모듈 간 거리와 중점을 측정하기 용이했다. 하지만, 조향축이 노출되지 않은 로봇의 경우 로봇을 분해해 측정해야 하며 조향축 사이 직선거리에 다른 부품들이 있다면 직접 측정이 어려워질 수 있는 문제가 있다.

기존 방법[11]은 캐스터 모듈의 바퀴가 하나인 경우 적용이 불가능하다. ASOC 모듈의 두 바퀴를 고정하는 경우, 2점 접촉을 이루는 바퀴 부분에서 회전과 직선운동이 일어나지 않아 고정 모듈의 조향축을 기준으로만 로봇이 회전한다. 따라서 조향축의 엔코더 정보를 통해 회전 정보를 구할 수 있다. 하지만 바퀴가 하나만 있는 SWPC 모듈의 경우 조향축 모터의 고정을 해제하고 바퀴축 모터만 고정해 로봇을 회전시키게 되면, [Fig. 4]와 같이 1점 접촉을 하는 바퀴 부분에서 원하지 않은 회전이 발생한다. 즉, 로봇이 고정 모듈의 조향축을 기준으로 정확한 회전운동을 하기 어려워진다. 고정 모듈의 조향축과 바퀴축 모터를 모두 고정해 로봇을 회전시키게 되면 고정 모듈의 바퀴를 기준으로 로봇이 회전하게 되지만, 내부 정보만으로는 로봇의 회전 정보를 구할 수 없게 된다. 또한, 기존 방법에서 사용하는 움직이는 모듈의 파라미터를 계산하는 식에 [Fig. 4]와 같이 고정 모듈의 정보가 섞여 정확한 파라미터의 계산이 어려워진다. 다음 장에서는 앞서 언급된 문제들을 해결하기 위한 캘리브레이션 방법을 제안한다.


[Fig. 4] 
Unwanted rotation occurring at wheel contact point which disturbs the robot from generating pure rotation centered at steering point (left) and kinematic parameters of stationary caster being included when calculating parameters of active caster (right)


3. SWPC 기반 로봇의 캘리브레이션

이 장에서는 기하학적 관계를 이용한 SWPC 기반 로봇의 캘리브레이션 방법을 소개한다. 앞서 언급한 것처럼 SWPC 기반 로봇은 하나의 모듈을 완전히 고정하여 고정된 모듈의 바퀴를 기준으로 로봇을 회전시킬 수 있다. 하지만 모터 엔코더만으로는 로봇의 회전 정보를 알 수 없게 된다. 따라서, 본 논문이 제안하는 방법은 로봇의 회전 정보를 얻기 위해 외부 측정장비를 사용한다. 외부 측정장비를 사용함으로써, 내부 정보로 측정이 불가능했던 SWPC 기반 로봇의 회전 정보 측정이 가능해지고 이를 통해 모듈 간의 거리를 직접 측정하지 않아도 캘리브레이션이 가능해진다.

본 논문에서 구하는 SWPC 기반 로봇의 기구학적 파라미터는 [Table 2]에 정리했으며 [Fig. 2]에 나타냈다.

[Table 2] 
Kinematic parameters of each caster module
Ps(xs, ys) Position of steering axis with regards to robot base
β Angle error between assumed and real position of homing sensor of steering axis
b Distance between steering axis and wheel axis (Offset)
r Wheel radius

위의 파라미터를 구하는 캘리브레이션을 위해 외부 측정장비를 통한 회전 정보의 취득 과정이 필요하다. 먼저, 하나의 캐스터 모듈의 조향축과 바퀴축 모터를 모두 고정하고(정적 모듈, stationary caster) 나머지 모듈(동적 모듈, active caster)이 정적 모듈을 기준으로 회전할 수 있도록 같은 방향을 바라보게끔 정렬시킨다. 그 후 동적 모듈의 바퀴축 모터에 일정한 토크를 주고 조향축 모터는 자유회전을 하도록 두어 정적 모듈의 바퀴를 기준으로 자연스럽게 정렬을 하면서 로봇이 [Fig. 5]와 같이 회전하게 만든다. 로봇이 회전하는 동안 측정장비로 측정된 로봇의 원점과 방향 정보를 통해 로봇 좌표계 기준 로봇의 회전 중심점 P1을 구한다. 그 후, 정적 모듈의 조향각도를 변경한 다음 위의 과정을 반복하여 [Fig. 5]와 같이 로봇 좌표계 기준 다른 위치에서의 회전 중심점 P2를 구한다.


[Fig. 5] 
Rotation of single wheel powered caster mobile robot where rotation center is located at a wheel contact point of a stationary caster (left) and another rotation center point (P2) after changing the steering angle of a stationary caster (right)

바퀴가 P1, P2의 위치에 있을 때 엔코더로 측정한 조향각도 θ^1, θ^2를 통해 Δθ를 구한다. 여기서, 측정한 θ^1, θ^2에는 각도 오차 β의 정보가 들어있지만, β는 영점센서의 예상 위치와 실제 위치의 차이에 의해 발생한 값으로 상수 값이기 때문에 두 측정값의 차이를 구하는 과정에서 β의 영향은 상쇄된다.

P1, P2 두 점 모두 정적 모듈의 조향축을 중심으로 오프셋 b를 반지름으로 둔 원 위의 점이므로 원 위의 두 점 P1, P2를 알고 두 점 사이의 각도 Δθ를 알 수 있다. 즉, 식 (1)의 관계를 통해 원의 반지름 b를 구할 수 있다.

P1P2¯=2bsinΔθ2(1) 

그 후, 식 (2)를 통해 ϕ를 구하고, 식 (3)과 같이 P1을 기준으로 P1P2ϕ만큼 회전한 방향으로 반지름 b만큼 이동하여 원의 중심점 Ps(xs, ys)를 구한다. 여기서, rot는 z축([Fig. 6]의 평면에서 수직한 축)으로 회전하도록 하는 행렬이다.

ϕ=signΔθ*π-Δθ2(2) 
Ps=P1+b rotϕ*P1P2P1P2(3) 

[Fig. 6] 
Geometric relations: b (left), Ps (center), and β (right)

로봇 좌표계 기준 벡터 P1P2의 각도 θ1은 바퀴가 P1위치에 있을 때의 실제 조향각도다. 정적 모듈의 바퀴가 P1의 위치에 있을 때 측정한 조향각도 θ^1과 실제 조향각도 θ1의 각도 오차 β를 구한다. [Fig. 6]은 앞서 설명한 과정을 나타낸다. 이 과정을 각 모듈에 대해 모두 진행함으로써 각 모듈의 기구학적 파라미터 Ps(xs, ys), β, b를 구할 수 있다.

그 후, [Fig. 7]에 표현한 것과 같이 위 과정에서 얻은 회전 정보와 기구학적 파라미터를 이용해 바퀴의 반지름 r을 구한다. 동적 모듈의 바퀴가 정적 모듈의 바퀴를 기준으로 회전하기 때문에 P1Pw¯PwPs¯가 서로 수직이다. 해당 관계를 이용해 동적 모듈의 바퀴와 정적 모듈의 바퀴 간의 거리 D를 구할 수 있다. 로봇이 Δθrobot만큼 회전하는 동안 동적 모듈 바퀴의 위치가 지나간 거리와, 해당 동적 모듈 바퀴가 같은 시간 동안 Δθwheel만큼 회전하면서 지나간 거리는 같기 때문에 식 (4)를 통해 바퀴의 반지름 r을 구할 수 있다. 여기서, Δθrobot은 외부 측정장비를 통해 측정하고 같은 시간 동안 모터 엔코더를 측정해 Δθwheel을 측정한다. 정적 모듈 한 개당 두 개의 고정점을 갖기 때문에 위의 과정을 통해 정적 모듈 한 개당 각각의 동적 모듈에 대한 반지름 r 정보를 2번 얻을 수 있다. 총 N 개의 모듈을 가진 로봇을 사용하는 경우, 한 모듈의 r에 대한 정보를 2(N-1)번 얻을 수 있고 이를 평균 내 측정 오차에 강인한 r을 구할 수 있다.

rΔθwheel=DΔθrobot(4) 

[Fig. 7] 
Geometry of robot while robot rotates around P1 for computation of r

위 과정을 통해 SWPC 기반 로봇의 모든 파라미터를 구할 수 있다. 제안된 방법은 기존 방법[11]의 로봇 원점과 모듈 간 거리를 직접 측정해야 하는 문제를 보완하고 SWPC 기반 로봇의 캘리브레이션이 가능하게 했다. 또한, 제안하는 방법은 최소 2개의 캐스터 모듈만 있다면 캘리브레이션 방법을 적용할 수 있고 캐스터의 개수가 늘어나더라도 동일한 방법으로 캘리브레이션이 가능하다.


4. 실 험

서론에서 언급된 바와 같이, 캘리브레이션 방법은 모바일 로봇의 종류에 의존적이다. 차동 구동형 모바일 로봇과 차량형 모바일 로봇의 캘리브레이션 방법[8-10]의 경우 기구학적 오차와 주행 오차의 관계를 이용한다. SWPC 기반 로봇의 경우 차동 구동형과 차량형 로봇이 가지고 있지 않은 조향축과 바퀴축 사이의 거리인 오프셋 파라미터를 가지고 있고 전체적인 구조와 구동 방법이 상이하다. 이러한 이유로 SWPC 기반 로봇이 가지는 기구학적 오차와 주행 오차의 관계는 차동 구동형과 차량형 로봇이 가지는 관계와 다르다. 캐스터 기반 로봇을 위한 기존 방법[11]은 ASOC 기반 모바일 로봇을 위한 방법으로 캐스터 모듈이 바닥과 2점 접촉을 해야 적용이 가능하다. SWPC 모듈의 경우 바닥과 1점 접촉을 이뤄 접촉점에서 회전이 발생해 필요한 움직임을 만들지 못한다. 즉, 로봇의 종류에 따른 기구학적 형상 차이로 인해 캘리브레이션 대상 파라미터 및 구현 가능한 움직임이 달라지기 때문에 캘리브레이션 방법은 모바일 로봇의 종류에 의존적이다. 그런 이유로 기존 캘리브레이션 방법[8-11]을 SWPC 기반 로봇에 적용하는 것은 어렵다.

본 장에서는 시뮬레이션을 통해 제안하는 캘리브레이션 방법을 검증하고, 실제 환경에서 캘리브레이션을 진행한다. 위에 언급된 바와 같이, 다른 캘리브레이션 방법을 SWPC 기반 모바일 로봇에 적용할 수 없기 때문에 실제 환경에서 제안하는 캘리브레이션 방법이 적용되기 전과 후, 두 가지의 기구학적 파라미터를 이용해 주행 실험을 진행한 결과를 비교한다. 사용된 모바일 로봇은 [Fig. 2]에 나타난 것과 같이 4개의 SWPC 모듈을 사용한다.

4.1 시뮬레이션 환경 캘리브레이션

시뮬레이션 실험은 임의의 오차를 부여한 기구학적 파라미터를 기반으로 SWPC 기반 로봇의 회전 정보와 모터 엔코더 정보를 수집하고 제안된 방법을 통해 기구학적 파라미터를 추정하는 과정으로 구성된다.

먼저, 정적 모듈의 조향각도를 45.0°와 165.0°로 고정해 정적 모듈의 바퀴를 기준으로 로봇이 반시계방향으로 회전하는 상황을 구성한다. 정적 모듈의 바퀴를 원점으로 하는 회전 정보를 [Fig. 8]에 나타낸 것과 같이 수집한다. 수집된 정보를 이용해 제안된 캘리브레이션 방법을 진행하여 기구학적 파라미터를 계산하고 설정된 파라미터와 비교한다.


[Fig. 8] 
Rotation data generating process in simulation. Yellow circle is the trajectory of robot center point when the robot rotates around its stationary caster wheel

총 10,000번의 시뮬레이션 실험을 진행했다. 시뮬레이션에 필요한 파라미터의 경우 Ps(xs, ys), b, r은 설계 값에서 ±30.0%, β는 ±30.0°의 범위 내의 무작위 값으로 설정했다. 시뮬레이션 실험을 통해 구한 기구학적 파라미터와 설정된 파라미터 간의 평균 절대 오차(MAE)는 [Table 3]에 정리하였으며, 임의로 부여된 다양한 오차를 모두 잘 추정하는 것을 확인했다. 이를 통해 제안된 캘리브레이션 방법이 SWPC 기반 로봇의 파라미터를 정확하게 구할 수 있음을 보였다.

[Table 3] 
MAE of given and calculated parameters in simulation
Mean Absolute Error (MAE)
Ps (mm) 6.7818e-15
β (°) 2.7289e-16
b (mm) 7.1324e-15
r (mm) 1.0411e-13

4.2 실제 환경 캘리브레이션

실제 환경의 실험 또한 시뮬레이션과 동일하게 정적 모듈의 조향각도를 45.0°와 165.0°로 고정해 정적 모듈의 바퀴를 기준으로 로봇이 반시계방향으로 회전하는 상황을 만들어 정보를 수집했다. 29개의 Vicon T-160 카메라와 Vicon NEXUS 소프트웨어를 사용하는 모션 캡처 시스템을 이용해 100 HZ로 [Fig. 9]와 같이 로봇 위의 3점의 정보를 수집해 로봇 원점과 방향 정보를 구할 수 있도록 설정했다.


[Fig. 9] 
Three motion capture points for measuring position and orientation of robot

로봇이 회전할 때 미끄러짐을 방지하기 위해 [Fig. 10]과 같은 기구를 제작해 내부 부품은 정적 모듈의 바퀴와 결합해 같이 따라 돌고 외부 부품은 바닥에 고정해 내부 부품의 옆면을 막아 로봇이 미끄러지지 않고 같은 자리에서 회전할 수 있게 했다. 회전 결과는 [Fig. 11]에 표시하였다. 두 원은 각기 다른 정적 모듈 바퀴의 위치(P1, P2)를 기준으로 로봇이 회전할 때의 로봇 원점의 회전 정보이고 두 원이 이어지는 부분은 정적 모듈의 고정점이 P1에서 P2로 변하는 과정에서 얻어진 이동 정보이다. 로봇이 회전하는 동안 모터 엔코더와 모션 캡처 정보를 수집했으며, 이를 활용해 캘리브레이션을 진행했다. 캘리브레이션 전후 각 모듈의 기구학적 파라미터 값을 [Table 4]에 정리했다.


[Fig. 10] 
Fixing tool for slip prevention. Inner part is connected to stationary caster wheel and outer part is connected to ground


[Fig. 11] 
Trajectory of robot center point measured by motion capture system

[Table 4] 
Kinematic parameters of each SWPC module
Caster module w/o Calibration w/ Calibration
Ps(xs, ys)
(mm)
1 (215,125) (216.16,126.96)
2 (215,-125) (216.52,-124.74)
3 (-215,-125) (-216.22,-125.26)
4 (-215,125) (-216.67,126.47)
β
(°)
1 0.0 0.6349
2 0.0 1.5247
3 0.0 0.9764
4 0.0 1.2154
b
(mm)
1 20.0 20.3907
2 20.0 20.2223
3 20.0 20.3055
4 20.0 20.2897
r
(mm)
1 55.0 54.3960
2 55.0 54.7413
3 55.0 55.9731
4 55.0 55.6682

4.3 실제 환경 실험

본 논문에서 제안하는 캘리브레이션 방법을 평가하기 위해 [Fig. 12]의 환경에서 로봇이 정사각형의 경로를 주행하는 주행 실험을 진행하고 주행 시 발생하는 오차를 분석했다. 다양한 기존 연구[1,3,4,8,9,11,12,14]에서 기구학적 파라미터의 변화가 오도메트리에 미치는 영향을 비교하기 위해 로봇이 주행한 정사각형의 경로 시작과 끝의 위치 오차를 비교하는 주행 실험을 진행했다. SWPC 기반 로봇은 전방향 이동이 가능해 사각경로를 각 코너에서 회전없이 주행할 수 있지만, 진행된 실험에서는 캐스터의 조향축과 바퀴축 모터 모두 다양하게 사용할 수 있게끔 각 코너에서 90°회전을 하도록 구성했다. 캘리브레이션 전후의 파라미터로 각각 2.5 m × 2.5 m의 정사각형 경로를 2바퀴 주행하는 실험을 시계방향(CW)과 반시계방향(CCW)으로 진행했다. 모바일 로봇이 주행하는 경우 불균일한 노면, 미끄러짐 등 로봇과 주행환경의 상호작용에 의해 발생하는 비시스템적 오차의 영향을 받게 된다. 이러한 비시스템적 오차의 영향을 줄이기 위해 주행 실험을 각각 4번 진행해 평균 결과를 비교했다. Holmberg[15]에 의해 제안된 캐스터 기반 로봇의 토크 제어기법을 사용했고 비시스템적 오차의 영향을 줄이기 위해 약 0.2 m/s의 낮은 속력으로 주행하였다.


[Fig. 12] 
Tracking test environment with motion capture system for measuring robot pose

모션 캡처를 통해 측정된 이동 정보를 [Fig. 13]에 나타냈다. 캘리브레이션 후 경로가 전 경로보다 실제 정사각의 경로를 잘 추종하면서 주행한 것을 볼 수 있다. 주행 종료 시의 위치와 방향 정보를 [Fig. 14]에 나타냈고 위치와 방향의 절대 평균 오차(MAE)를 [Table 5]에 정리하였다. 캘리브레이션 전 로봇은 주행 시 평균 0.4674 m의 위치 오차와 9.6721°의 방향 오차를 보였다. 제안된 기구학적 캘리브레이션을 진행한 후에는 평균 0.1655 m의 위치 오차와 1.9200°의 방향 오차를 보였다. 제안된 방법을 통해 위치 오차를 64.60%, 방향 오차를 80.15% 줄이며 오도메트리 정밀도가 향상된 것을 확인하였다. 사각 경로 주행 실험을 통해 본 논문에서 제안하는 캘리브레이션 방법이 실제 로봇의 정확한 기구학적 파라미터를 구해 오도메트리 정밀도 향상이 가능함을 보였다.


[Fig. 13] 
Robot trajectory: counterclockwise (CCW) path with calibration (top left), counterclockwise path without calibration (top right), clockwise (CW) path with calibration (bottom left), and clockwise path without calibration (bottom right)


[Fig. 14] 
Results of tracking test: end position and heading

[Table 5] 
Mean Absolute Error (MAE) of position and heading
w/o Calibration w/ Calibration
Position (m) 0.4674 0.1655
Heading (°) 9.6721 1.9200


5. 결 론

본 논문은 기하학적 접근을 통한 단일 바퀴 구동 캐스터(Single Wheel Powered Caster, SWPC) 기반 모바일 로봇의 캘리브레이션 방법을 제안했다. 고정된 모듈의 바퀴를 중심으로 로봇이 회전하는 정보와 엔코더 정보를 이용해 로봇 원점으로부터 각 모듈의 조향축 위치, 조향축의 각도 오차, 조향축과 바퀴축 사이의 오프셋 그리고 바퀴의 반지름을 보정하였다. 시뮬레이션을 통해 제안된 방법의 유효성을 검증했고 실제 환경에서 진행한 사각 경로 주행 실험 결과를 통해 제안된 방법을 이용해 정확한 기구학적 파라미터를 구해 오도메트리 정밀도 향상이 가능함을 확인했다.


Acknowledgments

This work was supported by Industrial Strategic Technology Development Program (No. 20015420) funded By the Ministry of Trade, Industry & Energy (MOTIE, Korea)


References
1. C. Jung, C. Moon, D. Jung, and W. Chung, “Design of experimental test tracks for odometry calibration of wheeled mobile robots,” Journal of Korea Robotics Society, vol. 9, no. 3, pp. 160-169, Sept., 2014.
2. J. Borenstein, “Experimental results from internal odometry error correction with the OmniMate mobile robot,” IEEE Transactions on Robotics and Automation, vol. 14, no. 6, pp. 963-969, 1998.
3. J. Borenstein and L. Feng, “Measurement and correction of systematic odometry errors in mobile robots,” IEEE Transactions on Robotics and Automation, vol. 12, no. 6, pp. 869-880, 1996.
4. K. S. Chong and L. Kleeman, “Accurate odometry and error modelling for a mobile robot,” 1997 IEEE International Conference on Robotics and Automation, Albuquerque, NM, USA, pp. 2783-2788, 1997.
5. S. Thrun, W. Burgard, and D. Fox, “Probabilistic robotics,” Artificial Life, The MIT press, 2005.
6. J. Borenstein and L. Feng, “Gyrodometry: a new method for combining data from gyros and odometry in mobile robots,” 1996 IEEE International Conference on Robotics and Automation, Minneapolis, MN, USA, pp. 423-428, 1996.
7. U. Onyekpe, V. Palade, A. Herath, S. Kanarachos, and M. E. Fitzpatrick, “WhONet: wheel odometry neural network for vehicular localisation in GNSS-deprived environments,” Engineering Applications of Artificial Intelligence, vol. 105, 2021.
8. J. Borenstein and L. Feng, “UMBmark: a benchmark test for measuring odometry errors in mobile robots,” Mobile Robots X, Philadelphia, PA, USA, pp. 113-124, 1995.
9. C. Jung, D. Jung, and W. Chung, “Accurate calibration of odometry error for wheeled mobile robots by using experimental orientation errors,” Journal of the Korean Society for Precision Engineering, vol. 31, no. 4, pp. 319-326, 2014.
10. K. Lee, W. Chung, and K. Yoo, “Kinematic parameter calibration of a car-like mobile robot to improve odometry accuracy,” Mechatronics, vol. 20, no. 5, pp. 582-595, Aug., 2010.
11. J. Doebbler, J. J. Davis, J. L. Junkins, and J. Valasek, “Odometry and calibration methods for multi-castor vehicles,” 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, pp. 2110-2115, 2008.
12. G. Antonelli, S. Chiaverini, and G. Fusco, “A calibration method for odometry of mobile robots based on the least-squares technique: theory and experimental validation,” IEEE Transactions on Robotics, vol. 21, no. 5, pp. 994-1004, Oct., 2005.
13. D. Jung, J. Seong, C. Moon, J. Jin, and W. Chung, “Accurate calibration of systematic errors for car-like mobile robots using experimental orientation errors,” International Journal of Precision Engineering and Manufacturing, pp. 1113-1119, 2016.
14. E.-J. Jung and B.-J. Yi, “Odometry and navigation of an omni-directional mobile robot with active caster wheels,” Journal of Institute of Control, Robotics and Systems, vol. 15, no. 10, pp. 1014-1020, 2009.
15. R. A. Holmberg, “Design and development of powered-caster holonomic mobile robots,” Ph.D. dissertation, Stanford University, Ann Arbor, United States, 2000 [Online], https://www.proquest.com/dissertations-theses/design-development-powered-caster-holonomic/docview/304626807/se-2?accountid=6802.

김 형 철

2020 연세대학교 기계공학과(공학사)

2020~현재 서울대학교 지능정보융합학과 석사과정

관심분야: Mobile Manipulation, Planning

박 수 한

2017 광운대학교 로봇학부(공학사)

2017~현재 서울대학교 융합과학부 석사, 박사 통합과정

관심분야: Mobile Manipulator, Planning

박 재 흥

1995 서울대학교 항공우주공학과(공학사)

1997 동 대학원 항공우주공학과(공학석사)

2006 Stanford University Aero/Astro(공학박사)

2009~현재 서울대학교 융합과학기술 대학원 교수

관심분야: Robot-environment Interaction, Multi Contact Control, Whole Body Control