Project

General

Profile

Revision 3f5aa522

ID3f5aa5221022bd89ea648240c233f284b55a7577
Parent 5847a728
Child 8db47e6e, dd5d7f53

Added by Tahm about 10 years ago

changed buggymsgs to buggycommon

View differences:

Todo.txt
46 46
1. rename buggymsgs into buggycommon
47 47
2. add buggymaps package
48 48
3. Use parameter server to load maps
49
   - mapname/map?
50
   - offset
49 51
4. rearchitect simulator into "sim" and "visualizer"
52
5. Document each package, fill out package.xml and cmakelist
50 53

  
51
5. be able to save run data into a new map.
52
6. design map-merge facilities
54
6. be able to save run data into a new map.
55
7. design map-merge facilities
53 56

  
54 57

  
55 58
Week 4 (due 1/11)
buggycommon/CMakeLists.txt
1
cmake_minimum_required(VERSION 2.8.3)
2
project(buggycommon)
3

  
4
## Find catkin macros and libraries
5
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6
## is used, also find other catkin packages
7
find_package(catkin REQUIRED COMPONENTS
8
  roscpp
9
  rospy
10
  std_msgs
11
  message_generation
12
)
13

  
14
## System dependencies are found with CMake's conventions
15
# find_package(Boost REQUIRED COMPONENTS system)
16

  
17

  
18
## Uncomment this if the package has a setup.py. This macro ensures
19
## modules and global scripts declared therein get installed
20
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
21
# catkin_python_setup()
22

  
23
################################################
24
## Declare ROS messages, services and actions ##
25
################################################
26

  
27
## To declare and build messages, services or actions from within this
28
## package, follow these steps:
29
## * Let MSG_DEP_SET be the set of packages whose message types you use in
30
##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
31
## * In the file package.xml:
32
##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
33
##   * If MSG_DEP_SET isn't empty the following dependencies might have been
34
##     pulled in transitively but can be declared for certainty nonetheless:
35
##     * add a build_depend tag for "message_generation"
36
##     * add a run_depend tag for "message_runtime"
37
## * In this file (CMakeLists.txt):
38
##   * add "message_generation" and every package in MSG_DEP_SET to
39
##     find_package(catkin REQUIRED COMPONENTS ...)
40
##   * add "message_runtime" and every package in MSG_DEP_SET to
41
##     catkin_package(CATKIN_DEPENDS ...)
42
##   * uncomment the add_*_files sections below as needed
43
##     and list every .msg/.srv/.action file to be processed
44
##   * uncomment the generate_messages entry below
45
##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
46

  
47
## Generate messages in the 'msg' folder
48
add_message_files(
49
  FILES
50
  Pose.msg
51
  Direction.msg
52
)
53

  
54
## Generate services in the 'srv' folder
55
# add_service_files(
56
#   FILES
57
#   Service1.srv
58
#   Service2.srv
59
# )
60

  
61
## Generate actions in the 'action' folder
62
# add_action_files(
63
#   FILES
64
#   Action1.action
65
#   Action2.action
66
# )
67

  
68
## Generate added messages and services with any dependencies listed here
69
generate_messages(
70
  DEPENDENCIES
71
  std_msgs
72
)
73

  
74
###################################
75
## catkin specific configuration ##
76
###################################
77
## The catkin_package macro generates cmake config files for your package
78
## Declare things to be passed to dependent projects
79
## INCLUDE_DIRS: uncomment this if you package contains header files
80
## LIBRARIES: libraries you create in this project that dependent projects also need
81
## CATKIN_DEPENDS: catkin_packages dependent projects also need
82
## DEPENDS: system dependencies of this project that dependent projects also need
83
catkin_package(
84
#  INCLUDE_DIRS include
85
#  LIBRARIES buggymsgs
86
   CATKIN_DEPENDS roscpp rospy std_msgs message_runtime
87
#  DEPENDS system_lib
88
)
89

  
90
###########
91
## Build ##
92
###########
93

  
94
## Specify additional locations of header files
95
## Your package locations should be listed before other locations
96
# include_directories(include)
97
include_directories(
98
  ${catkin_INCLUDE_DIRS}
99
)
100

  
101
## Declare a cpp library
102
# add_library(buggymsgs
103
#   src/${PROJECT_NAME}/buggymsgs.cpp
104
# )
105

  
106
## Declare a cpp executable
107
# add_executable(buggymsgs_node src/buggymsgs_node.cpp)
108

  
109
## Add cmake target dependencies of the executable/library
110
## as an example, message headers may need to be generated before nodes
111
# add_dependencies(buggymsgs_node buggymsgs_generate_messages_cpp)
112

  
113
## Specify libraries to link a library or executable target against
114
# target_link_libraries(buggymsgs_node
115
#   ${catkin_LIBRARIES}
116
# )
117

  
118
#############
119
## Install ##
120
#############
121

  
122
# all install targets should use catkin DESTINATION variables
123
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
124

  
125
## Mark executable scripts (Python etc.) for installation
126
## in contrast to setup.py, you can choose the destination
127
# install(PROGRAMS
128
#   scripts/my_python_script
129
#   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
130
# )
131

  
132
## Mark executables and/or libraries for installation
133
# install(TARGETS buggymsgs buggymsgs_node
134
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
135
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
136
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
137
# )
138

  
139
## Mark cpp header files for installation
140
# install(DIRECTORY include/${PROJECT_NAME}/
141
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
142
#   FILES_MATCHING PATTERN "*.h"
143
#   PATTERN ".svn" EXCLUDE
144
# )
145

  
146
## Mark other files for installation (e.g. launch and bag files, etc.)
147
# install(FILES
148
#   # myfile1
149
#   # myfile2
150
#   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
151
# )
152

  
153
#############
154
## Testing ##
155
#############
156

  
157
## Add gtest based cpp test target and link libraries
158
# catkin_add_gtest(${PROJECT_NAME}-test test/test_buggymsgs.cpp)
159
# if(TARGET ${PROJECT_NAME}-test)
160
#   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
161
# endif()
162

  
163
## Add folders to be run by python nosetests
164
# catkin_add_nosetests(test)
buggycommon/msg/Direction.msg
1
float32 turnAngle
buggycommon/msg/Pose.msg
1
float32 x
2
float32 y
3
float32 angle
4

  
5
float32 linear_velocity
6
float32 angular_velocity
buggycommon/package.xml
1
<?xml version="1.0"?>
2
<package>
3
  <name>buggycommon</name>
4
  <version>0.0.2</version>
5
  <description>The buggycommon package</description>
6

  
7
  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
8
  <!-- Example:  -->
9
  <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
10
  <maintainer email="tahm@todo.todo">tahm</maintainer>
11

  
12

  
13
  <!-- One license tag required, multiple allowed, one license per tag -->
14
  <!-- Commonly used license strings: -->
15
  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
16
  <license>TODO</license>
17

  
18

  
19
  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
20
  <!-- Optional attribute type can be: website, bugtracker, or repository -->
21
  <!-- Example: -->
22
  <!-- <url type="website">http://wiki.ros.org/buggymsgs</url> -->
23

  
24

  
25
  <!-- Author tags are optional, mutiple are allowed, one per tag -->
26
  <!-- Authors do not have to be maintianers, but could be -->
27
  <!-- Example: -->
28
  <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
29

  
30

  
31
  <!-- The *_depend tags are used to specify dependencies -->
32
  <!-- Dependencies can be catkin packages or system dependencies -->
33
  <!-- Examples: -->
34
  <!-- Use build_depend for packages you need at compile time: -->
35
  <!--   <build_depend>message_generation</build_depend> -->
36
  <!-- Use buildtool_depend for build tool packages: -->
37
  <!--   <buildtool_depend>catkin</buildtool_depend> -->
38
  <!-- Use run_depend for packages you need at runtime: -->
39
  <!--   <run_depend>message_runtime</run_depend> -->
40
  <!-- Use test_depend for packages you need only for testing: -->
41
  <!--   <test_depend>gtest</test_depend> -->
42
  <buildtool_depend>catkin</buildtool_depend>
43

  
44

  
45
  <build_depend>roscpp</build_depend>
46
  <build_depend>rospy</build_depend>
47
  <build_depend>std_msgs</build_depend>
48
  <build_depend>message_generation</build_depend>
49

  
50
  <run_depend>roscpp</run_depend>
51
  <run_depend>rospy</run_depend>
52
  <run_depend>std_msgs</run_depend>
53
  <run_depend>message_runtime</run_depend>
