Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 20, No. 3, pp.511-519
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 29 Aug 2025
Received 02 Jan 2025 Revised 08 Feb 2025 Accepted 11 Mar 2025
DOI: https://doi.org/10.7746/jkros.2025.20.3.511

3링크 모바일 매니퓰레이터의 질량중심을 고려한 미분 동적 프로그래밍 기반 궤적 생성 알고리즘

이재순1 ; 이준영1 ; 유병기1 ; 김진원2 ; 조백규3 ; 김무림
Trajectory Generation Algorithm Based on Differential Dynamic Programming Considering Center of Mass for a 3-Link Mobile Manipulator
Jaesoon Lee1 ; Junyoung Lee1 ; Byeonggi Yu1 ; Jinwon Kim2 ; Baek-Kyu Cho3 ; Murim Kim
1Senior Researcher, KIRO, Pohang, Korea rob_js@kiro.re.krjunyoung@kiro.re.krbyeonggi@kiro.re.kr
2Researcher, KIRO, Pohang, Korea jwkim@kiro.re.kr
3Professor, School of Mechanical Engineering, Kookmin University, Seoul, Korea swan0421@gmail.com

Correspondence to: Chief Researcher, Corresponding author: KIRO, Pohang, Korea ( mulimkim@kiro.re.kr)

CopyrightⓒKROS

Abstract

This paper presents a trajectory generation algorithm for a 3-link mobile manipulator system using Differential Dynamic Programming (DDP), with an emphasis on center of mass (COM) control. The proposed method addresses stability challenges arising from the interaction between the manipulator’s COM and the system’s overall COM. By incorporating COM-related constraints into the DDP cost function, the algorithm minimizes joint torques while preserving overall system stability. Two simulation scenarios were conducted to validate the approach: one with a baseline configuration, where the trajectory was generated from the initial posture, and another with an additional payload on the manipulator. The results demonstrate that the proposed algorithm effectively reduces COM deviations and control effort compared to conventional methods, thereby enhancing both stability and energy efficiency.

Keywords:

Floating Base System, NMPC, Trajectory Generation, Optimal Control, Center of Mass

1. 서 론

최근 다양한 족형 로봇이 개발됨에 따라, 이를 산업 현장에 적용하려는 시도도 활발히 진행되고 있다. 족형 로봇은 주로 2족 보행 기반의 휴머노이드 로봇[1], 4족 보행 로봇[2], 그리고 2족 또는 4족 보행에 바퀴 기반 구동을 결합한 형태의 로봇[3]으로 분류할 수 있다. 이들 각각은 고유한 구조적 특성과 기능적 장단점을 지닌다. 휴머노이드 로봇은 인간의 형태와 보행 방식을 모사하여 인간 중심의 환경에 최적화되어 있으나, 고속 이동이나 경사 지형 대응에는 기술적 한계가 존재한다. 반면, 4족 보행 로봇은 비정형 지형이나 험지에서 안정적인 주행이 가능하지만, 사람 중심의 협소한 공간에서는 제약이 따를 수 있다. 여기에 바퀴 구동을 결합한 형태는 기동성을 크게 향상시키지만, 복합적인 주행 모드에 따른 고도화된 제어 기술이 요구된다.

이러한 다양한 로봇 형태의 장점을 통합하려는 노력으로, 하이브리드 구조의 족형 로봇이 제안되어 왔다. Hooks(2018)은 이러한 하이브리드 로봇의 대표 사례로, 이동 시에는 방사형 4족 보행 모드로 주행하고, 작업 시에는 다리를 팔처럼 활용할 수 있도록 설계되었다[4]. 이와 같은 하이브리드 구조는 기존 단일 형태의 로봇들이 가지는 한계를 보완하며, 임무 환경에 따라 유연하게 동작 방식을 전환할 수 있다는 장점을 갖는다.

예를 들어, 로봇이 사람을 대신하여 특수 임무를 수행해야 하는 상황에서는 지형 특성에 따라 효율적인 이동 모드를 선택하는 것이 중요하다. 계단이나 단차가 존재하는 구조물에서는 2족 보행이 유리하고, 급경사나 험지와 같은 환경에서는 4족 보행이 보다 안정적인 주행을 가능하게 한다. 이러한 적응성은 특히 사람의 작업을 대체하는 상황에서 높은 실효성을 기대할 수 있다. [Fig. 1]은 본 연구에서 다루는 하이브리드 족형 로봇의 예시를 나타낸다. [Fig. 1(a)]는 4족 형태의 보행 모드, [Fig. 1(b)]는 2족 모드로 전환된 모습을 보여주며, 이 로봇은 상황에 따라 보행 모드를 전환하여 다양한 지형에서 이동하고, 로봇 팔을 통해 다양한 작업을 수행할 수 있도록 설계되어 있다.

