-
(진행중)OpenManipulator teleop 코드분석ROS일기 2021. 10. 12. 22:06728x90반응형
헤더파일
소스파일
21.10.12
헤더파일에는 선언들만 있고 소스코드에는 헤더파일에서 선언한 함수들을 구현해놓고 있음
클래스 정의와 구현 분리
출처 : https://boycoding.tistory.com/244
21.10.19
open_manipulator_teleop_keyboard.cpp [line1~47]
클래스 생성자, 멤버 이니셜라이저 설명
생성자는 헤더파일에서 선언된 클래스의 private멤버를 초기화하는데 아래의 방법을 따른다.
생성자 구현코드에서 : 다음의 node_handle_("")가 무엇인지 궁금했다. 출처 : https://wikidocs.net/17145
nodehandle의 역할
node간의 통신을 위해서 ROS1에서는 masternode에 등록하고 이 후 노드간의 직접적인 통신이 가능해지는데 이를 위한 과정을 nodehandle이 수행한다.
출처 : https://enssionaut.com/board_robotics/942
termios 구조체 : 터미널 속성을 변경시는 기능
생성자, 소멸자 구현 구문에서 멤버함수 초기화. 해당 함수가 어떤기능이 있는지 아래에서 볼 수 있다. termios의 내장함수 tcsetattr인 것 같다. 해당 블로그를 통해서 termios의 tcsetattr이 터미널의 속성을 변경시킨다는 것을 알게되었다.
출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=choi125496&logNo=130034222760
그리고 newt.c_lflag &= ~( ICANON | ECHO ); 가 입력과 동시에 터미널에 전달되게 하는 코드임을 알게되었다.
출처: https://toughrogrammer.tistory.com/217 [터프 프로그래머]open_manipulator_teleop_keyboard.cpp코드에서 생성자를 통해서 멤버 이니셜라이저를 수행하며 특히 생성자에서 disableWaitingForEnter를 통해 바로 터미널이 입력받을 수 있게 하고 restore~함수를 통해 이전 값을 입력시킨다. 아직 oldt_가 무엇인지는 잘 모르겠다.
open_manipulator_teleop_keyboard.cpp [line 48-83]
728x90반응형'ROS일기' 카테고리의 다른 글
이기종간 ROS통신(matlab과 ROS 연결) (0) 2021.10.14 matlab install in Ubuntu 18.04 & communication with ROS (0) 2021.10.13 (진행중)OpenManipulator teleop 코드분석 (0) 2021.10.12 [실행오류] ROS2 basic operation of OpenManipulator-X (0) 2021.10.07 21/10/05 IRaC Lab 방문 (0) 2021.10.05 [진행중]10월 1째주. ROS 진행상황 (0) 2021.10.01