전체 글 53

STM32 개발환경 설정하기

STM32 프로그램 개발을 위해 필요한 환경을 설정하는 과정에 대한 설명입니다. 아래 과정은 다음 환경에서 진행했습니다. Windows 11 Home 1. Java 설치하기 STM32 CubeIDE는 Eclipse 프로그램에 플러그인 형식으로 만들어진 개발 프로그램입니다. CubeIDE를 실행하기 위해서는 java를 설치해야 합니다. https://www.oracle.com/kr/java/technologies/downloads/#java11에 접속하면 아래와 같은 화면을 확인할 수 있습니다. (이때 오라클 계정에 로그인이 필요합니다. 회원 가입 후 로그인 하면 됩니다.) 'jdk-11.0.18_windows-x64_bin.exe'를 다운로드합니다. 다운로드한 설치파일을 실행해서 설치합니다. (모두 기본..

로봇/STM32 2023.02.21

바닥부터 배우는 강화 학습 | 09. 정책 기반 에이전트

'바닥부터 배우는 강화 학습' 9장에는 정책 기반 에이전트를 학습하는 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다. 참고자료 도서: 바닥부터 배우는 강화 학습 / 9장 정책 기반 에이전트 9.1 Policy Gradient 가치 기반 에이전트가 액션을 선택하는 방식은 결정론적(deterministic): 모든 상태 $s$에 대해 각 상태에서 선택하는 액션이 변하지 않음 정책 기반 에이전트는 확률적 정책(stochastic policy): $\pi(s, a) = \mathbb{P}[a|s]$ 정책 기반 에이전트는 가치 기반 에이전트에 비해 좀 더 유연한 정책을 가질 수 있음 액션 공간(action space)이 연속적(continuous)인 경우 (예, 0에서 1 ..

바닥부터 배우는 강화 학습 | 08. 가치 기반 에이전트

'바닥부터 배우는 강화 학습' 8장에는 가치 기반 에이전트를 학습하는 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다. 참고자료 도서: 바닥부터 배우는 강화 학습 / 8장 가치 기반 에이전트 이번 챕터에서 다룰 문제 ◦ 모델 프리 ◦ 상태 공간 (state space)과 액션 공간(action space)이 매우 커서 테이블에 담지 못할 상황 강화 학습에 뉴럴넷을 접목시키는 접근법 2가지 ◦ 함수 $v_{\pi}(s)$나 $q_{\pi}(s)$를 뉴럴넷으로 표현하는 방식 ◦ 정책 함수 $\pi(a|s)$를 뉴럴넷으로 표현하는 방식 가치 기반(value-based): 가치 함수에 근거하여 액션을 선택 모델-프리 상황에서는 $v(s)$만 가지고 액션을 정할 수 없기 때문..

ROS1에 CygLiDAR 연동하기

LiDAR는 주변상황을 인식하기 위한 장비로 카메라와는 다르게 레이저를 이용해서 객체의 위치와 거리를 정확하게 측정할 수 있습니다. 라이다로 인식된 정보를 subscribe 하는 과정에 대한 설명입니다. 아래 과정은 모두 아래 명령을 통해 Docker Container에 접속한 이후 실행하는 내용입니다. $ docker exec -it ros1 /bin/bash 1. 시험환경 H/W: X86 계열 노트북 Host OS: Ubuntu-22.04-LTS Desktop Docker Container: Ubuntu에서 Docker를 이용한 ROS1, ROS2 설치 과정을 통해 실행된 docker 소스코드: ROS1에 YOLO v5 연동하기를 통해 카메라의 영상에서 Object Detection이 동작이 구현된 ..

로봇/ROS 2023.01.19

ROS1에 YOLO v5 연동하기

카메라는 로봇이 주변 상황을 인식하기 위해 사용되는 장비로 사람의 눈과 같은 역할을 합니다. 카메라로 인식된 영상을 YOLO v5를 이용해 Object Detection을 실행하고 그 결과를 publish 하고 subscribe 과정에 대한 설명입니다. 아래 과정은 모두 아래 명령을 통해 Docker Container에 접속한 이후 실행하는 내용입니다. $ docker exec -it ros1 /bin/bash 1. 시험환경 H/W: X86 계열 노트북 Host OS: Ubuntu-22.04-LTS Desktop Docker Container: Ubuntu에서 Docker를 이용한 ROS1, ROS2 설치 과정을 통해 실행된 docker 2. ROS1에 카메라 연동하기 2.1. roscore 실행 아래 ..

로봇/ROS 2023.01.18

Ubuntu에서 Docker를 이용한 ROS1, ROS2 설치

ROS1은 기본적으로 Ubuntu 18.04에서 동작합니다. 그리고 ROS2는 Ubuntu 22.04에서 동작합니다. 즉 ROS1, ROS2를 하나의 Ubuntu에서 실행하기 어렵다는 의미입니다. Docker를 사용해서 ROS1, ROS2가 하나의 Ubunt에서 동작 가능하도록 하는 방법에 대한 설명입니다. 그리고 두 번째 제약사항은 Docker container 내부에서 Host의 카메라 및 /dev 폴더 아래 다양한 디바이스에 접근이 가능해야 합니다. 카메라는 ROS를 통해 주변 상황을 인식하기 위해서는 눈 역할을 하는 카메라를 인식할 수 있어야 합니다. 그리고 /dev 폴더 아래 다양한 디바이스는 Lidar 및 센서 등 다양한 외부 장비를 사용할 수 있게 하기 위함입니다. 아래 내용은 Ubuntu-..

로봇/ROS 2023.01.17

바닥부터 배우는 강화 학습 | 07. Deep RL 첫 걸음

'바닥부터 배우는 강화 학습' 7장에는 무수히 많은 MDP를 풀기 위해 딥러닝을 강화학습에 적용하는 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다. 참고자료 도서: 바닥부터 배우는 강화 학습 / 7장 Deep RL 첫 걸음 7.1 함수를 활용한 근사 바둑의 경우는 바둑판 $19 \times 19$ 격자의 모든 빈칸이 바둑알을 놓을 수 있는 후보지가 되고 그로 인한 상태의 수가 너무 많음 ◦ 체스: $10^{47}$ ◦ 바둑: $10^{170}$ 연속적인 상태 공간(continuous state space): 바둑이나 체스처럼 이산적(discrete)인 형식이 아닌 속도와 같이 연속적인 값을 가질 수 있음. 상태의 개수가 너무 많거나 상태 공간이 연속적이면 ◦ 상태 ..

바닥부터 배우는 강화 학습 | 06. MDP를 모를 때 최고의 정책 찾기

'바닥부터 배우는 강화 학습' 6장에는 MDP를 모르고 있는 경우 최고의 정책을 찾는 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다. 참고자료 도서: 바닥부터 배우는 강화 학습 / 6장 MDP를 모를 때 최고의 정책 찾기 동영상: https://www.youtube.com/watch?v=2h-FD3e1YgQ&list=PLpRS2w0xWHTcTZyyX8LMmtbcMXpd3s4TU&index=5 6.1 몬테카를로 컨트롤 ◈ 정책 이터레이션을 그대로 사용할 수 없는 이유 첫 번째: 반복적인 정책평가를 사용할 수 없음 모델 프리 상황에서는 보상함수 $r_s^a$와 전이확률 $P_{ss'}^a$을 모르기 때문에 아래 벨만 기대 방정식을 사용할 수 없음 $$v_{\pi}(s)..

바닥부터 배우는 강화 학습 | 05. MDP를 모를 때 밸류 평가하기

'바닥부터 배우는 강화 학습' 5장에는 MDP를 모르고 있는 경우 밸류를 평가하는 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다. 참고자료 도서: 바닥부터 배우는 강화 학습 / 5장 MDP를 모를 때 밸류 평가하기 동영상: https://www.youtube.com/watch?v=47FyZtBRglI&list=PLpRS2w0xWHTcTZyyX8LMmtbcMXpd3s4TU&index=4 모델 프리 보상 함수 $r_s^a$와 전이 확률 $P_{ss'}^a$를 모르는 상황 '모델을 모른다', 'MDP를 모른다', '모델 프리다'는 같은 의미 5.1 몬테카를로 학습 동전의 앞면 뒷면이 나올 확률을 모르더라도 동전을 여러 번 던져보면 확률을 가늠할 수 있음 동전을 여러 번 ..

바닥부터 배우는 강화 학습 | 04. MDP를 알 때의 플래닝

'바닥부터 배우는 강화 학습' 4장에는 MDP를 알고 있는 경우 정책을 발전시키는 플래닝 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다. 참고자료 도서: 바닥부터 배우는 강화 학습 / 4장 MDP를 알 때의 플래닝 동영상: https://www.youtube.com/watch?v=rrTxOkbHj-M&t=29s 전제조건 다음 두 조건이 만족하는 상황 ◦ 작은 문제 ◦ MDP를 알 때 플래닝(planning): MDP에 대한 모든 정보를 알 때 이를 이용하여 정책을 개선해 나가는 과정 4.1 밸류 평가하기 - 반복적 정책 평가 반복적 정책 평가(Iterative policy evaluation) 방법을 통해 각 상태 $s$에 대한 가치 함수 $v(s)$ 계산 가능 위..