[Fig. 1]

A hybrid humanoid robot capable of transitioning between bipedal and quadrupedal modes with integrated manipulators

부유 기저 시스템(Floating Base System)에서 로봇 팔에 대한 궤적을 생성하기 위해서는 시스템의 질량중심(Center of Mass; COM)을 반드시 고려해야 한다. 로봇 팔의 질량중심이 전체 시스템의 질량중심으로부터 멀어질수록, 로봇 하체의 자세 안정성이 저하될 뿐만 아니라, 로봇 팔 관절에 필요한 토크가 증가하게 된다. 이러한 이유로, 전체 시스템의 동역학을 고려한 로봇 팔 궤적 생성이 필수적이며, 특히 질량중심의 위치를 고려한 접근이 중요하다.

이러한 문제를 해결하기 위한 방법으로, 미분 동적 프로그래밍(Differential Dynamic Programming; DDP)은 효과적인 대안이 될 수 있다. DDP는 비선형 모델 예측 제어(Nonlinear Model Predictive Control; NMPC)의 한 영역으로, Mayne[5]에 의해 최초로 제안된 이후 다양한 비선형 시스템에 적용하기 위한 연구가 활발히 진행되어 왔다[69]. DDP는 비선형 시스템에 대해 최적의 상태 궤적과 제어 입력을 계산할 수 있는 장점을 가지며, 계산 비용이 다소 높은 편이나 여전히 비선형 시스템을 위한 강력한 최적 제어 기법으로 평가받고 있다.

기존 연구들에서는 DDP의 계산 효율 향상, 다양한 제약조건의 통합 등 여러 방향으로 확장이 이루어졌으나, 부유 기저 시스템에서 질량중심을 고려하여 로봇 팔의 궤적을 생성하는 접근에 대한 충분한 검증은 아직 이루어지지 않았다.

이 논문에서는 DDP를 활용하여 부유 기저 시스템인 모바일 매니퓰레이터의 궤적 생성에 대한 연구를 수행한다. [Fig. 1]의 시스템은 매우 복잡하다. 2족/4족 둘다 결국 부유 기저 시스템이기 때문에 [Fig. 2]의 시스템으로 단순화 할 수 있다. [Fig. 1]에 보면 4족 형태와 2족 형태에 따라 시스템의 무게 중심의 높이가 달라질 수는 있지만, 결국 팔 관점에서의 하체는 이동체이기 때문에 [Fig. 2]로 단순화가 가능하다. 따라서 이 시스템에 달린 3링크 로봇팔의 말단에 대한 궤적 생성할 때에 질량중심을 고려하여 궤적 생성을 수행한다.

[Fig. 2]

A simplified model of a floating base system with a manipulator

본 논문은 다음의 순서로 구성되어있다. 2장에서는 질량중심이 고려된 DDP 알고리즘에 대한 이론적인 설명을 한다. 3장에서는 2장에서 제안한 DDP 알고리즘에 시뮬레이션을 통해 검증을 수행한다. 마지막으로 4장에서 결론으로 마무리 한다.


2. DDP 알고리즘

이 연구에서 사용된 DDP 알고리즘은 Tassa(2012, 2014)에 제시한 알고리즘을 기반으로 하였다[10,11]. 이 알고리즘의 특징은 간접방법(Indirect method)와 동적 프로그래밍(Dynamic Programming)을 결합한 형태이다. DDP에서는 ‘식 (1)’과 같이 이산시간(Discrete-time)에서의 비선형 시스템을 정의한다:

xi+1=fxi,ui,(1) 

여기서 xiR2n+αuiRn는 이 시스템의 상태와 입력을 나타낸다. xiui각각은 i번째에서의 상태들과 입력이며, xi-1i번째 상태들과 입력들을 사용하여 얻은 다음 단계(i+1)에서의 상태들이다. n은 x축으로 움직이는 카트와 관절 3개 이므로 n = 4이며, 질량중심의 위치 2개로 α = 2이다. DDP는 전체 Sequence에 대해 궤적 최적화를 위한 control sequence U*를 찾는 것이 중요하다. 여기서 U*는 ‘식 (2)’와 같다:

Uu0,u1,,uN-1(2) 
J0x,U=i=0N-1lxi,ui+lfxN,(3) 