54

  
55

  
56
  <!-- The export tag contains other, unspecified, tags -->
57
  <export>
58
    <!-- You can specify that this package is a metapackage here: -->
59
    <!-- <metapackage/> -->
60

  
61
    <!-- Other tools can request additional information be placed here -->
62

  
63
  </export>
64
</package>
buggymsgs/CMakeLists.txt
1
cmake_minimum_required(VERSION 2.8.3)
2
project(buggymsgs)
3

  
4
## Find catkin macros and libraries
5
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6
## is used, also find other catkin packages
7
find_package(catkin REQUIRED COMPONENTS
8
  roscpp
9
  rospy
10
  std_msgs
11
  message_generation
12
)
13

  
14
## System dependencies are found with CMake's conventions
15
# find_package(Boost REQUIRED COMPONENTS system)
16

  
17

  
18
## Uncomment this if the package has a setup.py. This macro ensures
19
## modules and global scripts declared therein get installed
20
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
21
# catkin_python_setup()
22

  
23
################################################
24
## Declare ROS messages, services and actions ##
25
################################################
26

  
27
## To declare and build messages, services or actions from within this
28
## package, follow these steps:
29
## * Let MSG_DEP_SET be the set of packages whose message types you use in
30
##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
31
## * In the file package.xml:
32
##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
33
##   * If MSG_DEP_SET isn't empty the following dependencies might have been
34
##     pulled in transitively but can be declared for certainty nonetheless:
35
##     * add a build_depend tag for "message_generation"
36
##     * add a run_depend tag for "message_runtime"
37
## * In this file (CMakeLists.txt):
38
##   * add "message_generation" and every package in MSG_DEP_SET to
39
##     find_package(catkin REQUIRED COMPONENTS ...)
40
##   * add "message_runtime" and every package in MSG_DEP_SET to
41
##     catkin_package(CATKIN_DEPENDS ...)
42
##   * uncomment the add_*_files sections below as needed
43
##     and list every .msg/.srv/.action file to be processed
44
##   * uncomment the generate_messages entry below
45
##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
46

  
47
## Generate messages in the 'msg' folder
48
add_message_files(
49
  FILES
50
  Pose.msg
51
  Direction.msg
52
)
53

  
54
## Generate services in the 'srv' folder
55
# add_service_files(
56
#   FILES
57
#   Service1.srv
58
#   Service2.srv
59
# )
60

  
61
## Generate actions in the 'action' folder
62
# add_action_files(
63
#   FILES
64
#   Action1.action
65
#   Action2.action
66
# )
67

  
68
## Generate added messages and services with any dependencies listed here
69
generate_messages(
70
  DEPENDENCIES
71
  std_msgs
72
)
73

  
74
###################################
75
## catkin specific configuration ##
76
###################################
77
## The catkin_package macro generates cmake config files for your package
78
## Declare things to be passed to dependent projects
79
## INCLUDE_DIRS: uncomment this if you package contains header files
80
## LIBRARIES: libraries you create in this project that dependent projects also need
81
## CATKIN_DEPENDS: catkin_packages dependent projects also need
82
## DEPENDS: system dependencies of this project that dependent projects also need
83
catkin_package(
84
#  INCLUDE_DIRS include
85
#  LIBRARIES buggymsgs
86
   CATKIN_DEPENDS roscpp rospy std_msgs message_runtime
87
#  DEPENDS system_lib
88
)
89

  
90
###########
91
## Build ##
92
###########
93

  
94
## Specify additional locations of header files
95
## Your package locations should be listed before other locations
96
# include_directories(include)
97
include_directories(
98
  ${catkin_INCLUDE_DIRS}
99
)
100

  
101
## Declare a cpp library
102
# add_library(buggymsgs
103
#   src/${PROJECT_NAME}/buggymsgs.cpp
104
# )
105

  
106
## Declare a cpp executable
107
# add_executable(buggymsgs_node src/buggymsgs_node.cpp)
108

  
109
## Add cmake target dependencies of the executable/library
110
## as an example, message headers may need to be generated before nodes
111
# add_dependencies(buggymsgs_node buggymsgs_generate_messages_cpp)
112

  
113
## Specify libraries to link a library or executable target against
114
# target_link_libraries(buggymsgs_node
115
#   ${catkin_LIBRARIES}
116
# )
117

  
118
#############
119
## Install ##
120
#############
121

  
122
# all install targets should use catkin DESTINATION variables
123
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
124

  
125
## Mark executable scripts (Python etc.) for installation
126
## in contrast to setup.py, you can choose the destination
127
# install(PROGRAMS
128
#   scripts/my_python_script
129
#   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
130
# )
131

  
132
## Mark executables and/or libraries for installation
133
# install(TARGETS buggymsgs buggymsgs_node
134
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
135
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
136
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
137
# )
138

  
139
## Mark cpp header files for installation
140
# install(DIRECTORY include/${PROJECT_NAME}/
141
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
142
#   FILES_MATCHING PATTERN "*.h"
143
#   PATTERN ".svn" EXCLUDE
144
# )
145

  
146
## Mark other files for installation (e.g. launch and bag files, etc.)
147
# install(FILES
148
#   # myfile1
149
#   # myfile2
150
#   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
151
# )
152

  
153
#############
154
## Testing ##
155
#############
156

  
157
## Add gtest based cpp test target and link libraries
158
# catkin_add_gtest(${PROJECT_NAME}-test test/test_buggymsgs.cpp)
159
# if(TARGET ${PROJECT_NAME}-test)
160
#   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
161
# endif()
162

  
163
## Add folders to be run by python nosetests
164
# catkin_add_nosetests(test)
buggymsgs/msg/Direction.msg
1
float32 turnAngle
buggymsgs/msg/Pose.msg
1
float32 x
2
float32 y
3
float32 angle
4

  
5
float32 linear_velocity
6
float32 angular_velocity
buggymsgs/package.xml
1
<?xml version="1.0"?>
2
<package>
3
  <name>buggymsgs</name>
