implementation of trajectory planning method...

4
Implementation of Trajectory Planning Method Considering Velocity Limits of Mobile robot on Real-time System Yang Gil-Jin1, Choi Byoung-Wook2 2Seoul National University of Science and Technology e-mail: [email protected], [email protected] μC/OS-III Xenomai 1. [6]. [5]. Windows Linux μC/OS-III [1][2]. [3][ 4 ]. [ 4 ]. 2. Micrium μC/ OS-1 11 STM32F107 (Main RS232 STM32F103 Hardware {STELLA B2) a) uC/ OS- III ADEOS / 1p1 pe asm Linux Hardware DS-11 1) b) Xenomai 1] Software architecture of the re al-time controllers μC /Eval-STM32F l07, STELLA RS232 -293-

Upload: others

Post on 16-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementation of Trajectory Planning Method …embedded.seoultech.ac.kr/bbs/paper/domestic_conference/...저19회 한국로봇종합학술대회 2014년 6월 19일∼6월 21일 속도

저19회 한국로봇종합학술대회 2014년 6월 19일∼6월 21일

속도 제한을 고려한 궤적 생성 방법의 실시간 시스템 적용 양길진1, 최병욱2

1,2서울과학기술대학교

Implementation of Trajectory Planning Method Considering Velocity Limits of Mobile robot on Real-time System

Yang Gil-Jin1, Choi Byoung-Wook2 1· 2Seoul National University of Science and Technology

e-mail: [email protected], [email protected]

요 약 본 논문은 두 바퀴 。l동로봇에 대하여 판절공간에셔 두 바퀴의 구동 속도 쩨한을 고려한 궤적 쟁성방법을 실쩨 로봇에 적용한 것으로 특히 실시간 시스탬을 운영체제로 한 시스댐에 적용한 컬과이다. 베지어 곡선을 이용하여 중섬 위치에 대한 정로를 계획하였으며, 컨볼루션 연산자를 이용하여 이동로봇의 두 바퀴의 속도 제한올 고려하는 궤적 및 속도 명령올 생생하였다. 생성된 궤적올 실시간 운영체제로 상업용인 µC/OS-III 와 오픈소스 프로젝트로 리녹스를 기반으로 하는 실시칸 임베디드 리녹스인 Xenomai 를 이용하는 이동 로봇에 적용하였다. 그리고 각각의 실시칸 시스댐의 실시간성을 분석하여 실시간 다중 태스크 기반으로 구현된 시스댐의 유용성을 검중한다.

1. 서론 이동로봇의 주행올 위한 주행시스햄은 정로계획기

와 청로를 시간의 함수로 나타내는 례적생성기 그라 고 궤적을 추종하는 추종제어기 그리고 구동제어기 로 나누어진다 [6]. 이동로봇의 제어시스댐은 주행시 스탬 이외에도 다양한 센서틀과 특정 목적의 수행과 사용자의 요구를 충족하기 위해 복잡한 시스탬들로

구성된 경우가 많다. 이러한 이동로봇의 제어시스탬 을 보다 안정적이며 체계적으로 지원하기 위해 운영 체제를 기반으로 제어장치의 소프트웨어를 개발하는 것이 일반적이다 [5]. 일반적인 이동로봇의 제어시스 댐은 주기적으로 다양한 서버스들을 처리하며, 이 과 정에서 실시간 성을 만족하는 것은 주행 및 여러 기 능의 수행에 있어 성능을 보장할 수 있도록 한다. 범 용 운영체제로 많이 사용되는 운영체제로 Windows 와 Linux 퉁이 있지만 이와 같은 운영체제들은 실시 간성을 보장하지 못한다. 따라서 본 연구에서는 실시 칸성을 보장할 수 있는 실시칸 운영체제언 µC/OS-III 와 Xenomai에 이동로봇의 체어시스햄올 적용한다 [1][2]. 본 연구에서는 경로계획을 위해 떼지어 곡션을 이

용한다. 。1동로봇의 부드려운 주행올 위해 다양한 연 구들이 진행되고 있지만, 이동로봇의 시작점에서의

