diff --git a/.ci.xacro_test.sh b/.ci.xacro_test.sh
index d53f97b3..a80e8a66 100644
--- a/.ci.xacro_test.sh
+++ b/.ci.xacro_test.sh
@@ -1,7 +1,13 @@
#!/bin/sh
status=0
-[ "$ROS_DISTRO" \< "melodic" ] && xacro_args='--inorder'
-for x in $(find "$TARGET_REPO_PATH" -name '*.xacro'|sort); do
+# Only set --inorder if running on older ROS 1 distros; for ROS 2 (Humble) we don't need it.
+if [ -n "$ROS_DISTRO" ] && { [ "$ROS_DISTRO" = "indigo" ] || [ "$ROS_DISTRO" = "jade" ] || [ "$ROS_DISTRO" = "kinetic" ]; }; then
+ xacro_args='--inorder'
+else
+ xacro_args=''
+fi
+
+for x in $(find "$TARGET_REPO_PATH" -name '*.xacro' | sort); do
echo "Testing $x"
xacro $xacro_args "$x" > /dev/null || status=1
done
diff --git a/all_changes.patch b/all_changes.patch
new file mode 100644
index 00000000..af32416f
--- /dev/null
+++ b/all_changes.patch
@@ -0,0 +1,122 @@
+diff --git a/.ci.xacro_test.sh b/.ci.xacro_test.sh
+index d53f97b..a80e8a6 100644
+--- a/.ci.xacro_test.sh
++++ b/.ci.xacro_test.sh
+@@ -1,7 +1,13 @@
+ #!/bin/sh
+ status=0
+-[ "$ROS_DISTRO" \< "melodic" ] && xacro_args='--inorder'
+-for x in $(find "$TARGET_REPO_PATH" -name '*.xacro'|sort); do
++# Only set --inorder if running on older ROS 1 distros; for ROS 2 (Humble) we don't need it.
++if [ -n "$ROS_DISTRO" ] && { [ "$ROS_DISTRO" = "indigo" ] || [ "$ROS_DISTRO" = "jade" ] || [ "$ROS_DISTRO" = "kinetic" ]; }; then
++ xacro_args='--inorder'
++else
++ xacro_args=''
++fi
++
++for x in $(find "$TARGET_REPO_PATH" -name '*.xacro' | sort); do
+ echo "Testing $x"
+ xacro $xacro_args "$x" > /dev/null || status=1
+ done
+diff --git a/cob_actions/package.xml b/cob_actions/package.xml
+index 47261e4..be05704 100644
+--- a/cob_actions/package.xml
++++ b/cob_actions/package.xml
+@@ -16,4 +16,5 @@
+ action_msgs
+
+ rosidl_default_runtime
++ rosidl_interface_packages
+
+diff --git a/cob_common/CMakeLists.txt b/cob_common/CMakeLists.txt
+index edffff6..402eafb 100644
+--- a/cob_common/CMakeLists.txt
++++ b/cob_common/CMakeLists.txt
+@@ -1,5 +1,7 @@
+ cmake_minimum_required(VERSION 3.8)
+ project(cob_common)
+
++# Make the ament_metapackage() command available.
+ find_package(ament_cmake REQUIRED)
+-ament_metapackage()
++
++ament_package()
+diff --git a/cob_common/package.xml b/cob_common/package.xml
+index 9999397..63bbd3c 100644
+--- a/cob_common/package.xml
++++ b/cob_common/package.xml
+@@ -17,8 +17,6 @@
+ cob_actions
+ cob_msgs
+ cob_srvs
+-
+-
+-
+-
++ rosidl_interface_packages
++
+
+diff --git a/cob_msgs/msg/AccessPoint.msg b/cob_msgs/msg/AccessPoint.msg
+index da7d9bd..84c5de9 100644
+--- a/cob_msgs/msg/AccessPoint.msg
++++ b/cob_msgs/msg/AccessPoint.msg
+@@ -1,5 +1,5 @@
+ # This message communicates the state of the PR2's wifi access point.
+-Header header
++std_msgs/Header header
+ string essid
+ string macaddr
+ int32 signal
+diff --git a/cob_msgs/msg/PowerState.msg b/cob_msgs/msg/PowerState.msg
+index 47cf00d..d15d711 100644
+--- a/cob_msgs/msg/PowerState.msg
++++ b/cob_msgs/msg/PowerState.msg
+@@ -1,5 +1,5 @@
+ # This message communicates the state of the power system.
+-Header header
++std_msgs/Header header
+ float64 voltage # [V]
+ float64 current # [A]
+ float64 power_consumption # [W] can only be calculated if not charging
+diff --git a/cob_msgs/msg/SafetyControllerState.msg b/cob_msgs/msg/SafetyControllerState.msg
+index 04a8e81..12b8d97 100644
+--- a/cob_msgs/msg/SafetyControllerState.msg
++++ b/cob_msgs/msg/SafetyControllerState.msg
+@@ -1,4 +1,4 @@
+-Header header
++std_msgs/Header header
+ bool has_wireless_emstop
+ bool has_fall_sensors
+ bool has_magnetic_safety_switch
+diff --git a/cob_msgs/msg/SiteSurvey.msg b/cob_msgs/msg/SiteSurvey.msg
+index fadf87b..5d57c98 100644
+--- a/cob_msgs/msg/SiteSurvey.msg
++++ b/cob_msgs/msg/SiteSurvey.msg
+@@ -1,2 +1,2 @@
+-Header header
++std_msgs/Header header
+ Network[] networks
+diff --git a/cob_msgs/package.xml b/cob_msgs/package.xml
+index 0575133..34a48cd 100644
+--- a/cob_msgs/package.xml
++++ b/cob_msgs/package.xml
+@@ -19,4 +19,5 @@
+ std_msgs
+
+ rosidl_default_runtime
++ rosidl_interface_packages
+
+diff --git a/cob_srvs/package.xml b/cob_srvs/package.xml
+index a51c8a3..24be9a6 100644
+--- a/cob_srvs/package.xml
++++ b/cob_srvs/package.xml
+@@ -13,8 +13,7 @@
+
+ ament_cmake
+ rosidl_default_generators
+-
+ geometry_msgs
+-
+ rosidl_default_runtime
++ rosidl_interface_packages
+
diff --git a/cob_actions/CMakeLists.txt b/cob_actions/CMakeLists.txt
index 31d0d55c..e80af62e 100644
--- a/cob_actions/CMakeLists.txt
+++ b/cob_actions/CMakeLists.txt
@@ -1,20 +1,21 @@
-cmake_minimum_required(VERSION 3.0.2)
+cmake_minimum_required(VERSION 3.8)
project(cob_actions)
-find_package(catkin REQUIRED COMPONENTS actionlib_msgs geometry_msgs message_generation)
+# Find dependencies
+find_package(ament_cmake REQUIRED)
+find_package(rosidl_default_generators REQUIRED)
+find_package(geometry_msgs REQUIRED)
+find_package(action_msgs REQUIRED) # ROS 2 uses built-in action types
-add_action_files(FILES
- Dock.action
- SetBool.action
- SetFloat.action
- SetInt.action
- SetString.action
+# Generate action interfaces.
+# Make sure your action files are in the "action" directory.
+rosidl_generate_interfaces(${PROJECT_NAME}
+ "action/Dock.action"
+ "action/SetBool.action"
+ "action/SetFloat.action"
+ "action/SetInt.action"
+ "action/SetString.action"
+ DEPENDENCIES geometry_msgs action_msgs
)
-generate_messages(
- DEPENDENCIES actionlib_msgs geometry_msgs
-)
-
-catkin_package(
- CATKIN_DEPENDS actionlib_msgs geometry_msgs message_runtime
-)
+ament_package()
diff --git a/cob_actions/package.xml b/cob_actions/package.xml
index eb5c71b6..be057042 100644
--- a/cob_actions/package.xml
+++ b/cob_actions/package.xml
@@ -1,23 +1,20 @@
-
+
+
cob_actions
0.8.12
- This Package contains Care-O-bot specific action definitions.
-
- Apache 2.0
-
+ This package contains Care-O-bot specific action definitions.
+ Apache-2.0
http://ros.org/wiki/cob_actions
-
-
Benjamin Maidel
Denis Lehmann
Felix Messmer
- Felix Messmer
- catkin
-
- message_generation
- message_runtime
- actionlib_msgs
+ ament_cmake
+ rosidl_default_generators
+
geometry_msgs
-
+ action_msgs
+
+ rosidl_default_runtime
+ rosidl_interface_packages
diff --git a/cob_common/CMakeLists.txt b/cob_common/CMakeLists.txt
index c8af5653..402eafb7 100644
--- a/cob_common/CMakeLists.txt
+++ b/cob_common/CMakeLists.txt
@@ -1,4 +1,7 @@
-cmake_minimum_required(VERSION 3.0.2)
+cmake_minimum_required(VERSION 3.8)
project(cob_common)
-find_package(catkin REQUIRED)
-catkin_metapackage()
+
+# Make the ament_metapackage() command available.
+find_package(ament_cmake REQUIRED)
+
+ament_package()
diff --git a/cob_common/package.xml b/cob_common/package.xml
index e198eb06..63bbd3c1 100644
--- a/cob_common/package.xml
+++ b/cob_common/package.xml
@@ -1,23 +1,22 @@
-
+
+
cob_common
0.8.12
- The cob_common stack hosts common packages that are used within the Care-O-bot repository. E.g. utility packages or common message and service definitions etc. Also the urdf desciption of the robot is located in this stack.
- Apache 2.0
-
+
+ The cob_common stack hosts common packages used within the Care-O-bot repository, such as utility packages or common message and service definitions.
+
+ Apache-2.0
http://ros.org/wiki/cob_common
-
-
Benjamin Maidel
Denis Lehmann
Felix Messmer
-
- catkin
-
+
+ ament_cmake
+
+
cob_actions
cob_msgs
cob_srvs
+ rosidl_interface_packages
-
-
-
diff --git a/cob_msgs/CMakeLists.txt b/cob_msgs/CMakeLists.txt
index 4e26651e..a41cb262 100644
--- a/cob_msgs/CMakeLists.txt
+++ b/cob_msgs/CMakeLists.txt
@@ -1,17 +1,21 @@
-cmake_minimum_required(VERSION 3.0.2)
+cmake_minimum_required(VERSION 3.8)
project(cob_msgs)
-find_package(catkin REQUIRED COMPONENTS diagnostic_msgs message_generation std_msgs)
-add_message_files(FILES
- AccessPoint.msg
- DashboardState.msg
- EmergencyStopState.msg
- Network.msg
- PowerState.msg
- SafetyControllerState.msg
- SiteSurvey.msg
-)
+find_package(ament_cmake REQUIRED)
+find_package(rosidl_default_generators REQUIRED)
+find_package(diagnostic_msgs REQUIRED)
+find_package(std_msgs REQUIRED)
-generate_messages(DEPENDENCIES diagnostic_msgs std_msgs)
+# Assuming your message files are now located in the "msg" directory.
+rosidl_generate_interfaces(${PROJECT_NAME}
+ "msg/AccessPoint.msg"
+ "msg/DashboardState.msg"
+ "msg/EmergencyStopState.msg"
+ "msg/Network.msg"
+ "msg/PowerState.msg"
+ "msg/SafetyControllerState.msg"
+ "msg/SiteSurvey.msg"
+ DEPENDENCIES diagnostic_msgs std_msgs
+)
-catkin_package(CATKIN_DEPENDS diagnostic_msgs message_runtime std_msgs)
+ament_package()
diff --git a/cob_msgs/msg/AccessPoint.msg b/cob_msgs/msg/AccessPoint.msg
index da7d9bda..84c5de97 100644
--- a/cob_msgs/msg/AccessPoint.msg
+++ b/cob_msgs/msg/AccessPoint.msg
@@ -1,5 +1,5 @@
# This message communicates the state of the PR2's wifi access point.
-Header header
+std_msgs/Header header
string essid
string macaddr
int32 signal
diff --git a/cob_msgs/msg/PowerState.msg b/cob_msgs/msg/PowerState.msg
index 47cf00d7..d15d7111 100644
--- a/cob_msgs/msg/PowerState.msg
+++ b/cob_msgs/msg/PowerState.msg
@@ -1,5 +1,5 @@
# This message communicates the state of the power system.
-Header header
+std_msgs/Header header
float64 voltage # [V]
float64 current # [A]
float64 power_consumption # [W] can only be calculated if not charging
diff --git a/cob_msgs/msg/SafetyControllerState.msg b/cob_msgs/msg/SafetyControllerState.msg
index 04a8e81e..12b8d97b 100644
--- a/cob_msgs/msg/SafetyControllerState.msg
+++ b/cob_msgs/msg/SafetyControllerState.msg
@@ -1,4 +1,4 @@
-Header header
+std_msgs/Header header
bool has_wireless_emstop
bool has_fall_sensors
bool has_magnetic_safety_switch
diff --git a/cob_msgs/msg/SiteSurvey.msg b/cob_msgs/msg/SiteSurvey.msg
index fadf87b9..5d57c98a 100644
--- a/cob_msgs/msg/SiteSurvey.msg
+++ b/cob_msgs/msg/SiteSurvey.msg
@@ -1,2 +1,2 @@
-Header header
+std_msgs/Header header
Network[] networks
diff --git a/cob_msgs/package.xml b/cob_msgs/package.xml
index 0e7ca4df..34a48cd8 100644
--- a/cob_msgs/package.xml
+++ b/cob_msgs/package.xml
@@ -1,24 +1,23 @@
-
+
+
cob_msgs
0.8.12
- Messages for representing state information, such as battery information and emergency stop status.
+ Messages for representing state information, such as battery and emergency stop statuses.
-
Benjamin Maidel
Denis Lehmann
Felix Messmer
Florian Weisshardt
Florian Weisshardt
+ Apache-2.0
- Apache 2.0
-
- catkin
-
- message_generation
- message_runtime
+ ament_cmake
+ rosidl_default_generators
diagnostic_msgs
std_msgs
+ rosidl_default_runtime
+ rosidl_interface_packages
diff --git a/cob_srvs/CMakeLists.txt b/cob_srvs/CMakeLists.txt
index 83df9231..171d07e3 100644
--- a/cob_srvs/CMakeLists.txt
+++ b/cob_srvs/CMakeLists.txt
@@ -1,19 +1,17 @@
-cmake_minimum_required(VERSION 3.0.2)
+cmake_minimum_required(VERSION 3.8)
project(cob_srvs)
-find_package(catkin REQUIRED COMPONENTS geometry_msgs message_generation)
+find_package(ament_cmake REQUIRED)
+find_package(rosidl_default_generators REQUIRED)
+find_package(geometry_msgs REQUIRED)
-add_service_files(FILES
- Dock.srv
- SetFloat.srv
- SetInt.srv
- SetString.srv
-)
-
-generate_messages(
+# Assuming your service files are now in the "srv" directory.
+rosidl_generate_interfaces(${PROJECT_NAME}
+ "srv/Dock.srv"
+ "srv/SetFloat.srv"
+ "srv/SetInt.srv"
+ "srv/SetString.srv"
DEPENDENCIES geometry_msgs
)
-catkin_package(
- CATKIN_DEPENDS geometry_msgs message_runtime
-)
+ament_package()
diff --git a/cob_srvs/package.xml b/cob_srvs/package.xml
index 44c95437..24be9a63 100644
--- a/cob_srvs/package.xml
+++ b/cob_srvs/package.xml
@@ -1,23 +1,19 @@
-
+
+
cob_srvs
0.8.12
- This Package contains Care-O-bot specific service definitions.
-
- Apache 2.0
-
+ This package contains Care-O-bot specific service definitions.
+ Apache-2.0
http://ros.org/wiki/cob_srvs
-
-
Benjamin Maidel
Denis Lehmann
Felix Messmer
Florian Weisshardt
Florian Weisshardt
- catkin
-
- message_generation
- message_runtime
+ ament_cmake
+ rosidl_default_generators
geometry_msgs
-
+ rosidl_default_runtime
+ rosidl_interface_packages