4
  <version>0.0.0</version>
5
  <description>The buggymsgs package</description>
6

  
7
  <!-- One maintainer tag required, multiple allowed, one person per tag --> 
8
  <!-- Example:  -->
9
  <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
10
  <maintainer email="tahm@todo.todo">tahm</maintainer>
11

  
12

  
13
  <!-- One license tag required, multiple allowed, one license per tag -->
14
  <!-- Commonly used license strings: -->
15
  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
16
  <license>TODO</license>
17

  
18

  
19
  <!-- Url tags are optional, but mutiple are allowed, one per tag -->
20
  <!-- Optional attribute type can be: website, bugtracker, or repository -->
21
  <!-- Example: -->
22
  <!-- <url type="website">http://wiki.ros.org/buggymsgs</url> -->
23

  
24

  
25
  <!-- Author tags are optional, mutiple are allowed, one per tag -->
26
  <!-- Authors do not have to be maintianers, but could be -->
27
  <!-- Example: -->
28
  <!-- <author email="jane.doe@example.com">Jane Doe</author> -->
29

  
30

  
31
  <!-- The *_depend tags are used to specify dependencies -->
32
  <!-- Dependencies can be catkin packages or system dependencies -->
33
  <!-- Examples: -->
34
  <!-- Use build_depend for packages you need at compile time: -->
35
  <!--   <build_depend>message_generation</build_depend> -->
36
  <!-- Use buildtool_depend for build tool packages: -->
37
  <!--   <buildtool_depend>catkin</buildtool_depend> -->
38
  <!-- Use run_depend for packages you need at runtime: -->
39
  <!--   <run_depend>message_runtime</run_depend> -->
40
  <!-- Use test_depend for packages you need only for testing: -->
41
  <!--   <test_depend>gtest</test_depend> -->
42
  <buildtool_depend>catkin</buildtool_depend>
43

  
44

  
45
  <build_depend>roscpp</build_depend>
46
  <build_depend>rospy</build_depend>
47
  <build_depend>std_msgs</build_depend>
48
  <build_depend>message_generation</build_depend>
49

  
50
  <run_depend>roscpp</run_depend>
51
  <run_depend>rospy</run_depend>
52
  <run_depend>std_msgs</run_depend>
53
  <run_depend>message_runtime</run_depend>
54

  
55

  
56
  <!-- The export tag contains other, unspecified, tags -->
57
  <export>
58
    <!-- You can specify that this package is a metapackage here: -->
59
    <!-- <metapackage/> -->
60

  
61
    <!-- Other tools can request additional information be placed here -->
