KR20230093933A - 가속도센서를 이용한 보행 로봇의 강화 학습 방법 - Google Patents
가속도센서를 이용한 보행 로봇의 강화 학습 방법 Download PDFInfo
- Publication number
- KR20230093933A KR20230093933A KR1020210182965A KR20210182965A KR20230093933A KR 20230093933 A KR20230093933 A KR 20230093933A KR 1020210182965 A KR1020210182965 A KR 1020210182965A KR 20210182965 A KR20210182965 A KR 20210182965A KR 20230093933 A KR20230093933 A KR 20230093933A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- robot
- reinforcement learning
- compensation
- axis acceleration
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000002787 reinforcement Effects 0.000 title claims abstract description 13
- 230000001133 acceleration Effects 0.000 claims abstract description 35
- 230000000977 initiatory effect Effects 0.000 claims abstract 2
- 238000005259 measurement Methods 0.000 claims abstract 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000033001 locomotion Effects 0.000 description 4
- 230000001447 compensatory effect Effects 0.000 description 3
- 241001455273 Tetrapoda Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
본 발명은 최초 위치에서 IMU 센서의 측정을 개시하는 단계(S10), 난수 발생기에 의해 상기 로봇의 관절에 대한 목표지점을 랜덤 넘버로 생성하는 단계(S20), 상기 목표지점까지 상기 로봇의 관절 각각에 장착된 모터에 의해 상기 관절 각각이 이동하는 단계(S30), 상기 IMU 센서에서 상기 로봇의 Z축 가속도를 측정하는 단계(S40), 상기 Z축 가속도를 보상으로 학습하는 단계(S50)를 포함하는 가속도센서를 이용한 보행 로봇의 강화 학습방법에 관한 것이다.
Description
본 발명은 강화학습을 통해 전복되지 않고 안전되도록 주행가능한 관절각도를 산출하는 것을 목적으로 한다.
로봇은 사람으로서는 하기 힘든 무거운 물건을 운반하는 작업이나 고도의 정밀도를 필요로 하는 작업 등을 수행하는 산업현장에서 주로 사용되어 왔다. 시간이 지남에 따라 산업분야에서 정해진 일만을 수행하는 산업용 로봇 외에 애완용 로봇, 인명구조로봇, 휴먼(human) 로봇 등의 비산업형 로봇이 등장하여 그 수요가 증가하고 있고, 이에 따라, 기존의 하나의 장소에 고정되어 작업을 수행하는 로봇이나 바퀴를 구비하여 이동하는 로봇 외에 네발 동물과 같이 4개의 다리를 구비하는 로봇에 대한 연구 개발이 활발히 추진되고 있다. 이와 같이 4개의 다리를 구비하는 보행 로봇은 스스로 움직여야 하므로 많은 기술을 요구하고 있으며, 각각의 다리를 별도로 제어하여 몸체의 균형을 위한 자세 제어를 수행해야 하므로, 보행 로봇에 특정되는 다양한 기술이 요구되고 있다. 종래기술의 제어방법은, 수평 유지식(Balancing Equation)과 다리 역기구학식(Inverse Kinematics)과 같은 기구학 해석을 통해 보행 로봇의 다리의 발끝 위치와 각 관절의 서보모터의 회전 각도를 계산하여 수행된다. 하지만, 종래기술의 제어방법으로는 보행 로봇의 구조를 해석해야 하며, 로봇의 구조와 관련된 수식을 연산하여야만 보행 로봇에 대한 제어가 가능하다는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 강화학습을 이용하여 4족 12관절 보행 로봇의 안전자세 제어를 위한 자세별 최적 관절위치에 대한 데이터를 확보하기 위함이다.
상기 기술적 과제를 해결하기 위한 본 발명은 가속도센서를 이용한 보행 로봇의 강화 학습방법으로, 가속도 센서란 IMU 센서를 의미하고, 최초 위치에서 IMU 센서의 측정을 개시하는 단계(S10), 난수 발생기에 의해 상기 로봇의 관절에 대한 목표지점을 랜덤 넘버로 생성하는 단계(S20), 상기 목표지점까지 상기 로봇의 관절 각각에 장착된 모터에 의해 상기 관절 각각이 이동하는 단계(S30), 상기 IMU 센서에서 상기 로봇의 Z축 가속도를 측정하는 단계(S40), 상기 Z축 가속도를 보상으로 학습하는 단계(S50)를 포함한다.
또한, S50 단계는 -1g ~ +1g 의 값을 보상으로 학습하되, 상기 로봇이 똑바로 서있으면 +1g, 뒤집힌 경우 -1g인 Z축 가속도의 값을 보상으로 학습하고, 기 로봇이 기울어졌으나 넘어지지 않은 경우 0 ~ +1g, 상기 로봇이 넘어진 경우는 -1g ~ 0 사이의 값을 보상으로 학습할 수 있다. g는 중력가속도를 의미한다.
또한, 상기 보상으로 학습하는 횟수가 설정값 이상이 된 후, 상기 보상값이 전복되지 않는 안전값에 수렴했으면, 상기 보상값에 대한 상기 Z축 가속도를 안전자세로 저장하고, 상기 안전값에 수렴한 상기 관절목표 지점의 좌표값을 상기 안전자세에 대한 최적 관절 좌표값으로 저장한다
도 1은 본 발명에서 적용되는 보행 로봇의 예시이다.
도 2는 본 발명의 진행순서를 나타내는 순서도이다.
도 2는 본 발명의 진행순서를 나타내는 순서도이다.
본 발명을 실시하기 위한 구체적인 내용을 도면과 함께 설명한다.
도 1은 본 발명에서 적용되는 보행 로봇의 예시이며, 몸통 중앙에는 IMU 센서(10)가 위치한다. 본 발명의 보행 로봇은 4족이며, 각각에는 실제 네발 동물에서와 같이 3개의 관절이 형성되어 있어, 전체 12개의 관절이 있으며, 각 관절을 구동하기 위한 구동모터는 각각 탑재되어 있다.
도 2를 각 단계별로 설명하면 다음과 같다. 로봇은 거리이동없이 동일 위치에서, 각 관절만의 움직임에 대해 단계별로 설명된다.
먼저, S10은 IMU 센서가 측정을 시작하는 단계이다. 초기 4족에 의해 안전자세를 취한 상태에서 개시된다.
S20은 4족 12개 관절의 각도 각각에 대해 임의의 각도를 설정하는 단계이다.
임의의 각도는 난수발생기로부터 랜덤 넘버(random number)를 생성하되, 12개 관절에 대해 동시에 12개의 데이터 셋(data set)를 설정한다. 이 때, 랜덤 넘버를 생성하는 이유는, 역기구학을 통해 구할 수 있는 각도 조합이 아닌 새로운 각도 조합을 탐색 함으로써 더 각도 조합이 존재하는 가능성을 찾기 위함이다.
S30은 S20에서 만들어진 12개 관절에 대한 데이터셋으로 각각의 관절에 위치한 각각의 모터에 의해 12개의 관절이 설정된 목표지점까지 모션을 취하는 단계이다. 목표지점이란, 설정된 각도이거나 해당 위치에 대한 3차원 좌표값일 수 있다. 관절의 회전 등 이동을 한 뒤, S40에서 IMU 센서에 의해 Z축 가속도를 측정한다. 안전자세에서 Z축 가속도는 +1g이며, 쓰러져 전복되는 경우의 Z축 가속도는 -1g이다. 안전자세와 전복된 자세의 중간에서는 IMU 센서가 받는 가속도 방향과 크기에 따라 Z축 가속도는 -1g ~ +1g 사이의 값을 갖게된다.
S50은 S40에서 측정된 Z축 가속도를 보상학습하는 단계이다. 설정된 데이터셋에 따라 관절의 운동이 모두 끝나 특정한 자세에 수렴한 경우, 이 상황에서 Z 축 가속도를 보상으로 학습하게 된다. 완전히 똑바로 서있는 경우 +1g로 가장 큰 보상을 얻게 되며, 기울어 졌으나 넘어지지 않은 경우 0 ~ +1g 사이의 값을 보상으로 받게 됨. 이 중 일정 수준 이상은 안전되었다고 판단할 수 있고, 이는 학습을 실시하는 사람이 원하는 상황에 따라 추가적으로 지정가능 하다. 완전히 넘어진 경우(눕거나 그 이상으로 뒤집어진 경우)는 -1g ~ 0 사이의 값을 보상으로 받게 되며, 명백히 실패한 상황으로 인식할 수 있다.
즉, 본 발명은 특정한 자세로 수렴한 경우가 아닌, 모션 중인 경우에 대한 Z축 가속도를 측정하는 것이 아니라, 수렴된 자세에 대해서만 Z 축 가속도를 측정대상으로 한다.
S60에서 이러한 랜덤 넘버에 의해 정해진 3차원 좌표값에 대해 수렴된 자세에 따른 보상학습의 횟수를 충분히 갖는 단계로서, 보상학습이 충분한 지에 대한 기준 횟수는 사용자에 의해 정해질 수 있다.
S70은 목표되는 보상학습의 횟수를 달성 한 뒤, 전복되지 않는다고 판단할 수 있는 값에 수렴했는지를 판단한다. -1g ~ +1g까지 보상학습을 설정된 횟수만큼 충분히 수행한 뒤, 도달한 Z축 가속도가 -1g라면 전복됨을 나타내는 값이다. 반면, +1g라면 최초의 안전된 시작상태를 나타낸다. 실제로는 -1g ~ +1g 사이에서 안전자세라고 평가할 만한 -1g과 +1g 사이의 특정값인 안전값(safty value)에 도달하면 최적 관절 위치나 각도 혹은 좌표값에 도달한 것으로 보고 실행을 중지한다(S80).
S70은 상기 보상으로 학습하는 횟수가 설정값 이상이 된 후(S60), 보상값이 전복되지 않는 안전값(safty value)에 수렴했으면, 상기 보상값에 대한 상기 Z축 가속도를 안전자세로 저장한다. 또한, 상기 안전값에 수렴한 상기 관절목표 지점의 좌표값을 상기 안전자세에 대한 최적 관절 좌표값으로 저장한다.
S80은 S70에서 안전자세라고 할 수 있는 안전값에 보상값이 도달한 후, 안전자세에 도달한 k번째 보상값(Reward)의 계산에 사용된 상기 관절목표 지점의 좌표값Z축 가속도 및 안전자세에서의 관절목표 지점의 좌표값을 데이터 셋을 저장하고, 향후 동일한 보행 로봇에서 사용할 수 있다.
또한, 안전자세에는 보상값 뿐 아니라, 그 때의 모터 토크값이나 전류값이 추가될 수 있다.
Claims (7)
- 가속도센서를 이용한 보행 로봇의 강화 학습방법에 있어서,
최초 위치에서 IMU 센서의 측정을 개시하는 단계(S10);
난수 발생기에 의해 상기 로봇의 관절에 대한 목표지점을 랜덤 넘버로 생성하는 단계(S20);
상기 로봇은 동일 위치에서, 상기 목표지점까지 상기 로봇의 관절 각각에 장착된 모터에 의해 상기 관절만 각각 이동하는 단계(S30);
상기 IMU 센서에서 상기 로봇의 Z축 가속도를 측정하는 단계(S40);
상기 Z축 가속도를 보상값으로 학습하는 단계(S50);
를 포함하는 가속도센서를 이용한 보행 로봇의 강화 학습방법
- 제1항에 있어서,
상기 S50 단계는 -1g ~ +1g 범위에서, 상기 로봇이 똑바로 서있으면 +1g, 뒤집힌 경우 -1g인 상기 Z축 가속도의 값을 보상값으로 학습하는 것을 특징으로 하는 가속도센서를 이용한 보행 로봇의 강화 학습방법
- 제2항에 있어서,
상기 S50 단계는 -1g ~ +1g 범위에서, 상기 로봇이 기울어졌으나 넘어지지 않은 경우 0 ~ +1g, 상기 로봇이 넘어진 경우는 -1g ~ 0 사이의 상기 Z축 가속도의 값을 보상값으로 학습하는 것을 특징으로 하는 가속도센서를 이용한 보행 로봇의 강화 학습방법
- 제4항에 있어서,
상기 보상으로 학습하는 횟수(k)가 설정값 이상이 된 후,
상기 보상값이 상기 로봇이 전복되지 않도록 수렴한 안전값(safty value)에 도달했는지를 판단(S70)하는 것을 특징으로 하는 가속도센서를 이용한 보행 로봇의 강화 학습방법
- 제5항에 있어서,
상기 보상값이 상기 안전값에 도달 시, 상기 Z축 가속도를 안전자세로 저장하는 것을 특징으로 하는 가속도센서를 이용한 보행 로봇의 강화 학습방법
- 제6항에 있어서,
상기 안전값에 수렴한 상기 k번째 보상값(Reward)의 계산에 사용된 상기 관절목표 지점의 좌표값을 상기 안전자세에 대한 최적 관절 좌표값으로 저장하는 것을 특징으로 하는 가속도센서를 이용한 보행 로봇의 강화 학습방법
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210182965A KR102664200B1 (ko) | 2021-12-20 | 2021-12-20 | 가속도센서를 이용한 보행 로봇의 강화 학습 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210182965A KR102664200B1 (ko) | 2021-12-20 | 2021-12-20 | 가속도센서를 이용한 보행 로봇의 강화 학습 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230093933A true KR20230093933A (ko) | 2023-06-27 |
KR102664200B1 KR102664200B1 (ko) | 2024-05-10 |
Family
ID=86947217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210182965A KR102664200B1 (ko) | 2021-12-20 | 2021-12-20 | 가속도센서를 이용한 보행 로봇의 강화 학습 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102664200B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001191284A (ja) * | 1999-10-25 | 2001-07-17 | Sony Corp | ロボット装置及びロボット装置の学習方法 |
KR20190032925A (ko) * | 2017-09-20 | 2019-03-28 | 삼성전자주식회사 | 개인화된 보행 정책을 갱신하는 방법 및 장치 |
KR20190040506A (ko) | 2016-09-15 | 2019-04-18 | 구글 엘엘씨 | 로봇 조작을 위한 심층 강화 학습 |
-
2021
- 2021-12-20 KR KR1020210182965A patent/KR102664200B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001191284A (ja) * | 1999-10-25 | 2001-07-17 | Sony Corp | ロボット装置及びロボット装置の学習方法 |
KR20190040506A (ko) | 2016-09-15 | 2019-04-18 | 구글 엘엘씨 | 로봇 조작을 위한 심층 강화 학습 |
KR20190032925A (ko) * | 2017-09-20 | 2019-03-28 | 삼성전자주식회사 | 개인화된 보행 정책을 갱신하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR102664200B1 (ko) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wiedebach et al. | Walking on partial footholds including line contacts with the humanoid robot atlas | |
KR101772974B1 (ko) | 휴머노이드 로봇의 인간 유사 동작 생성 방법 | |
KR102044437B1 (ko) | 로봇의 균형 제어 장치 및 그 제어 방법 | |
Jatsun et al. | Adaptive control system for exoskeleton performing sit-to-stand motion | |
Zhang et al. | Development of a bionic hexapod robot for walking on unstructured terrain | |
KR101778027B1 (ko) | 보행 로봇 및 그 자세 제어 방법 | |
US10246152B2 (en) | Control device for mobile robot | |
US10099378B2 (en) | Mobile robot | |
Lee et al. | Fall on backpack: Damage minimizing humanoid fall on targeted body segment using momentum control | |
Barros et al. | Bimanual haptics for humanoid robot teleoperation using ROS and V-REP | |
Putri et al. | Gait controllers on humanoid robot using kalman filter and PD controller | |
US9862095B2 (en) | Control device for mobile robot | |
Bajrami et al. | Kinematics and dynamics modelling of the biped robot | |
KR20230093933A (ko) | 가속도센서를 이용한 보행 로봇의 강화 학습 방법 | |
Nasution et al. | Body Balancing Control for EILERO Quadruped Robot while Walking on Slope | |
JP2021121451A (ja) | 教示方法およびロボットシステム | |
Hoffman et al. | Upper limb compliant strategy exploiting external physical constraints for humanoid fall avoidance | |
KR20180004397A (ko) | 보행 로봇 및 그 자세 제어 방법 | |
Li et al. | Dynamic torso posture compliance control for standing balance of position-controlled humanoid robots | |
JP2006247800A (ja) | 脚式移動ロボットの制御装置 | |
Tarek et al. | Modeling and simulation of a dual arm robot during the compensation of an external force | |
Lu et al. | Transition motion from ladder climbing to brachiation with optimal load-allocation control | |
Sorin et al. | The modeling of the hexapod mobile robot leg and associated interpolated movements while stepping | |
Wasielica et al. | Active stabilization of a humanoid robot base on inertial measurement unit data | |
JP4525325B2 (ja) | 超冗長自由度ロボットの動作制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |