분류 전체보기
-
[Temporal Difference method] Cliff example implementation강화학습일기 2021. 11. 24. 01:17
1. Intro 제레미 교수님의 Cliff 예제 구현 글 위 링크를 참고하였고 코드작성에 큰 도움을 받을 수 있었다. 위 링크에서처럼 클래스를 활용하여 코드를 작성하면 코드 가독성이 좋을 것 같다. 하지만 나는 아직 객체지향 문법에 익숙치 않아 그냥 몇 함수들을 만들어 구현하였고 이것이 지금은 더 간단하고 효율적으로 보인다. 2. 구현결과 깃허브링크 작성한 코드는 위 링크에 업로드하였다. play횟수는 1만번을 진행하였다. 500번, 1천번에 대해서도 진행하였지만 SARSA의 Optimal Policy가 정확히 원하는 결과로 나오지 않아 그냥 1만번으로 확 늘려 진행하였고 교재와 같은 결과를 얻을 수 있었다. 하지만 교재에서 아래처럼 Sum of rewards during episode를 볼 수 있는데 ..
-
while문 반복 주기 확인하기ROS일기 2021. 11. 18. 20:29
ROS를 통해 로봇팔의 경로를 text파일로 저장하는 함수를 while문안에서 실행하였다. 이 때 얼마의 주기로 기록되는지를 파악하여야 할 일이 있었다. while문 들어가기 직전과 직후의 시간을 각각 구하여 차이를 구할 수 있었다. https://hijuworld.tistory.com/1 C, C++ 프로그램 실행 시간 측정 프로그래밍을 하다보면 딜레이가 발생하거나해서 어느 부분이 느린지 알아내야 하는 경우가 생길 수 있습니다. 또는 알고리즘을 공부하다보면 내가 구현한 알고리즘의 속도를 알고싶을 때가 hijuworld.tistory.com 블로그에서는 1clock이 1ms라고 나와있었는데 나의 경우 0.001 ms로 나타났다.
-
11 week HW (3) Command line argumentROS2 Study 2021. 11. 16. 13:45
$ ros2 run $ ros2 run 1. revise action client node to command argument in code 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 # add modul..
-
11 week HW (2) Parameter programmingROS2 Study 2021. 11. 16. 12:59
review https://needs-searcher.tistory.com/181 6 week HW Parameter control using turtlesim node Experiment of ROS2 parameter, RQt, and ROS2 package installation 1. parameter 2. ROS2 tools - Command Line Tools https://github.com/ubuntu-robotics/ros2_cheats_sheet/blob/master/cli/cli_cheats_shee.. needs-searcher.tistory.com command list see a list of parma $ ros2 param list get value of a param $ ro..
-
11 week HW (1) action programming : action client nodeROS2 Study 2021. 11. 14. 17:36
1. write "fibonacci_action_client.py" code 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 import rclpy # import ActionClient class to make actionclient from rclpy.action import ActionClient from rclpy.node import Node # import Fibonacci interface type from my_interface_example.action i..
-
Operating OpenManipulator-X using Myo-armband in ROS1(melodic) 최종정리Main Project Posting 2021. 11. 13. 15:28
로봇 학습에 쓰일 데이터 생성, 그리고 실질적인 로봇의 구동을 위해서 ROS기반 로봇제어를 수행하였다. 지금까지 일기형식으로 개발상황을 쭉 써내려왔는데 이를 가독성있게 정리해보려고 한다. Objective 1. 팔의 움직임으로 로봇팔 실시간 원격조종 2. 팔의 현재 위치를 기준으로 로봇 위치 초기화(Calibration) 3. 원격조종으로 수행한 task의 경로를 저장하여 로봇으로 반복 수행 PC Enviroment ( Labtop ) OS : Ubuntu 18.04 ROS : melodic CPU : i5 Graphic Card : 내장그래픽카드 Hardware OpenManipulator-X(ROBOTIS) OpenCR Interface 개발에 활용한 Original Packages(이들을 수정하여 ..
-
vector error : out of rangeROS일기 2021. 11. 13. 11:57
robot의 trajectory값이 저장된 txt파일에서 각 열의 데이터를 vector로 저장하고 해당 벡터를 main()에서 while구문으로 불러와 controller에 해당 joint값을 넘겨주는 코드를 만들고 있다. 해당 에러는 vector에서의 값을 순서대로 joint로 할당할 때, 해당 vector의 마지막 원소를 넘었거나, txt파일이 비어있어 joint로 넘겨줄 데이터가 없을 때 발생하였다. 본 에러가 발생하는 이유는 벡터에서 특정 값을 호출할 때, 호출된 벡터가 끝났거나 비어 있어 호출할 수 있는 값이 없기 때문이다. (참고글) if 구문과 vector.size()함수를 활용해 벡터의 size보다 더 큰 수로 벡터를 호출하면 함수를 return시키는 방법으로 해결할 수 있었다.