// it's for Latex

pages

[ VINS-mono code review ] #02. feature_tracking (package.xml)

1. Create Package

주구장창 코드리뷰만 하면 재미없을 것 같아서, 한번 프로그래밍을 하면서 코드리뷰를 해보려 한다.

먼저 아래의 명령어를 통해 custom 패키지를 만들어본다.

1
2
3
4
$ cd ~/catkin_ws/src
$ catkin_create_pkg feature_tracker_custom
$ catkin build feature_tracker_custom
$ source ~/catkin_ws/devel/setup.bash
cs



2. package.xml 만들기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0"?>    
<package>    
  <name>feature_tracker</name>    
  <version>0.0.0</version>    
  <description>The feature_tracker package</description>    
  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
  <!-- Example:  -->
  <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->    
  <maintainer email="qintonguav@gmail.com">dvorak</maintainer>    
  <!-- One license tag required, multiple allowed, one license per tag -->
  <!-- Commonly used license strings: -->
  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
  <license>TODO</license>    
  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
  <!-- Optional attribute type can be: website, bugtracker, or repository -->
  <!-- Example: -->
  <!-- <url type="website">http://wiki.ros.org/feature_tracker</url> -->
  <!-- Author tags are optional, mutiple are allowed, one per tag -->
  <!-- Authors do not have to be maintianers, but could be -->
  <!-- Example: -->
  <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
  <!-- The *_depend tags are used to specify dependencies -->
  <!-- Dependencies can be catkin packages or system dependencies -->
  <!-- Examples: -->
  <!-- Use build_depend for packages you need at compile time: -->
  <!--   <build_depend>message_generation</build_depend> -->
  <!-- Use buildtool_depend for build tool packages: -->
  <!--   <buildtool_depend>catkin</buildtool_depend> -->
  <!-- Use run_depend for packages you need at runtime: -->
  <!--   <run_depend>message_runtime</run_depend> -->
  <!-- Use test_depend for packages you need only for testing: -->
  <!--   <test_depend>gtest</test_depend> -->
  <buildtool_depend>catkin</buildtool_depend>    
  <build_depend>roscpp</build_depend>    
  <build_depend>camera_model</build_depend>    
  <build_depend>message_generation</build_depend>    
  <run_depend>roscpp</run_depend>    
  <run_depend>camera_model</run_depend>      
  <run_depend>message_runtime</run_depend>    
  <!-- The export tag contains other, unspecified, tags -->
  <export>
    <!-- You can specify that this package is a metapackage here: -->
    <!-- <metapackage/> -->
    <!-- Other tools can request additional information be placed here -->
  </export>
</package>
cs

Line 42 to 48

buildtool_depend : 빌드 시스템의 의존성을 기술한다. 지금은 catkin 빌드 시스템을 이용하고 있으므로 catkin을 입력한다.

build_depend : 패키지를 빌드할 때 의존하는 패키지 이름을 적는다.

roscpp : ROS에서 cpp을 위한 dependency

camera_model : 카메라의 캘리브레이션을 위한 dependency
(링크 참조 : https://github.com/dvorak0/camera_model )

message_generation : 메세지의 생성을 위한 dependency

run_depend : 패키지를 실행할 때 의존하는 패키지 이름을 적는다.

message_runtime : Package modeling the run-time dependencies for language bindings of messages.



3. Package.xml 만들기

다음 명령어를 통해 package.xml 파일을 만든다.

1
2
$ cd ~/catkin_ws/src/feature_tracker_custom/
$ nano package.xml
cs

package.xml에 아래 내용을 복붙한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0"?>
<package>
  <name>feature_tracker_custom</name>
  <version>0.0.0</version>
  <description>The feature_tracker_custom package</description>
  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
  <!-- Example:  -->
  <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
  <maintainer email="qintonguav@gmail.com">dvorak</maintainer>
  <!-- One license tag required, multiple allowed, one license per tag -->
  <!-- Commonly used license strings: -->
  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
  <license>TODO</license>
  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
  <!-- Optional attribute type can be: website, bugtracker, or repository -->
  <!-- Example: -->
  <!-- <url type="website">http://wiki.ros.org/feature_tracker</url> -->
  <!-- Author tags are optional, mutiple are allowed, one per tag -->
  <!-- Authors do not have to be maintianers, but could be -->
  <!-- Example: -->
  <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
  <!-- The *_depend tags are used to specify dependencies -->
  <!-- Dependencies can be catkin packages or system dependencies -->
  <!-- Examples: -->
  <!-- Use build_depend for packages you need at compile time: -->
  <!--   <build_depend>message_generation</build_depend> -->
  <!-- Use buildtool_depend for build tool packages: -->
  <!--   <buildtool_depend>catkin</buildtool_depend> -->
  <!-- Use run_depend for packages you need at runtime: -->
  <!--   <run_depend>message_runtime</run_depend> -->
  <!-- Use test_depend for packages you need only for testing: -->
  <!--   <test_depend>gtest</test_depend> -->
  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>camera_model</build_depend>
  <build_depend>message_generation</build_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>camera_model</run_depend>
  <run_depend>message_runtime</run_depend>
  <!-- The export tag contains other, unspecified, tags -->
  <export>
    <!-- You can specify that this package is a metapackage here: -->
    <!-- <metapackage/> -->
    <!-- Other tools can request additional information be placed here -->
  </export>
</package>
cs



다음 명령어를 통해 빌드해준다.

1
2
3
$ catkin build feature_tracker_custom
$ source ~/catkin_ws/devel/setup.bash
cs

댓글 없음:

댓글 쓰기