자세와 목적지에서의 자세를 고려할 수 있는 베지어 곡선을 이용한 정로계획 방법을 이용한다 [3][4]. 이동로봇의 정밀한 주행을 위해서는 주기적인 속도 명령올 구동체어기를 통해 수행할 수 있도록 하여야 하며, 이동로봇이 구동할 수 있는 속도명령을 생성하 여 주어야 한다. 본 연구에서는 먼저 연구된 컨볼루 션 연산자를 이용한 두 바퀴 이통로봇의 궤척 생성 방볍율 이용하여 이동로봇의 궤적 및 속도명령올 생 생한다 [ 4 ]. 이를 이용하여 이동로봇이 수행 할 수

없는 속도명령의 입력에 의해 발생할 수 있는 오차 를 미연에 방지한다. 제안된 궤적생성방법을 실시간 시스댐에 적용 및 주행실험을 통해 실시간 시스댐의 유용성올 분석한다.

2. 질시간 제어시스템

않륜 M icrium µC/ OS-111

STM 32F107 (M ain b。ard )

• RS232

STM32F103 {C。ntr。| b。a rd)

Hardware {STELLA B2)

a) uC/OS- III

ADEOS / 1p1pe

asm |。w-leve l Linux

Hardware πETRA DS-111)

b) Xenomai

[그렴 1] Software architecture of the real-time controllers

이동로봇의 실시간 제어를 위한 운영체제로 µC/OS-III와 Xenomai가 사용 되 었다. µC/OS-III률 이용한 이동로봇의 제어시스탬은 메인보드로 µC/Eval-STM32Fl07, 이동로봇은 NTREX에셔 개발된 STELLA B2가 본 연구에 사용되었으며, 체어보드로 STM32F103이 사용되었다. 메인보드와 쩨어보드는 RS232 시리얼 통신으로 제어명령과 데이터통신을 할 수 있도록 구성되었으며, 시스댐구조는 그림 1-a)와 같다.

-293-

Page 2: Implementation of Trajectory Planning Method …embedded.seoultech.ac.kr/bbs/paper/domestic_conference/...저19회 한국로봇종합학술대회 2014년 6월 19일∼6월 21일 속도

저19회 한국로봇종합학술대회

Xenomai롤 이용한 이동로봇운 동부로봇의 TETRA OS-III률 이용한다. 메언보드로는 VIA Technologies, Inc.의 SBC (Single Board Computer) EPIA-N800가 사용되었으며, 임베디드 리녹스 기반 실시간 운영체제의 시스햄 구조는 그렴 1-b)와 같다. 이중 운영체제롤 이용하며 톡히 Xenomai 상에서 동작하는 실시간 태스크는 커널 공간파 사용자 공간에서 모두 구현이 가능하다. 본 연구에서는 사용자 공간에서 구현하였다.

2.1 상용 실시간 운영체제에서의 구현 상용 실시간 운영체제인 µC/OS-III롤 기반으로하는 이동 로붓에서 시간 태스크로 이동로봇의 구동제어기에 속도명령올 전달하는 Servo_ Task, 모터의 앤코더 데이터률 이용하여 이동로봇의 상대위치를 추청하는

Enc」A>cation_Task 그리고 앞의 두 태스크의 주기를 판리하는 Timer_Task로 구성하였다. 태스크의 우선순위는 Timer_ Task, Servo_ Task, Enc」ocation_Task순이며, µC/OS-III에서는 태스크 생성시 태스크의 주기를 절정할 수 없어 그립 2와 같이 이벤트 플래그률 이용하여 태스크의 주기를 판리한다. 이벤트 플래그는 실시간 메커니즘으로서 AND나

OR 조건에 의하여 다수의 조건에 동기화하는 태스크 동기화가 가능한 메커니즘으로 그렴 2와 같이 구성하였다. 그립 2와 같이 해당 주기에 이벤트 플래그의 비트를 세트함으로써 그 비트에 동기화되어 있는 태스크의 주기를 조정할 수 있는 장점이 었다. 그림의 경우 Servo_ Task는 20ms로 주기성을 가지고 있으며, 특히 궤적 생성이 완료될 청우에 대하여 AND 조건으로 태스크가 동기화 되어서 청확한 속도 명령을 구동채어기로 전달할 수 있게 된다.

