본문 바로가기
자율주행

ROS 패키지 생성, 삭제 그리고 관리

by icebear3000 2023. 5. 2.
반응형

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 디렉터리에서 패키지 디렉터리를 삭제하면 됩니다. 

$ cd ~/my_workspace/src
$ rm -rf my_package

패키지를 삭제한 후, 작업 공간을 다시 빌드하여 변경 사항을 적용합니다.

$ cd ~/my_workspace
$ catkin_make

 

패키지 종속성 관리

  패키지의 종속성은 package.xml 파일에서 관리됩니다. 종속 패키지를 추가하거나 삭제하려면 이 파일을 수정해야 합니다.


1. 종속성 추가

 예를 들어, my_package에 tf 패키지를 종속 패키지로 추가하려면 package.xml 파일에서 다음과 같이 변경합니다.

<package format="2">
  ...
  <build_depend>tf</build_depend>
  <exec_depend>tf</exec_depend>
  ...
</package>

 <build_depend> 태그는 빌드 시 필요한 종속성을, <exec_depend> 태그는 실행 시 필요한 종속성을 나타냅니다.

 

2. 종속성 삭제

 종속성을 삭제하려면 해당 종속성을 나타내는 <build_depend> 및 <exec_depend> 태그를 package.xml 파일에서 제거합니다.


3. 종속성 설치

 패키지의 종속성을 설치하려면 rosdep 명령어를 사용합니다. 이렇게 하면 패키지에 필요한 종속 패키지를 자동으로 설치할 수 있습니다.

$ cd ~/my_workspace
$ rosdep install --from-paths src --ignore-src -r -y

 

반응형

댓글