Reference: arxiv.org/pdf/1507.06527.pdf COMA 구현을 하다가 RNN을 포함하는 agent 업데이트를 해야해서 가장 기본적이라고 하는 DRQN을 구현 해봄. Code github.com/keep9oing/DRQN-Pytorch-CartPole-v1 keep9oing/DRQN-Pytorch-CartPole-v1 Deep recurrent Q learning on CartPole-v1 environment - keep9oing/DRQN-Pytorch-CartPole-v1 github.com 에러 제보 환영입니다. :) POMDP (partially observable MDP) 대부분의 강화학습 문제는 MDP로 문제를 정의하고 최대 objective(reward, entropy..
며칠전부터 Policy gradient 알고리즘들 밑바닥부터 짜는 중에 A3C 개발하며 느낀점들 1. 구현체 github.com/keep9oing/PG-Family keep9oing/PG-Family Basic PG Reinforcement algorithms. Contribute to keep9oing/PG-Family development by creating an account on GitHub. github.com 2. multi processing A3C를 구현하려면 멀티 프로세싱을 해야했는데, 뭐 어떻게 하는지 전혀 몰라서 python 의 multi processing packag관련 튜토리얼을 먼저 봐야했다. 2-1) 튜토리얼 docs.python.org/ko/3/library/multipr..
별거아니지만 자주 까먹으면서 엄청 유용한 기본 내장함수 zip 원래는 두개의 리스트를 튜플로 된 하나의 리스트로 묶어주는 함수이다. Number = [1,2,3,4] Name = ['hong','gil','dong','nim'] Number_Name = list(zip(Number,name)) print(Number_Name) ''' 결과 : [(1 ,'hong'), (2 ,'gil'), (3 ,'dong'), (4 ,'nim')] ''' 출처:https://medium.com/@hckcksrl/python-zip-%EB%82%B4%EC%9E%A5%ED%95%A8%EC%88%98-95ad2997990 연구소 특성상 로봇이나 비행기체를 질점으로 표현하는 일이 많다보니 position을 튜플로 표현하고 리스..
Trail following and obstacle avoidance from 민재 정 [시물레이션] [실험 영상] 항공우주 가을 학회 발표자료, 길 추적(Trail following)에는 CNN기반 지도학습을, 장애물 회피(Obstacle avoidance)에는 D3QN기반 강화학습을 적용하여 두가지 러닝 기법을 합쳐 하나의 local planner로 만들어보려는 시도였다. 시뮬레이션은 PX4 SITL을 사용하고 Gazebo에서 검증했다. 실험은 Jetson Xavier를 메인 연산장치로 사용하고 비행제어는 Pixhawk4와 PX4를 사용했다. 한동안 애먹였던 과제인데, 드디어 완료. 부끄러운 결과물이지만 오히려 그렇기에 기록한다.
그동안은 ROS2의 학습용 패키지인 turtlesim 패키지만을 돌려봤습니다. 이번 차 부터는 그 것들이 어떻게 돌아가는 지 내부를 알아보면서 다시 한 번 학습을 해 보겠습니다. 오늘은 노드(node)에 대해 알아보겠습니다. 노드는 ROS2 시스템에서 가장 기본적인 실행 단위를 의미하고, 로봇시스템의 기능 하나하나를 노드로 만들어서 전체 시스템을 돌리게 된다고 생각하면 됩니다. 이전 튜토리얼: ROS2 foxy 튜토리얼2 - turtlesim과 rqt 1. ROS 그래프 ROS 시스템에서 가장 중요한 역할 중 하나는 유저들이 개발한 기능들간의 통신입니다. 그리고 각 기능들은 노드로 구현되는데 이 노드간의 통신과 노드의 집합을 그래프라고 일컫습니다. 2. ROS2에서의 노드 앞서 말했든 노드는 하나의 기능..
ROS2를 처음 학습할 때 가장 먼저 돌려볼 프로그램이 turtlesim 입니다. 앞으로 turtlesim이 어떻게 돌아가는 지 확인해 보면서 ROS2의 필수 요소들을 이해해 보도록 합니다. 또한 rqt는 ROS2의 GUI툴 중 하나로 ROS1 때와 마찬가지로 중요한 역할을 해줄 녀석입니다. ROS2에서는 좀 더 유저 친화적으로 나왔다고하니 기대해 보도록 하겠습니다. 오늘은 turtlesim을 통해 node를 실행하는 방법을 알아보겠습니다. 이전 튜토리얼: ROS2 foxy 튜토리얼1 - 설치 및 설정 1. turtlesim 설치 sudo apt update sudo apt install ros-foxy-turtlesim 제대로 깔렸는지 확인해줍니다. ros2 pkg executables turtlesi..
ROS2 Foxy에 대한 출시 기념으로 튜토리얼 정주행. [설치] index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/ 우분투(20.04) 사용 시 여기 절차를 그대로 따라가시면 됩니다 [설정] 1. source setup file ROS2 명령어들을 터미널에서 실행하기 위해서는 터미널을 켤 때 마다 source /opt/ros//setup.bash 명령을 실행해 줘야합니다. 에는 현재 사용하는 ros 버전이름을 넣으면 됩니다. 예를 들어 지금 Foxy를 설치했으므로 source /opt/ros/foxy/setup.bash 을 터미널에서 실행해 주시면 됩니다. 2. source 자동화 매번 터미널을 켤때마다 source하기 귀찮을 수 있습니다...
어느날 부터 [Err] [REST.cc:205] Error in REST request 라는 에러가 가제보를 실행할 때마다 뜨기시작. 아직까지 쓰는데 별 지장은 없었지만 계속 빨간 글씨가 뜨는 것이 거슬려서 검색을 통해 해결했다. 우선 홈폴더에 들어가서 Ctrl + H를 이용하여 숨은 디렉토리들을 확인하면 이 녀석이 보일 것이다. 여기서 .ignition/fuel/config.yaml 경로로 들어가서 열어보면 이렇게 돼있는데 이것을 이렇게 url: https://api.ignitionrobotics.org 를 삽입해주고 다시 gazebo 실행을하면 괜찮아진다. 버전업이 되면서 ~fuel.org에 대한 오류가 있다고 한다. 여기서 url: 이후에 스페이스바를 삽입안해주면 아래처럼 parser에러([Err]..