반응형 ros4 ROS 노드(node)와 토픽(topic) 소개 및 생성 OS Melodic과 C++를 기준으로 ROS 노드와 토픽의 소개 및 생성에 대해 알아보겠습니다. 노드 소개 및 사용 1. 노드 소개 노드는 ROS에서 가장 기본적인 실행 단위로, 각각의 프로세스가 수행하는 작업을 나타냅니다. 노드는 토픽, 서비스, 액션 등을 통해 서로 통신하며, 이를 통해 로봇 시스템의 전체 기능을 구현합니다. 2. 노드 생성 C++를 사용하여 ROS 노드를 생성하는 방법을 알아보겠습니다. 먼저, my_node.cpp 파일을 작업 공간의 패키지 src 디렉터리에 생성합니다. #include "ros/ros.h" int main(int argc, char **argv) { // ROS 노드 초기화 ros::init(argc, argv, "my_node"); // 노드 핸들 생성 ros:.. 2023. 5. 2. ROS 패키지 생성, 삭제 그리고 관리 OS Melodic과 C++를 기준으로 ROS 패키지의 생성 및 삭제와 패키지 종속성 관리에 대해 알아보겠습니다. 패키지 생성 및 삭제 1. 패키지 생성 작업 공간에서 새로운 패키지를 생성하려면 catkin_create_pkg 명령어를 사용합니다. 이 예시에서는 my_package라는 이름의 패키지를 생성하고, std_msgs, rospy, roscpp를 종속 패키지로 설정합니다. $ cd ~/my_workspace/src $ catkin_create_pkg my_package std_msgs rospy roscpp 이제 작업 공간에 my_package라는 새로운 패키지가 생성되었습니다. 패키지 내에서 노드, 라이브러리 등을 개발할 수 있습니다. 2. 패키지 삭제 패키지를 삭제하려면 작업 공간의 src .. 2023. 5. 2. ROS 패키지 및 작업 공간 ROS melodic과 C++ 기준으로 ROS 패키지 및 작업 공간에 대하여 알아보겠습니다. 패키지 구조 ROS 패키지는 ROS 응용 프로그램의 기본 구성 단위로, 관련된 노드, 라이브러리, 설정 파일 등을 포함합니다. ROS 패키지의 일반적인 구조는 다음과 같습니다. my_package/ ├── CMakeLists.txt ├── package.xml ├── src │ ├── my_node.cpp │ └── ... ├── include │ ├── my_package │ │ ├── my_library.hpp │ │ └── ... ├── launch │ ├── my_launch_file.launch │ └── ... ├── config │ ├── my_configuration_file.yaml │ └── ... 2023. 5. 2. ROS(Robot Operating System) 총정리 로봇 프로그래밍(Robot Programming)은 어떻게 다른가? 로봇 프로그래밍은 컴퓨터 프로그래밍의 하위 집합입니다. 대부분의 로봇은 결정을 내릴 수 있는 "뇌"를 가지고 있습니다. 이것은 마이크로컨트롤러나 PC일 수 있습니다. 로봇 프로그래밍과 일반적인 프로그래밍의 차이점은 입력 및 출력 장치입니다. 입력 장치에는 로봇 센서, 티치 펜던트, 터치 스크린 등이 있으며, 출력 장치에는 LCD 디스플레이 및 구동기가 포함됩니다. 로봇을 프로그래밍하는 데에는 모든 프로그래밍 언어가 사용될 수 있지만, 좋은 커뮤니티 지원, 성능 및 프로토타입 시간을 고려하면 C++ 및 Python이 가장 많이 사용됩니다. 로봇을 프로그래밍하기 위해 필요한 몇 가지 기능은 다음과 같습니다: Threading: 로봇 블록 다.. 2023. 4. 7. 이전 1 다음 반응형