목록Hardware/ROS (5)
꾸준하고 즐겁게

https://gradient-descent.tistory.com/71 이전 글에서 이어지는 내용이다. 5. CMakelist 파일 수정하기 vim CMakeList.txt gedit CMakeList.txt 글 편집하는데 너무 없어보여서 vim 편집기를 사용했다. 하지만 실제로 편집하는데엔 gedit 편집기가 훨씬 편한 것 같다... 먼저 패키지 명이 프로젝트명에 입력되어있는 걸 확인했다. 서비스 실행 함수의 주석을 풀고, 서비스 파일을 알려주었다. 오타났다. add_executable 함수에 srv_server src/srv_client.cpp가 아니라 srv_server.cpp 여야한다. 위처럼 내용을 수정해주었다. 사실 한 번에 될 지는 잘 모르겠다. 해보고 안되면 디버깅하자. 저장하고 창을 닫는..

1. 새로운 패키지 생성 cd ~/catkin_ws/src 먼저 경로를 이동해준다. 새로운 패키지를 만들어줄 것이다. catkin_create_pkg wj_tuto_service message_generation std_msgs roscpp wj_tuto_service는 패키지명이고, 띄어쓰기를 기준으로 나뉘어있는 나머지들은 의존성이다. cd wj_tuto_service 그리고 해당 경로로 이동해준다. 2. package.xml 파일 수정 gedit package.xml vim package.xml 가장 간단한 파일부터 수정해보자. 편집기 다른 거 써도 상관없다. 이미지는 gedit을 사용했지만 이번에는 vim 편집기를 사용해보겠다. 사실 gedit으로 편집하고 스크린샷 찍으면 예쁘게 안나와서. name..

https://gradient-descent.tistory.com/69 이전 글에서 이어지는 내용이다. 5. subscriber 노드 만들기 gedit sub_test.cpp 이번에도 gedit을 이용할 것이다. 발행하는 역할을 할 노드를 만들었으니, 이제 정보를 수신하는 노드도 만들자. 추가할 헤더는 똑같다. 메인 함수 전에, msgCallback이라는 함수를 하나 만들어주었다. 반환값은 없고 입력받는 변수는 상수형태이다. wooju_tutorial::wj_msg_tutorial::ConstPtr& msg는 들어오는 메세지 형태를 상수로 끊어서 집어넣겠다는 의미이다. 여기서의 msg는 ROSINFO줄에 있는 msg이다. 핸들 이름은 퍼블리셔 노드 파일에서도 그랬듯 nh로 통일했다. 물론 바꿔도 상관은 ..

나는 내 문제도 간신히 해결한다. 누군가에게 도움을 줄 만큼 잘 알지 못한다. 내 글은 내가 공부한 내용을 기록할 뿐이니, 그저 참고하는 정도면 좋겠다. 꾹 참고 하라고 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 죄송... 아무튼 가능한 자세히 설명하지만 많이 미흡할테니, 역시 가장 제대로된 정보는 공식 레퍼런스에서 얻는 것이 좋다. http://wiki.ros.org/msg msg - ROS Wiki ROS uses a simplified messages description language for describing the data values (aka messages) that ROS nodes publish. This description makes it easy for ROS tools to automatic..

ROS의 기본 개념 ROS는 Robot Operating System으로, 로봇 응용 프로그램의 개발을 위한 운영체제와 같은 로봇 소프트웨어 플랫폼이다. Meta-Operating System에 속하며, 소프트웨어와 하드웨어의 중간 역할, 미들웨어라고도 한다. 메타라는 말은, 주로 뭔가가 하나로 통합되어있는 경우를 얘기할 때 많이 사용된다. 디바이스 드라이버, 라이브러리, 디버그 도구, 메세지 통신 구동 도구, 컴파일 도구, 인스톨러, 패키지 생성 및 릴리즈를 하나로 할 수 있게 해주는 역할을 한다. 로봇 소프트웨어 프레임워크를 기반으로 다양한 목적의 응용 프로그램을 개발, 관리, 제공하고 있으며, 유저들이 개발한 패키지 또한 유통해준다. 하드웨어인 로봇과 센서, 그리고 응용 소프트웨어가 서로의 말을 알..