Event FLAG

[그렴 2] Task Synchronization with Event flag

2.2 실시칸 엄베디드 려녹스에서의 구현 동부 로봇의 이통용 로봇 플랫폼인 TETRA DS­

III의 제어구조는 그립 3파 같으며, 제공되는 네트워크 기반의 API롤 이용하여 이동로봇올 제어한다.

2014년 6월 19일∼6월 21일

Ne”,。rk-b。sed HIW c。n’I。| ”。 API

H(WDe애ces

(M。,。11, Sens。,•. e’c.)

[그림 3] Control structure of TETRA DS-m

void Servo_ TaskO {

setpe.꺼od and make periodic; while(l) {

} }

Time measurement; Send velocity commands to controller

[그립 4] Pseudocode for the periodic task

실시칸 임베디드 리녹스 Xenomai커널 기반 실시간 제어시스댐의 경우도 µC/OS-III와 같이 이동로봇의 구동제어기에 속도명령올 전달하는 태스크와 이동로봇의 상대위치를 추정하는 태스크를 생성한다. Xenomai의 경우 태스크 생성시 태스크의

주기의 절정이 가능하다. 따라서 µC/OS-III에서와 같온 Timer_Task와 이벤트 플래그롤 이용한 태스크의 주기관리가 요구되지 않는다. 그립 4와 같이 Xenomai 커널 기반 실시간 훈영체제에서는 주기적언 태스크를 생성하는 API가 제공되며 쉽게 구현이 가능하다. 또한 시간율 측정하는 API 제공에 의하여 주기적인 작업의 주기생올 측정할 수 있다. 즉 속도 명령에 의한 제어의 경우 속도 명령의 주기성은 주어진 명령올 충실히 수행한다는 의미이며 주어진 속도에 대하여 주어진 주기 동안

이동한 거리인 로봇의 이동 거리도 원하는 목표를 충실허 수행한다는 의미가 된다.

3. 주행 실험 본 연구에서는 비실시간 시스댐과 실시간 시스탬에서 주행실험올 하였으며, 비실시간 시스댐으로는 범용 운영체제인 리녹스와 쓰레드(Thread)를 이용하여 주행실험융 수행하였다.

주행실험에서 이동로봇의 최대속도; 0.5m/s, 최대 가속도: 0.5m/s2’ 최대 저크; 0.5m/s3로 설정하였으며, 시작점(0, 0, 0。)에서 목표정 (1.5, 1.5, 90。)까지

-294-

Page 3: Implementation of Trajectory Planning Method …embedded.seoultech.ac.kr/bbs/paper/domestic_conference/...저19회 한국로봇종합학술대회 2014년 6월 19일∼6월 21일 속도

져19회 한국로봇종합확솔대회

베지어 곡션과 컨볼루션 연산자률 이용하여 계산원 속도명령을 20ms의 주기로 수행하도록 하였다. 본 실햄은 실시간 시스댐의 실사간성올 확인하기 위하여 개루프(Open-loop) 시스댐으로 촉도명령올 구동재어기에 입력하여 시스댐의 웅답을 확인하였마. 그렴 5는 각각의 시스댐에셔의 주행실험 철과로셔 이동로봇의 주행웨척을 나타댄다. 실시간 시스댐인 11C/OS-III와 Xenomai를 이용하여 구현한 실시간 쩨어시스댐의 경우 기준궤척을 근사하게 추종하는 것을 확인할 수 었다. 하지만 버실샤간 시스댐인 리녹스 운앵체제를 이용한 청우 이동로붓의 주쟁궤척은 기준혜척에셔 크게 벗어나게 주쟁하였다.

2

1 .5 ~ ·

-uC/。$-Il l

’- - ’ Xenomai • • • Reference trajectory - Non-real-time(니nux) -E---xm

>

0.5

O‘ 0 0.2 0.4 0.6 0_.8 1 1.2 1.4 1.6 Xaxis [m]

[그렴 5] Trajectory to travel of the mobile robots ace。rding to the system

20.0Sms

19.95ms 0 50 100 150 200 250 300 350

[그렴 6] Task execution period (Xenomai)

0.6

0.5

용 0.4

옳 0.3

0.2

0.1

£ 2 3 4 5 6 7 8

Time [sec]

[그렴 7] Velocity profiles for STELLA B2 based on

11C/OS-III

2014넌 6월 19밀∼6월 21일

그렵 6용 Xenomai에셔 속도명령을 구동제어기에 천달하는 태스크의 실행 주기률 나타낸다. 명균 실행주기는 약 19.995ms로 주어진 20ms의 주기에 근사하게 실행되는 것을 확인할 수 었마. 속도 명형의 주기생이 일치한다는 것은 훤하는 꿰척을 충실히 추총한마는 것율 의미한다. 그렴 7은 주행실험에서 셜청훤 투 바퀴의 속도제한 0.5m/s를 만족하는 기준꿰척과 11C/OS­Ill기반의 실시간 체어시스햄이 척용된 이동로봇 STELLA B2의 주행실험 결파의 엔쿄더 데이터로부터 계산된 시간에 따른 두 바퀴의 속도를 나타낸다.

3‘ 결론 본 논문에셔는 두 바퀴 이동 로봇의 주행을 위하여 베지어 곡션을 이용한 갱로계획과 베지어 곡션을 따르며, 이동로봇의 두 바퀴의 속도 제한을 만족하는 훼척과 속도명령을 이용하여 상용 실샤간 운영쩨체인 µC/OS-111와 오픈소스인 실사간 임베디드 리녹스 Xenomai에 대하여 실사간 쩨어시스댐을 구현하였다. 실험에셔 구현훤 제어시스햄은 주어진 곡션의 경로를 큰사하게 추충하며, 。1풍로봇의 투 바퀴의 속도 제한율 만족하였마. 포한 본 연구에셔는 버실시간 시스댐에셔 실험을

통하여 시스댐의 실시간성이 이동로봇의 주행에 미치는 명향을 분석하였다. 철과률 통하여 실시간생을 요구하는 쩨어시스댐에셔 실시간 다충 태스크 시스댐의 유용생올 검증하였다. 철론적으로 주기쩍언 촉도 명령이 지연훨 경우 추총 청로의 이왈이 이루어지며, 다른 작업과 무판하게 주기생이 퓨지되어야 함으로 설시간 시스댐의 유용성을 확인하였마.

감사의 를: 이 논문용 2012년도 청부(쿄육부)의 재훨으로 한국연구채단 기초연구사업의 지원을 받아 수행원 연구임에RF-2012R1A1A2006057)

