본문 바로가기

기계공학부 시절의 기록153

open_manipulator_teleop.cpp 코드수정을 위한 코드공부(ros::spin, 클래스 접근지정, vector, 포인터) 어제 myo센서에서 생성되는 토픽을 오픈매니퓰레이터의 teleop노드에서 subscribe하도록 코드를 만들었다. teleop노드가 헤더파일과 cpp파일로 나뉘어있고 나는 c++언어를 잘 모르기에 어려움이 있었다. 다하고보니 별거 없었다. myo데이터 수신하는 subscriber open_manipulator_teleop.cpp에 만들기 https://needs-searcher.tistory.com/192?category=885778 myo로 publish, teleop로 subscribe 확인 도움이 된 글 https://cafe.naver.com/openrt/18408 ros에서 pub되는 msg가 배열인데 이거 통째로 어떻게 sub받나요??? 질문양식[개발환경] (옵션)1) 운영체제 :우분투 16,.. 2021. 10. 27.
8week ROS homework : Simple node code explain #1 Create Topic msg 1. Write code [helloworld_publisher.py] 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 import rclpy # Node class import. In Node classm, there are create_publisher(), create_timer(), get_logger() and so on. from rclpy.node i.. 2021. 10. 25.
myo와 teleop 사이의 Topic 통신 확인 도움이 된 글 https://cafe.naver.com/openrt/18408 ros에서 pub되는 msg가 배열인데 이거 통째로 어떻게 sub받나요??? 질문양식[개발환경] (옵션)1) 운영체제 :우분투 16, 로스 키네틱2) 보드이름 : 3) 컴파일러 : C++4) 버전정보 : 5) 참고강좌 : [현재상황] (필수)1) 목적... cafe.naver.com 1. 어떤 데이터를 통신하는지 다시 확인 2. 해당토픽이 어떤 형식의 데이터를 쓰는지 확인 3. cpp 파일에서 1) subscriber 구현함수아래에 myo_ori데이터 받을 sub 만들 코드 추가 myo_imu_sub_ = node_handle_.subscribe("토픽명", 큐사이즈, &클래스명::콜백함수명, this); 2) 콜백함수 구현 .. 2021. 10. 25.
네이버랩스 로봇 연구팀은 지금 무엇을 고민하고 어디까지 와있는가 https://tv.naver.com/v/16970757#comment_focus 사람들 사이에서 로봇 살아남기(AMBIDEX를 구성하는 기술들) NAVER Engineering | 최근준 - 사람들 사이에서 로봇 살아남기(AMBIDEX를 구성하는 기술들) tv.naver.com 나는 네이버랩스에 관심이 많다. 나 역시 언젠가 일상에 로봇이 들어올 것이라고 상상하고 이를 위해 필요한 많은 기술들을 네이버랩스가 열심히 연구하고 있기 때문이다. 네이버랩스 홈페이지에서 포스팅만 있는 줄 알았는데 40분 가량의 연구팀리더가 연구상황을 상세히 설명한 세미나도 있었다. 물체인식, 안전성과 높은 자유도를 가지는 엠비덱스, 힘제어, 충돌방지 최적화, 코드로 전달하기 힘든 Physical Intelligece를 전달하기.. 2021. 10. 25.
BlackJack Example. Monte Carlo 21.10.23 게임룰 게임룰을 보다 정확히 알기 위해 플레이영상보기 https://www.youtube.com/watch?v=qy-D3-xGmbo 딜러를 포함한 모든 플레이어 2장씩 세팅하고 딜러는 한장만 오픈 이 후 플레이어부터 한명씩 hit, stay의 action을 통해 최종 sum 결정 모든 플레이어가 각자의 최종 sum을 만든 뒤 딜러의 나머지 카드를 오픈하고 딜러에게 정해진 규칙(Policy, 17미만 hit, 17이상 stay)에 따라 최종 sum결정 21에 더 가까운 플레이어가 승리. 과제의 목적 RL을 통해서 주어진 state에서 Optimal한 Policy를 구하는 것이 본 과제의 목적. 각각의 state에서 action마다의 value(Q function)를 구해야한다. MC의 방법.. 2021. 10. 23.
ROS homework week7 1. Create Package [for cpp] [for python] 2. Build Package 3. Dependencies Problem Solving $ sudo rosdep init $ rosdep update $ rosdep install -i from-path src --rosdistro foxy -y $ rosdep install -i from-path sr --ignore-src --rosdistro foxy -y --skip-keys ROS2 package files 1. for cpp package.xml CmakeList.txt 2. for python package.xml setup.py essential optional only python $ . install/setup.b.. 2021. 10. 18.
RL homework - MDP #1 Gambler's problem 이해하기 쉬운 코드 결과물은 아래의 깃허브주소에 업로드하였다. 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 인터넷 상에서 몇 코드들을 보았는데 코딩 초보자로서 이해하기가 힘들었다. 본 글에서는 직접 작성한, 보다 이해하기 쉬운 코드로 RL 교과서의 예제 Gambler's Problem을 해결하였다. 해당 코드는 아래부분 [2차코드]를 보면된다. 참고로, 주피터 노트북이나 파이썬 설치가 되어있지 않더라도 google colab을 이용해.. 2021. 10. 17.
이기종간 ROS통신(matlab과 ROS 연결) 노트북 = 우분투PC 데스크탑 = 윈도우PC 연구실에 있는 나의 메인 PC(window10 환경)의 matlab에서 myo emg 데이터를 실시간으로 읽고 저장하여 이를 통해 동작 학습을 하는 과정을 연구실 선배에게 배웠다. 이를 현재 진행 중인 프로젝트의 중심인 ROS시스템 구성으로 가져오는 것이 이제 나의 역할이다. matlab을 윈도우PC에서 돌리고 이를 우분투PC에 ROS통신방법으로 통신하는 방법과 아예 matlab을 우분투PC에서 설치해 진행하는 방법으로 나누어 생각하였다. 오늘 진행해 본 것은 matlab과 ROS간의 통신이다. 결과적으로 다른 PC간의 통신, 하나의 PC안에서 matlab과 ROS간의 통신이 모두 가능함을 확인하였다. 우분투 PC에서의 matlab과 ROS간의 통신이 가능함은.. 2021. 10. 14.
matlab install in Ubuntu 18.04 & communication with ROS 1. openmanipulator teleop key 코드 수정 : 진행 중 2. matlab 상에서 구현된 동작 분류기를 ROS에서 활용방법 찾기 https://robotbef.tistory.com/113 ROS는 우분투에서 구동. 매트랩도 우분투에서 구동해야할듯. (Today)** 우분투에서 매트랩 설치필요 3. myo_raw에서 matlab으로 데이터 전송하기 myo_raw에서 생성하는 토픽, matlab에서 subscribe 시키기 우분투에서 matlab설치 매트랩 홈페이지에서 계정확인을 하고 압축된 설치파일을 다운로드 한다. [압축파일 다운로드] # unzip -X -K matlab_R20xxx_glnxa64.zip -d matlab_20xxx_installer 이후 블로그(https://lik.. 2021. 10. 13.
(진행중)OpenManipulator teleop 코드분석 헤더파일 출처 : https://github.com/ROBOTIS-GIT/open_manipulator/blob/master/open_manipulator_teleop/include/open_manipulator_teleop/open_manipulator_teleop_keyboard.h 소스파일 출처 : https://github.com/ROBOTIS-GIT/open_manipulator/blob/master/open_manipulator_teleop/src/open_manipulator_teleop_keyboard.cpp 21.10.12 헤더파일에는 선언들만 있고 소스코드에는 헤더파일에서 선언한 함수들을 구현해놓고 있음 클래스 정의와 구현 분리 출처 : https://boycoding.tistory.c.. 2021. 10. 12.
(진행중)3.1~3.4 연산자 3.1 연산자에는 우선순위(Operator precedence)가 있다. 프로그래머들도 이를 다 외우고 있진 못함. 따라서 괄호 ()를 적극적으로 활용해 우선순위를 먼저 지정을 하는 편이다. 연산의 방향도 왼쪽에서 오른쪽, 오른쪽에서 왼쪽이 있다. =이 대표적인 오른쪽에서 왼쪽방향의 연산자이다. cpp operators wiki : https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B 3.2 산술연산자 단항 연산자는 띄워쓰지 않는다. ex. int x = 1; int y = - x; (x) int y = -x;(o) 컴파일러는 띄워쓰기를 무시하지만 사람이 읽을 때 혼란이 있을 수 있다. 정수 나누기와 실수나누기가 다르다 += *= /= %= 연산자들도 있다.. 2021. 10. 12.
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_sheet.pdf tab key - RQt 3. ROS2 filesystems package installation method 1) binary sudo apt install ros-foxy- 2) source code from github 2021. 10. 12.