전체 글
-
[MC BlackJack] 오류 수정 및 결과도출강화학습일기 2021. 11. 13. 01:48
pi_table. action 초기화가 모두 0인지 확인하고 랜덤으로 바꾸기 왜 pi_table에 playersum이 11이 나오는지 확인하기 그런데 교재를 확인하니 Optimal policy 부분에 playerCardSum이 11부터 시작한다?! policy improvement에서 코드오류발견 - 제대로 improve되지 않는 것 수정 playerSum이 12보다 작을 때도 그대로 state로 전달하는 오류 발견. 12보다 작으면 카드를 한 장 더 뽑았을 때 무조건 21보다 작으므로 hit을 자동으로 하여 12이상의 상황에서 시작해야함. 이를 반영하여 코드 수정. not natural 상황, stack을 했을 때 비기는 상황을 만들어 놓지 않은 것 발견 - 수정 episode 5000000회 진행. ..
-
[MC BlackJack 결과 시각화] 학습결과 그래프로 나타내기강화학습일기 2021. 11. 10. 00:27
1. 3D plot 아래 사진과 같이 모든 state(playerCardSum, DealerShowing, usableAce)에 대한 Optimal Value를 나타내려고 하였다. 아직 오류가 있어 playerCardSum이 11인 값도 나타나고 있다. 원래 12 미만의 값은 없어야 한다. 현재 이를 해결하고 있다. 아무튼 아래와 같은 3D plot자체를 만들기 위해서 꽤나 어려움을 겪었다. 아래의 소스코드 맨아래를 참고하였다. 조르디교수님코드 코드를 보면 먼저 x와 y의 범위를 지정한다. 그리고 이를 통해 meshgrid를 만든다. 똑같은 x 배열을 y길이방향으로 쭉 복사한다. 마찬가지로 y배열을 x길이방향으로 쭉 복사한다. 이렇게 만든 각각의 장판을 겹쳐서 보면 2차원상에 (x,y)쌍이 만들어진다. ..
-
10 week HW (3) action programming : action server nodeROS2 Study 2021. 11. 9. 17:48
1. make package 2. make python file 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 import rclpy # import ActionServer class to make actionserver from rclpy.action import ActionServer from rclpy.node import Node # import Fibonacci interface type from my_interface_example.action import Fibonacci class FibonacciAction..
-
10 week HM (1) service programmingROS2 Study 2021. 11. 9. 11:46
Message, Service interface programming - Test the created msg interface [pub_node] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 import rclpy # Node class import. In Node class, there are create_publisher(), create_timer()..
-
[MC Blackjack-최종] 코드작성과 결과코드 및 실행영상강화학습일기 2021. 11. 4. 22:27
** 코드 GitHub - needs-searcher/RL_Example: This is my RL Example codes This is my RL Example codes. Contribute to needs-searcher/RL_Example development by creating an account on GitHub. github.com ** 실행영상 # 기본적인 몇가지 함수는 gym 코드 참고하였다. # gym을 이용하지 않고 게임진행(episode_generate) 코드를 짜기 위해서 새롭게 코드를 작성하였다. 이에 필요한 딜러턴에서 딜러카드 score계산 함수, 학습에 필요한 pair(s,a) 중복 확인 함수, policy_improvement함수를 만들었다. # 중요하고 어려웠던 점은 ..
-
캘리브레이션(Calibartion) 기능 추가ROS일기 2021. 11. 3. 21:29
지난 글에서 myo를 착용한 팔의 움직임을 추종하는 작업을 완료하였다. 또, 주먹을 쥠에 따라 그리퍼가 닫히고 손가락을 모두 폄에 따라 그리퍼가 열리는 기능도 추가하였다. Myo로 OpenManipulator 동작시키기 성공!!! 구동영상 최대한 단순하게 코드를 작성하였다. myo_raw/myo_ori 토픽에서 생성되는 데이터를 봤을 때, (https://needs-searcher.tistory.com/196?category=885778참고) 먼저 로봇컨트롤러에서 모든 모터각 = 0으로.. needs-searcher.tistory.com 한 가지 문제점은 센서를 착용할 때마다 센서가 인식하는 roll=pitch=yaw=0의 초기위치가 다르다는 점이다. myo를 다시 착용했을 때 똑같이 정면으로 팔을 뻗어..