62

  
63
  </export>
64
</package>
buggynav/CMakeLists.txt
11 11
  roscpp
12 12
  rospy
13 13
  std_msgs
14
  buggymsgs
14
  buggycommon
15 15
)
16 16

  
17 17
## System dependencies are found with CMake's conventions
......
87 87
catkin_package(
88 88
#  INCLUDE_DIRS include
89 89
#  LIBRARIES buggynav
90
  CATKIN_DEPENDS roscpp rospy std_msgs message_runtime buggymsgs
90
  CATKIN_DEPENDS roscpp rospy std_msgs message_runtime buggycommon
91 91
#  DEPENDS system_lib
92 92
)
93 93

  
......
113 113
# Add teleop executable
114 114
add_executable(teleop src/teleop_nav.cpp)
115 115
target_link_libraries(teleop ${catkin_LIBRARIES})
116
add_dependencies(teleop buggymsgs_generate_messages_cpp)
116
add_dependencies(teleop buggycommon_generate_messages_cpp)
117 117

  
118 118
# Add Path-Following executable
119 119
add_executable(waypoints 
120 120
  src/waypoint_nav.cpp 
121 121
  src/waypoint_nav.h)
122 122
target_link_libraries(waypoints ${catkin_LIBRARIES})
123
add_dependencies(waypoints buggymsgs_generate_messages_cpp)
123
add_dependencies(waypoints buggycommon_generate_messages_cpp)
124 124

  
125 125
## Add cmake target dependencies of the executable/library
126 126
## as an example, message headers may need to be generated before nodes
buggynav/package.xml
52 52
  <run_depend>message_runtime</run_depend>
53 53

  
54 54
  <!-- My Dependencies -->
55
  <build_depend>buggymsgs</build_depend>
56
  <run_depend>buggymsgs</run_depend>
55
  <build_depend>buggycommon</build_depend>
56
  <run_depend>buggycommon</run_depend>
57 57
  <!-- The export tag contains other, unspecified, tags -->
58 58
  <export>
59 59
    <!-- You can specify that this package is a metapackage here: -->
buggysim/CMakeLists.txt
1 1
cmake_minimum_required(VERSION 2.8.3)
2 2
project(buggysim)
3 3

  
4
find_package(catkin REQUIRED COMPONENTS message_generation roscpp roslib rosconsole std_msgs std_srvs rostime roscpp_serialization buggymsgs)
4
find_package(catkin REQUIRED COMPONENTS message_generation roscpp roslib rosconsole std_msgs std_srvs rostime roscpp_serialization buggycommon)
5 5

  
6 6
find_package(Qt4 4.6 REQUIRED COMPONENTS QtCore QtGui)
7 7
include(${QT_USE_FILE})
......
21 21
                  TeleportRelative.srv)
22 22
generate_messages(DEPENDENCIES std_msgs std_srvs)
23 23

  
24
catkin_package(CATKIN_DEPENDS message_runtime buggymsgs std_msgs std_srvs)
24
catkin_package(CATKIN_DEPENDS message_runtime buggycommon std_msgs std_srvs)
25 25

  
26 26
# Set up the dependencies for turtlesim_node
27 27
set(turtlesim_node_SRCS
buggysim/naming-conventions
1
I kindof want to name all of the simulator releases as cities from a-z, 
2
and all of the "drivers" as hipster girls names. I mostly just want to 
3
name a driver "Felicity", because it sounds cool to me. 
4

  
5
This is important enough to put into the git repo, thus, obviously, it means
6
a lot to me. 
7

  
8
#research-gradecode
buggysim/package.xml
27 27
  <build_depend>rostime</build_depend>
28 28
  <build_depend>std_msgs</build_depend>
29 29
  <build_depend>std_srvs</build_depend>
30
  <build_depend>buggymsgs</build_depend>
30
  <build_depend>buggycommon</build_depend>
31 31

  
32 32
  <run_depend>libqt4</run_depend>
33 33
  <run_depend>message_runtime</run_depend>
......
38 38
  <run_depend>rostime</run_depend>
39 39
  <run_depend>std_msgs</run_depend>
40 40
  <run_depend>std_srvs</run_depend>
41
  <run_depend>buggymsgs</run_depend>
41
  <run_depend>buggycommon</run_depend>
42 42
</package>

Also available in: Unified diff