참고분헌

[1] Micrium, http://www.micri따n.com/ [2] Xenomai, htto://www‘xenomai.org/ [3] G. J. Yang and B. W. Choi, ”Smooth

Trajectory Planning Along Bezier Curve for Mobile Robots with Velocity Constraints,” International J。urnal of c。ntrol and Automation, vol. 6, no.2, pp. 225-234, 2013.

[4] G. J. Yang and B. W. Choi, “Joint Space Trajectory Planning Considering Physical Limits for Two-wheeled Mobile Robots,” Journal of Institute of Control, Robotics and Systems, vol. 19, no.6, pp. 540-546, 2013.

[5] G. J. Yang and B. W. Choi, “Joint Space Trajectory Planning on RTOS,” Journal of

-295-

Page 4: Implementation of Trajectory Planning Method …embedded.seoultech.ac.kr/bbs/paper/domestic_conference/...저19회 한국로봇종합학술대회 2014년 6월 19일∼6월 21일 속도

저19회 한국로봇종합학술대회

Korean Institute of Intelligent Systems, vol. 24, no.l, pp.52-57, 2014.

[6] G. Lee, J. H. Kim and Y. J. Choi, “Convolution-Based Trajectory Generation Methods Using Physical System Limits,” Journal of Dynamic Systems, Measurement, and Control, vol.135, no.l, pp. 011001-1-8, 2013.

[7] J. H. Koh and B. W. Choi, ”Performance Evaluation of Real-time Mechanisms for Real-time Embedded Linux,” Journal of Institute of Control, Robotics and Systems, Vol.18, No.4 337-342, 2012.

-296-

2014년 6월 19일∼6월 21 일