여기서 J0은 첫번째 비용(cost)을 계산하며 상태 x와 control sequence U을 입력으로하며 이를 전체 비용(total cost)라 한다. ‘식 (3)’의 우항은 running cost l과 final cost lf의 합으로 구성되어 있다. DDP는 최종적으로 비용의 전체 합을 최소화 하는 것이다:

Jix,Ui=j=iN-1lxj,uj+lfxN(4) 
Vx,iminUiJix,Ui(5) 
Vx,iminUlx,u+Vfx,u,i+1(6) 

여기서 ‘식 (4)’의 Ji는 cost-to-go라 한다. ‘식 (5)’는 i번째에서의 control sequence를 최소화하며 이를 value function이라 한다. ‘식 (6)’은 ‘식 (4)’를 ‘식 (5)’에 대입하여 얻으며 이는 Bellman Equation이다. 그리고 이 식을 Backward pass를 통해 최적화를 진행한다.

DDP는 반복적으로 Backward pass를 통해 새로운 control sequence를 만들고, forward pass에서 새로운 궤적을 계산하고 평가하는 과정을 거친다. 이 과정에서 다음과 같은 새로운 궤적들을 찾게 된다:

x^1=x1(7) 
u^k=uk+kk+Kkx^k-xk(8) 
x^k+1=fx^k,u^k,(9) 

여기서 ‘식 (7)’은 초기 값이며, ‘식 (8)’은 k번째의 입력과 feedforward gain(k)과 feedback gain(K)을 이용해 새로운 입력을 만든다. ‘식 (9)’은 k번째의 상태와 입력을 통해 다음 단계의 상태를 찾게 된다.

앞선 식까지는 DDP에 대한 설명을 하였다. DDP는 ‘식 (9)’까지의 방법으로 새로운 상태들이 업데이트 되지만, 결국 비용 함수(cost function)의 구성이 매우 중요하다. 이 연구에서 사용된 비용 함수는 다음과 같다:

lx,u=l1x+l2x+l3x+l4u=χq-χ*TQ1χq-χ* +(q˙-0)TQ2(q˙-0)+χarm COM -χtotal COM TQ3χarm COM -χtotal COM +uTRu(10) 
lf(x)=lf1(x)+lf2(x)+lf3(x)= χq-χ*TQf,1χq-χ*+(q˙-0)TQf,2q˙-0+χarm COM -χtotal COM TQf,3χarm COM -χtotal COM ,(11) 

여기서 ‘식 (10)’과 ‘식 (11)’은 각각 앞서 설명하였던 running cost와 final cost이다. ‘식 (3)’과 ‘식 (4)’에 나와있듯이 비용을 계산할 때 final time에는 입력이 없다. 그렇기 때문에 최종 비용에서 입력에 대한 비용을 제외하면 구성은 동일하다. l1은 말단의 위치 궤적은 생성하기 위한 비용이다. 여기서 χR3은 로봇의 말단에 대한 정보이며, x = [x, z, θpitch]T로 구성되어 있다. l2는 관절의 감쇠(damping)와 같은 역할을 하며, l1의 과도한 응답 또는 진동을 억제하기 위해 사용된다. l3은 로봇팔의 질량중심과 전체 질량중심사이의 오차를 줄여주는 역할을 하는 비용이다. 로봇팔의 질량중심과 전체 시스템의 질량중심 사이에 오차가 적을 수록 이 시스템이 이동할 때 로봇팔의 제어적인 부담을 줄일 수 있으며, 안정적으로 이동이 가능하다. Q1, Q2, 그리고 Q3은 각각 말단의 위치, 감쇠, 그리고 질량중심 오차에 대응하는 가중치 행렬(weight matrix)이다. R은 입력에 대한 가중치 행렬이다.


3. 시뮬레이션

이 장에서는 제안된 DDP알고리즘을 시뮬레이션을 통해 검증한다. 검증에 앞서 3.1에서는 3링크 모바일 매니퓰레이터의 기구학 정보, 운동방정식 그리고 실험 세팅에 대해 설명한다. 3.2에서는 시뮬레이션 실험과 그 결과를 보여준다.

3.1 3링크 모바일 매니퓰레이터

이 실험에서 사용된 시스템은 앞서 설명한 것처럼 3링크 모바일 매니퓰레이터이다([Fig. 2] 참조). 이 시스템은 xz 평면에서 구현되어 있으며, 여기에서의 카트는 x축으로만 움직인다. 이 카트에는 3 자유도 로봇팔이 달려있으며, 이 로봇팔은 모두 y축으로만 회전한다. xz평면 기준으로 CW가 +이며, CCW가 –방향이다. 따라서 이 시스템에 적용된 정기구학은 다음과 같다:

