본문 바로가기
반응형

자율주행17

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) 프로그래밍 Creating a ROS Workspace and Package ROS 개발의 첫 번째 단계는 ROS 패키지가 보관되는 ROS 작업 공간을 만드는 것입니다. 새 패키지를 생성하고, 기존 패키지를 설치하고, 새 실행 파일을 빌드 및 생성할 수 있습니다. 먼저 ROS 작업 공간 폴더를 생성해야 합니다. 원하는 이름을 지정할 수 있으며 모든 위치에서 만들 수 있습니다. 일반적으로 이것은 우분투 home folder에 있습니다. 새 터미널에서 다음 명령을 입력합니다. 이렇게 하면 catkin_ws라는 폴더가 생성되며 그 안에는 src라는 또 다른 폴더가 있습니다. ROS 작업 공간은 catkin 작업 공간이라고도 합니다. $ mkdir -p ~/catkin_ws/src src 폴더의 이름은 변경하면 안됩니다... 2023. 4. 9.
반응형