강화 학습으로 로봇을 따르는 라인 프로그래밍


15

강화 학습 알고리즘을 사용하여 로봇을 따르는 라인을 프로그래밍하는 것을 고려하고 있습니다. 내가 숙고하고있는 질문은 알고리즘이 임의의 경로를 탐색하는 방법을 배우게하는 방법입니다.

강화 학습을 위해 Sutton & Barto Book 을 따랐을 때 , 나는 자동차 요원이 트랙에서 떨어지지 않고 속도를 조절하지 않는 것을 배우는 경마장과 관련된 운동 문제를 해결했습니다. 그러나이 운동 문제로 인해 요원은 훈련 된 트랙을 탐색하는 방법을 알게되었습니다.

로봇이 임의의 경로를 탐색하도록하는 것이 강화 학습의 범위에 있습니까? 에이전트는 않습니다 절대적으로 경주 회로 또는 경로의지도를 가지고 있나요? 상태 공간에 어떤 매개 변수를 사용할 수 있습니까?


1
어떻게해야할지 모르겠지만, 그 모양에 관계없이 경로 내에서 스스로를 지키도록 가르 칠 수 있다고 확신합니다. 이 경우 교육의 목표는 로봇이 즉각적인 입력 (또는 일부 이력)을 기반으로하는 로컬 결정이되어야합니다. 이런 식으로 모든 결정이 로컬이기 때문에 경로의 모양이 중요하지 않습니다.
Shahbaz

@Shahbaz-주 공간에 어떤 것을 제안 하시겠습니까?
주님로.

실제로 확실하지 않습니다. 대학에서 인공 지능을 공부했지만, 그것은 저의 직업 / 연구 분야가 아닙니다. 당신이 받아 들인 대답은 합리적입니다!
Shahbaz

Markdown을 테스트하기 위해 답변을 사용하고 있습니까? 원하는 것을 작성하고 바로 아래에 렌더링 한 다음 게시 할 수 없습니다 .
Shahbaz

답변:


8

머신 러닝 알고리즘의 주요 측정 방법 중 하나는 일반화 기능 (즉, 이전에 알려지지 않은 시나리오에 학습 한 내용을 적용)입니다. 강화 학습자 (RL) 잘 일반화 할 수 있지만이 능력은 부분적으로 내 경험에서 상태 공간 공식의 기능입니다. 즉, 올바른 설정을 찾을 수 있다면 RL 학습자는 레이스 회로의 맵이 필요하지 않습니다.

사용할 매개 변수에 대한 질문이 남아 있습니다. 로봇에서 사용할 수있는 센서에 대해 더 많이 알지 못하면 추측 만 할 수 있습니다. 나의 첫 번째 성향은 선과 로봇의 상대적 방향을 인코딩하려고 시도하는 것입니다 (즉, 로봇이 오른쪽, 왼쪽 또는 단순히 선과 평행하게 움직이는 경향이 있습니다). 그렇게하면 상태 공간이 작게됩니다. 꼭 필요한 것은 아니지만 빠르고 간단하게 구현할 수 있습니다. 또한 로봇이 일정한 속도로 움직이지 않으면 로봇이 더 빠른 속도로 움직일 때 더 빨리 반응해야하기 때문에 로봇 속도를 인코딩하는 데 도움이 될 수 있습니다.


지도가 없으면 상태 공간은 로봇이 즉각적인 위치에서 감지 할 수있는 것입니다. 따라서 어느 정도까지는지도는 "예상"하는 방법 일뿐입니다. 맵이없는 시나리오에서 배운 행동은 본질적으로 "이전과 같은 위치를 모르기 때문에 이전과 같은 일을하지만 느리게 진행됩니다" (아마도, 트랙의 가장자리가 어디인지 알 수있을 것입니다.)
Ian

정책은 주어진 상태에 어떤 제어를 적용해야하는지 알려줍니다. 상태 공간이 RL 에이전트에 대해 잘 공식화되어 있으면 분명히 다른 시나리오가 상태 공간에서 동일하게 보이고 동일한 동작을 생성 할 수 있습니다. 이것을 일반화라고하며 올바르게 수행하면 바람직합니다. 로봇은 제어 루프의 속도에 따라 최대 속도를 갖습니다. 배운 행동이 반드시 속도를 늦추는 것은 아닙니다. 보상이 실행 시간 길이와 반비례하면 에이전트는 제어 루프의 속도와 관련하여 속도를 최대로 기울이게됩니다.
DaemonMaker

0

나는 당신이 어떤 종류의 로봇을 가지고 있는지 잘 모르겠지만 지금 몇 년 동안 robocup 구조선을하고 있습니다. PID를 사용하여 라인을 잘 따르고 싶다면 좋은 옵션이라는 것을 알게되었습니다. 이것으로 확장하겠습니다. 선의 양쪽에 두 개의 광 센서가 있다고 가정하면 선이 중간에 있도록 동일한 값을 갖기를 원할 것입니다. 그런 다음 두 센서의 값 차이를 사용하여 로봇의 회전 비율을 변경할 수 있습니다. 이 기술을 사용하면 로봇이 특별한 속도로 선을 따라갈 수 있습니다. 로봇이 라인 추적 능력을 향상시키는 법을 배우도록 고민하고있는 것처럼. 내가 생각해 낸 것은 당신이 원하는 것보다 높은 초기 PID 값으로 시작하고 자이로 스코프 센서를 사용하여 로봇이 선을 추적 할 때 진동의 주파수를 측정합니다. 거기에서 안정적인 시스템을 얻기 위해 값을 낮추는 정도를 결정하는 자체 기능을 만들 수 있습니다. 이것은 자동화 최적화 알고리즘과 같은 인공 지능이 아니지만 IM 18과 i에서 코드 작성 방법을 배웠습니다. 인터넷. 이게 도움이 되길 바란다. 당신이 어떤 질문이 나에게 이메일을 가지고 있다면 이것은 내 주요 이메일 주소가 아니므로 정기적으로 확인하지 않습니다. 69darkeagle@sigaint.org

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.