χq=xzθpitch =xcart +l1sinθ1+l2sinθ12+l3sinθ123l1cosθ1+l2cosθ12+l3cosθ123θ123,(12) 

여기서 q = [xcart θ1 θ2 θ3]이며 xcart는 카트의 위치 정보이고 나머지는 로봇팔 관절들의 위치이다. 이 때, θ12θ123는 각각 θ1 + θ2θ1 + θ2 + θ3에 해당한다. 이 정기구학을 기반으로 Analytic jacobian을 구하면 다음과 같다:

JAq=JA,11JA,12JA,13JA,14JA,21JA,22JA,23JA,24JA,31JA,32JA,33JA,34JA,11=1JA,12=l1cosθ1+l2cosθ12+l3cosθ123JA,13=l2cosθ12+l3cosθ123JA,14=l3cosθ123JA,21=0JA,22=-l1sinθ1+l2sinθ12+l3sinθ123JA,23=-l2sinθ12+l3sinθ123JA,24=-l3sinθ123JA,31=0,JA,32=1,JA,33=1,JA,34=1(13) 

또한 이 연구에서는 강체가 아니라 질점기반의 시스템을 사용하였으며 이 때의 운동방정식은 다음과 같다:

M(q)q¨+C(q,q˙)q˙+G=F,(14) 

여기서 MR4×4은 이 시스템의 관성 행렬이다. CR4×4는 코리올리 및 원심력에 해당하는 행렬이며, 이는 Christoffel symbol이다. GR4×1는 중력 벡터이다. 우항에있는 FR4×1은 카트 및 관절에 가해지는 힘 및 토크 이며 이 벡터는 F = [Fcart τ1 τ2 τ3]T로 구성되어 있다. 여기서의 운동방정식은 라그랑지안 역학을 기반으로 계산하였다[12]. ‘식 (14)’에 제시된 식의 요소들은 부록에 작성되었으며, 모든 각 파라미터들은 [Table 1]에 제시되어 있다. 또한 DDP에 사용된 각 가중치 행렬도 나타나있다. 이 DDP의 파라미터들 중에 Q1Qf, 1는 Regulation trajectory를 계산할 때 사용되는 파라미터이다. 여기서는 궤적 생성 실험을 하기 때문에 이를 그대로 사용하면 스텝입력에 해당되는 궤적이 생성되며, 그로 인해 시스템에 많은 문제를 야기할 수 있다. 따라서 여기선 다음과 같은 방식으로 가중치를 조절한다:

Parameters of the system and DDP

r=diagQf,1-diagQ1/tsim time2Qf,1i=Q1+ri+12(15) 

여기서 Qf, 1(i)는 지수 형태의 weight profile이 생성되며 [Fig. 3]과 같은 결과를 얻었으며, 이것을 실험에 적용하였다.

[Fig. 3]

The weight profile of Qf,1​ generated based on equation (15)

3.2 질량중심이 고려된 DDP의 궤적 생성 알고리즘 시뮬레이션

3.2.1 궤적 생성: 실험1

이 실험에서 로봇의 초기 자세는 [Fig. 4]와 같다. Target으로 ‘X’표시 되어 있는 점이 목표 위치이며, 궤적에 대해서는 DDP를 통해 생성하였다. 초기 위치에 대해서 이 시스템의 말단의 위치 및 방향은 x(q) = [0.0134 m 0.35 m 90°]이다. 목표 위치는 초기 위치에서 x축으로만 이동하며 dx = 50 cm으로 하였다. 이 실험에서는 x축으로만 이동하기 때문에 DDP 알고리즘에서 z축에 해당하는 가중치를 전부 0으로 해야 한다. 만약 가중치를 전부 사용할 경우 이 시스템의 질량중심이 목표 위치보다 아래에 있기 때문에 목표 위치에 도달하지 못하게 된다.

[Fig. 4]

Initial position and orientation of the system for Case 1

[Fig. 5]는 실험1에 대한 결과를 보여준다. [Fig. 5(a)]는 질량중심에 대한 가중치를 적용하지 않았으며, [Fig. 5(b)]는 가중치를 적용한 결과이다. [Fig. 5(a)]에서는 로봇팔의 질량중심의 위치가 카트 경계에 걸쳐있는 모습을 볼 수 있다. 반면 [Fig. 5(b)]에서는 카트 안쪽으로 로봇팔의 질량중심이 이동하며, 시스템의 질량중심 위치에도 가까워진 것을 확인 할 수 있다. 이를 제어 입력(Control Input) 그래프로 보면 [Fig. 6]과 같다. [Fig. 6(a)]와 [Fig. 6(b)]는 각각 질량중심에 대한 가중치를 적용 전/후에 대한 결과이다. 각 결과를 보면 알 수 있듯이 전체 5초 궤적 생성에 대해서 가중치를 적용하게 되면, 로봇팔의 첫번째 관절에 필요한 토크가 가중치를 적용하기 전보다 절대 값으로 5.75 Nm에서 3.061 Nm로 줄어들게 된다. 이 관절에 대해 i=1nτ1i와 같이 이 관절의 토크를 절대값으로 한 뒤 더하여 계산하면 각각 약 1,640 Nm와 1,300 Nm로 질량중심에 대한 가중치를 적용하였을 때 더 낮은 값을 보였다. 또한, [Fig. 7]의 실험1 그래프를 보면, 가중치에 따른 무게중심의 에러를 나타내었다. 무게중심의 에러의 최대 및 최소 값은 서로 비슷하였다. 하지만 5초에서는, 무게중심을 고려하여 궤적 생성한 경우가 그렇지 않은 경우보다 무게중심의 에러가 절대 값 기준으로 0.1729 m에서 0.091544 m로 줄었다.

[Fig. 5]

Experimental results for Case 1: (a) Results when all weights for the COM were set to zero. (b) Result with weights applied

[Fig. 6]

Experimental results for Case 1: (a) Control input trajectories when all weights for the COM were set to zero. (b) Control input trajectories with weights applied

[Fig. 7]

Results of COM error based on COM weight in All cases

3.2.2 궤적 생성: 실험2

실험2에서는 기존 동일한 실험에 말단에 0.3 kg의 물체를 들었다고 가정하고 m3 = 0.6 kg로 하였다. [Fig. 8]은 이 실험의 초기 모습을 보여준다. 앞선 실험과는 다르게 전체 시스템의 질량중심의 위치가 x 방향에 대해 -0.0766 m에서 -0.073 m로 변하였다. 이에 대해 각 가중치를 적용 전/후에 대한 결과를 [Fig. 9]에 나타나있다. 앞선 실험에서처럼 가중치를 적용하기 전에는 질량중심의 위치가 카트를 벗어났고, 말단의 질량을 추가하기 전보다 0.231 m에서 0.263 m로 0.06 m 정도 더 많이 이동하였다. 가중치를 적용하고 나서는 앞선 실험과 동일하게 카트 안쪽으로 질량중심이 위치하였다.

[Fig. 8]

Initial position and orientation of the system for Case 2

[Fig. 9]

Experimental results for Case 2: (a) Results when all weights for the COM were set to zero. (b) Result with weights applied

이 실험에 대한 제어 입력 그래프는 [Fig. 10]에 나타나있다. 이 결과에서 볼 수 있듯이, 비용을 적용 안하면 로봇팔의 첫번째 관절의 토크가 궤적 끝날 때까지 큰 값을 유지 하게 된다. 반면 가중치를 적용하게 되면 그 전보다 작은 값으로 수렴하게 된다. 이 값은 각각 절대값으로 7.945 Nm과 3.752 Nm이다. 실험 1과 동일하게 i=1nτ1i을 적용한 결과, 각각 약 2,153 Nm와 1,617 Nm로 나타났으며, 가중치를 적용한 경우 더 낮은 값을 보였다. 두 실험 모두 질량중심을 제어하며 궤적 생성이 이루어진 것을 확인할 수 있었다. 그리고 카트 범위 안에 질량중심이 들어오기 때문에 로봇 팔의 질량 중심의 무게에 의해 시스템이 불안해지는 문제를 억제 할 수 있었다. 또한, [Fig. 7]의 실험2 그래프를 보면, 무게중심의 에러의 최대 및 최소 값은 이 실험에서도 서로 비슷하였다. 하지만 5초에서는, 무게중심을 고려하여 궤적 생성한 경우가 그렇지 않은 경우보다 무게중심의 에러가 절대 값 기준으로 0.203 m에서 0.09468 m로 줄었다.

[Fig. 10]

Experimental results for Case 2: (a) Control input trajectories when all weights for the COM were set to zero. (b) Control input trajectories with weights applied


4. 결 론

