목록Everything I Wrote (29)
Bunny Code

논문 Figure를 그리다 보면 그래프 안의 요소들을 바꾸어야 할 일들이 많다. 선의 색상, 두께, 글자 크기 등 많은 것들은 검색을 통해 쉽게 바꿀 수 있지만, x축 표현 방법과 관련 숫자 크기를 바꾸는 내용은 쉽게 찾을 수 없어 직접 포스팅하고자 한다. 무슨 상황인지 설명을 먼저 해보자. import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) * 10**7 y = np.ones_like(x) * 5 plt.figure(figsize=(6, 6)) plt.plot(x, y, 'r-') plt.show() 위와 같이 코드를 작성하면, 다음의 그래프를 그릴 수 있다. 문제는 x축의 $1e8$ 부분이다. 제출하고자 하는 j..

저자 : Kate Rakelly*, Aurick Zhou*, Deirdre Quillen, Chelsea Finn, Sergey Levine 논문 출처 : https://arxiv.org/pdf/1903.08254.pdf 참고하면 좋은 영상 : https://www.youtube.com/watch?v=w9KAmvUA9WI&t=691s 0. Abstract 기존 Meta Learning 방법들은 대부분 on-policy 에 의존 이는 sample efficiency의 큰 저하를 불러옴 새로운 task에 적응할 때, task uncertainty를 추론하는 메커니즘이 부족해 sparse reward problems에서 효과를 제한함 task inference와 control을 분리하는 off-policy M..

roscd : 지정한 ROS 패키지의 디렉터리로 이동 roscore : 마스터, 로그 기록, 파라미터 관리 등 rosrun : 노드 실행 roslaunch : 노드를 여러 개 실행 및 실행 옵션 설정 rosclean : ROS 로그 파일을 검사하거나 삭제 rostopic : 토픽 정보 확인 rosservice : 서비스 정보 확인 rosnode : 노드 정보 확인 rosparam : 파라미터 정보 확인, 수정 rosbag : 메시지 기록, 재생 rosmsg : 메시지 정보 확인 rossrv : 서비스 정보 확인 catkin_create_pkg : 패키지 자동 생성 catkin_make : 캐킨 빌드 시스템에 기반을 둔 빌드 catkin_eclipse : 캐킨 빌드 시스템으로 생성한 패키지를 이클립스에서 ..

Node → 최소 단위의 실행 가능 프로세서 → ROS에서 Node 단위로 프로그램을 나누어 작업 → 각 Node는 메시지 통신으로 데이터를 주고 받음 Package → 위의 노드 혹은 노드 실행을 위한 정보 등을 묶어 놓은 것 → 패키지의 묶음을 메타패키지라고도 함 Message → 노드간의 데이터를 주고받을 때 사용하는 수단 → 메시지는 integer, floating point, boolean 와 같은 변수형태 → 메시지 안의 메시지를 품고 있는 배열과 같은 구조도 사용 가능 Topic → 단방향의 메시지 통신 방법(연속성을 가짐) (ex, 센서 데이터) → 보내는 애 : Publisher, 받는 애 : Subscriber → 1:N, N:1, N:N 도 가능 → 대부분의 메시지에 Topic 사용 ..

안녕하세요!! 버즈밴드입니다. 이번 카테고리는 ROS에 관한 글들을 작성해보려고 합니다. Python, C, C++과 다르게 ROS는 인터넷을 찾아봐도 한글 자료들이 많이 없어 혼자 공부하기 꽤나 힘들었습니다. 그래도 오로카(네이버 오픈소스로봇카페)를 비롯해 많은 분들이 정리해두신 자료들이 정말 많은 도움이 되었는데, 아무래도 여러 분들이 개별적으로 작성하신 것들이라 공부할 때 통일성을 찾아가며 순서대로 공부하기 힘들었습니다. 그래서 공부할 때 처음 ROS 접하신 분들이 따라오기 쉽도록 총 18편의 튜토리얼을 새로 작성했고 이에 대한 게시물들을 먼저 올릴 생각입니다!! 많은 도움이 되길 바라며, 사용하는 ROS 버전과 자료들의 출처는 다음과 같습니다. 감사합니다!! ROS version : ros1-me..

모듈에 대해 살펴볼게요! 모듈은 크게 '표준 모듈' 과 '외부 모듈' 로 나뉩니다. 파이썬에 내장되어 있는 모듈을 표준 모듈, 다른 사람들이 만들어 공개한 모듈을 외부 모듈이라 합니다. 먼저 표준 모듈을 불러오는 방법을 살펴볼게요. import 을 통해 가져오거나 from import 을 통해 불러올 수 있습니다. (이 때, 에 *를 사용하면 모든 변수 혹은 함수를 다 가져올 수 있습니다만, 식별자 이름에서 원래 사용하던 것들과 충돌이 발생할 수 있으니 조심해야합니다.) 위에서 발생할 수 있는 식별자 이름끼리의 충돌을 막고 싶거나 모듈의 이름이 너무 길어 짧게 줄여 사용하고 싶을 때는 as 구문을 이용하면 됩니다. import as 위의 구문을 통해 사용하고 싶은 식별자로 모듈을 불러올 수 있습니다. 모..

try except 구문으로 예외의 정보, 즉 '예외 객체'를 확인할 수 있습니다. try : except as : 바로 예시를 들어볼게요! 위의 실행된 코드 화면을 보면 정수를 입력함으로서 생기는 오류의 종류, 즉 '예외 객체의 자료형'은 'ValueError" 라는 것을 알 수 있고, 내용은 'invalid literal for int() with base 10 : '정수' 라는 것을 알 수 있습니다. 그렇다면 위에서의 예외 객체를 사용해 예외를 구분해보도록 하겠습니다. 예외 구분은 생기는 예외의 종류가 무엇인지 알고 싶을때 사용합니다. 위의 코드에 문자열을 입력하면 아래와 같은 오류가, 범위에서 벗어난 수를 입력하면 아래와 같은 오류가 나타납니다. 위의 두 가지 오류를 구분해서 처리하고 싶을 때 e..

바로 저번 포스팅에서 try except 구문을 활용해 예외 처리하는 방법을 배웠는데요. 이번에는 try except 구문에다 else 를 추가해보도록 하겠습니다. try : except : else : 저번에 사용한 코드를 그대로 사용해볼게요. try, except 구문만 있을 때는 예외가 발생하지 않았을 때 실행할 코드도 try 영역에 넣었었죠?? 이번에는 예외 발생 가능성이 있는 코드만 try 영역에 넣고 else 구문으로 나머지를 빼보겠습니다. try : input_1,input_2 = int(input("가속도 입력 >")),int(input("시간 입력 >")) except : print("정수로만 입력 가능해요.") else : print("등가속도 운동할 때") print("가속도 :", ..