본 논문에서는 DDP 기반 알고리즘을 로봇 팔이 결합된 부유 기저 시스템에 적용하여 궤적 생성을 수행하였다. 대상 시스템은 xz 평면 내에서 동작하는 3링크 모바일 매니퓰레이터로 구성하였다. 이 시스템에서 말단의 궤적을 생성할 때, 로봇 팔의 질량 중심과 전체 시스템의 질량 중심 사이의 거리가 멀어질수록 로봇 팔 관절에 요구되는 토크가 증가하는 현상이 나타난다. 이를 해결하기 위해, DDP의 기본 비용 함수에 로봇 팔의 질량 중심과 시스템 전체의 질량중심 사이의 거리를 최소화하는 항을 추가하였다. 제안한 알고리즘의 효과를 검증하기 위해, 5초 동안의 궤적 생성 과정에서 질량 중심 관련 가중치를 적용한 경우와 적용하지 않은 경우를 비교 분석하였다. 실험은 두 가지 시나리오로 구성하였다. 첫 번째는 초기 설정된 시스템에서 말단이 x축 방향으로 이동하는 단순 궤적을 생성한 경우이며, 두 번째는 말단에 추가 질량이 부착된 상황을 가정하여 질량을 증가시킨 경우이다. 두 실험 모두에서, 질량 중심 항을 포함한 경우 로봇 팔의 질량 중심과 시스템 질량 중심 간의 거리는 각각 0.1729 m에서 0.091544 m로, 0.203 m에서 0.09468 m로 감소하였다. 아울러, 로봇 팔 첫 번째 관절에 작용하는 토크도 각각 5.75 Nm에서 3.061 Nm로, 7.945 Nm에서 3.752 Nm로 감소하는 결과를 보였다. 이는 제안된 알고리즘이 질량 중심의 위치 안정화 뿐 아니라 관절 토크 감소에도 효과적임을 시사한다.

향후 연구에서는 본 논문에서 개념적으로 제안한 시스템을 실제 하드웨어로 구현하고, 제안 알고리즘의 실시간 적용 및 성능 검증을 수행할 예정이다. 본 연구는 이상적인 환경에서 단순화된 모델을 기반으로 수행되었기 때문에, 실제 시스템 적용 시에는 차이가 발생할 수 있다. 이에 따라, 향후에는 실제 운용 환경에서의 복잡성을 반영할 수 있도록 알고리즘을 확장하고, 추가적인 보정 기법들을 개발할 계획이다.

Acknowledgments

This work was supported by the Technology Innovation Program (No. 00444294, Development of Core Technologies for a Multi-Drive Robot Platform Capable of Performing Tasks in Military Areas with Uneven Terrains) funded By the Ministry of Trade, Industry & Energy (MOTIE, Korea).

References

  • G. Ficht and S. Behnke, “Bipedal humanoid hardware design: A technology review,” Current Robotics Reports, vol 2, pp. 201-210, Apr., 2021. [https://doi.org/10.1007/s43154-021-00050-9]
  • P. Biswal and P. K. Mohanty, “Development of quadruped walking robots: A review,” Ain Shams Engineering Journal, vol. 12, no. 2, pp. 2017-2031, Jun., 2021. [https://doi.org/10.1016/j.asej.2020.11.005]
  • X. Liu, Y. Sun, S. Wen, K. Cao, Q. Qi, X. Zhang, H. Shen, G. Chen, J. Xu, and A. Ji, “Development of Wheel-Legged Biped Robots: A Review,” Journal of Bionic Engineering, vol. 21, pp. 607-634, Feb., 2024. [https://doi.org/10.1007/s42235-023-00468-1]
  • J. Hooks and D. Hong, “Implementation of a versatile 3d zmp trajectory optimization algorithm on a multimodal legged robotic platform,” IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, pp. 3777-3782, 2018. [https://doi.org/10.1109/IROS.2018.8593968]
  • D. Mayne, “A second-order gradient method for determining optimal trajectories of non-linear discrete-time systems,” International Journal of Control, vol. 3, no. 1, pp. 85-95, Feb., 1966. [https://doi.org/10.1080/00207176608921369]
  • J. Lee and B.-K. Cho, “Development of a DDP-Based Trajectory Generation Method Considering the Manipulability Measure for 6-DOF Collaborative Robots,” Journal of Computational Design and Engineering, vol. 12, no. 3, pp. 98-114, 2024. [https://doi.org/10.1093/jcde/qwae110]
  • J. Lee and B. K Cho, “Trajectory Generation Method Based on DDP for 6-DOF Collaborative Robot,” 2023 23rd International Conference on Control, Automation and Systems (ICCAS), Yeosu, Republic of Korea, pp. 76-79, 2023. [https://doi.org/10.23919/ICCAS59377.2023.10317033]
  • J. Marti-Saumell, J. Sola, C. Mastalli and A. Santamaria-Navarro, “Squash-box feasibility driven differential dynamic programming,” 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, pp. 7637-7644, 2020. [https://doi.org/10.1109/IROS45743.2020.9340883]
  • J. Koenemann, A. Del Prete, Y. Tassa, E. Todorov, O. Stasse, M. Bennewitz, and N. Mansard, “Whole-body model-predictive control applied to the HRP-2 humanoid,” 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, pp. 3346-3351, 2015. [https://doi.org/10.1109/IROS.2015.7353843]
  • Y. Tassa, T. Erez, and E. Todorov, “Synthesis and stabilization of complex behaviours through online trajectory optimization,” 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vilamoura-Algarve, Portugal, pp. 4906-4913, 2012. [https://doi.org/10.1109/IROS.2012.6386025]
  • Y. Tassa, N. Mansard, and E. Todorov, “Control-limited differential dynamic programming,” 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, pp. 1168-1175, 2014. [https://doi.org/10.1109/ICRA.2014.6907001]
  • S. B. Niku, “Dynamics Analysis and Forces,” Introduction to robotics: analysis, systems, applications, Prentice hall, 2001, pp. 119-144, [Online], https://www.amazon.com/Introduction-Robotics-Analysis-Systems-Applications/dp/0130613096, .

Appendix

Appendix

이 연구에서 사용된 시스템의 로봇의 운동방정식은 다음과 같다:

Mq=M11M12M13M14M21M22M23M24M31M32M33M34M41M42M34M44M11=mcort+m1+m2+m3M12=m32l2cosθ12+2l1cosθ1+2l3cosθ123/2+m22l2cosθ12+2l1cosθ1/2+l1m1cosθ1M13=m32l2cosθ12+2l3cosθ123/2+l2m2cosθ12M14=l3m3cosθ123M21=M12M22=l12m1+l12m2+l12m3+l22m2+l22m3+l32m3+2l1l3m3cosθ23+2l1l2m2cosθ2+2l1l2m3cosθ2+2l2l3m3cosθ3M23=l22m2+l22m3+l32m3+l1l3m3cosθ23+l1l2m2cosθ2+l1l2m3cosθ2+2l2l3m3cosθ3M24=l3m3l3+l1cosθ23+l2cosθ3 M31=M13,M32=M23M33=l22m2+l22m3+l32m3+2l2l3m3cosθ3M34=l3m3l3+l2cosθ3 M41=M14,M42=M24,M43=M34M44=l32m3
Cq,q˙=C11C12C13C14C21C22C23C24C31C32C33C34C41C42C34C44C11=0C12=-2θ˙1l2m2sinθ12-2θ˙1l2m3sinθ12-2θ˙2l2m2sinθ12-2θ˙1l2m3sinθ12-2θ˙1l1m1sinθ1-2θ˙1l1m2sinθ1-2θ˙1l1m3sinθ1-2θ˙1l3m3sinθ123-2θ˙2l3m3sinθ123-2θ˙3l3m3sinθ123C13=-2θ˙1l2m2sinθ12-2θ˙1l2m3sinθ12-2θ˙2l2m2sinθ12-2θ˙2l2m3sinθ12-2θ˙1l3m3sinθ123-2θ˙2l3m3sinθ123-2θ˙3l3m3sinθ123C14=-2l3m3sinθ123θ˙123C21=0C22=-2θ˙2l1l3m3sinθ23-2θ˙3l1l3m3sinθ23-2θ˙2l1l2m2sinθ2-2θ˙2l1l2m3sinθ2-2θ˙3l2l3m3sinθ3C23=-2θ˙1l1l3m3sinθ23-2θ˙2l1l3m3sinθ23-2θ˙3l1l3m3sinθ23-2θ˙1l1l2m2sinθ2-2θ˙1l1l2m3sinθ22-2θ˙2l1l2m2sinθ2-2θ˙2l1l2m3sinθ2-2θ˙3l2l3m3sinθ3C24=-2l3m3l1sinθ23+l2sinθ3θ˙123C31=0C32=2θ˙1l1l3m3sinθ23+2θ˙1l1l2m2sinθ2+2θ˙1l1l2m3sinθ2-2θ˙3l2l3m3sinθ3C33=-2θ˙3l2l3m3sinθ3C34=-2l2l3m3sinθ3θ˙123C41=0C42=2l3m3θ˙1l2sinθ3+θ˙2l2sinθ3+θ˙1l1sinθ23C43=2l2l3m3sinθ3θ˙12C44=0
Gq=G1G2G3G4G1=0G2=-gm3l2sinθ12+l1sinθ1+l3sinθ123-gm2l2sinθ12+l1sinθ1-gl1m1sinθ1G3=-gm3l2sinθ12+l3sinθ123-gl2m2sinθ12G4=gl3m3sinθ123,
이 재 순

2014 국민대학교 기계시스템공학부(공학사)

2016 국민대학교 기계시스템공학부(공학석사)

2023 국민대학교 기계시스템공학부(공학박사)

2023~2024 Robotics and Control Lab 박사후 연구원

2024~현재 한국로봇융합연구원 선임연구원

관심분야: 외골격 로봇팔, 협동로봇제어, 휴머노이드, 여자유도 로봇팔제어

이 준 영

2013 대구경북과학기술원 로봇 및 기계전자공학과(공학석사)

2019 대구경북과학기술원 로봇 및 기계전자공학과(공학박사)

2019~현재 한국로봇융합연구원 선임연구원

관심분야: 동역학 및 제어, 로보틱스 및 응용어플리케이션

유 병 기

2013 한국항공대학교 항공우주기계공학과(학사)

2015 대구경북과학기술원 로봇공학과(석사)

2022 대구경북과학기술원 로봇및 기계전자공학과(박사)

2022~현재 한국로봇융합연구원선임연구원

관심분야: robotic manipulation

김 진 원

2021 금오공과대학교 기계시스템공학과(공학사)

2023 금오공과대학교 기계공학과(공학석사)

2023~현재 한국로봇융합연구원 주임연구원

관심분야: 재난 안전 로봇, 소방용 방수포, 하지 외골격 로봇, 기계 설계

조 백 규

2002 KAIST 기계공학과(공학사)

2004 KAIST 기계공학과(공학석사)

2009 KAIST 기계공학과(공학박사)

2009~2010 ATR, Japan 박사후 연구원

2011 IHMC, USA Research consultant

2011 CMU, USA 박사후 연구원

2011~현재 국민대학교 교수

관심분야: 족형로봇의 설계 및 제어, 패턴 생성 알고리즘

김 무 림

1999 Yanbian University of Science and Technology 재료기계공학과(공학사)

2004 한국과학기술원 기계공학과(공학석사)

2008 한국과학기술원 기계공학과(공학박사)

2008~2016 포항산업과학연구원 선임/책임연구원

2016~현재 한국로봇융합연구원수석연구원/본부장

관심분야: 재난대응로봇, 로봇 제어, 협동로봇, 공장자동화, 유압구동 로봇, 휴머노이드 로봇, 공중매니퓰레이션

[Fig. 1]

[Fig. 1]
A hybrid humanoid robot capable of transitioning between bipedal and quadrupedal modes with integrated manipulators

[Fig. 2]

[Fig. 2]
A simplified model of a floating base system with a manipulator

[Fig. 3]

[Fig. 3]
The weight profile of Qf,1​ generated based on equation (15)

[Fig. 4]

[Fig. 4]
Initial position and orientation of the system for Case 1

[Fig. 5]

[Fig. 5]
Experimental results for Case 1: (a) Results when all weights for the COM were set to zero. (b) Result with weights applied

[Fig. 6]

[Fig. 6]
Experimental results for Case 1: (a) Control input trajectories when all weights for the COM were set to zero. (b) Control input trajectories with weights applied

[Fig. 7]

[Fig. 7]
Results of COM error based on COM weight in All cases

[Fig. 8]

[Fig. 8]
Initial position and orientation of the system for Case 2

[Fig. 9]

[Fig. 9]
Experimental results for Case 2: (a) Results when all weights for the COM were set to zero. (b) Result with weights applied

[Fig. 10]

[Fig. 10]
Experimental results for Case 2: (a) Control input trajectories when all weights for the COM were set to zero. (b) Control input trajectories with weights applied

[Table 1]

Parameters of the system and DDP

System’s parameters
Length [m] l1=0.4 l2=0.3 l3=0.1
Mass [kg] mcart=5.0 m1=1.5 m2=0.5 m3=0.3
Initial position [m] mcart=0 θ1=-60° θ2=120° θ3=30°
DDP’s parameters
tst 0.02 sec
Horizon length 5
Q1 diag (1, 1, 15)
Qf,1 diag (7000, 7000, 10000)
Q2 diag (0.00005, 0.00001, 0.00001, 0.00001)
Qf,2 diag (4, 1, 1, 1)
Q3 diag (10, 0)
Qf,3 diag (15, 0)
R diag (0.001, 0.001, 0.001)