From 926c6637fa8aa9fde69312fc1d8d1511c26fbbba Mon Sep 17 00:00:00 2001 From: Florian Vahl Date: Sun, 5 Jan 2025 21:19:59 +0100 Subject: [PATCH 1/3] Build with release and refactor some CMakeLists.txt files --- .../bitbots_blackboard/CMakeLists.txt | 73 +---- .../bitbots_buttons/CMakeLists.txt | 5 + .../bitbots_ros_control/CMakeLists.txt | 5 + .../bitbots_basler_camera/CMakeLists.txt | 5 + .../CMakeLists.txt | 5 + .../bitbots_robot_description/CMakeLists.txt | 6 - bitbots_misc/bitbots_tf_buffer/CMakeLists.txt | 5 + bitbots_misc/bitbots_utils/CMakeLists.txt | 5 + .../bitbots_dynamic_kick/CMakeLists.txt | 5 + bitbots_motion/bitbots_dynup/CMakeLists.txt | 5 + bitbots_motion/bitbots_hcm/CMakeLists.txt | 7 +- .../bitbots_head_mover/CMakeLists.txt | 6 + .../bitbots_moveit_bindings/CMakeLists.txt | 5 + .../bitbots_quintic_walk/CMakeLists.txt | 5 + .../bitbots_rl_motion/CMakeLists.txt | 26 -- bitbots_motion/bitbots_splines/CMakeLists.txt | 5 + bitbots_msgs/CMakeLists.txt | 5 + .../bitbots_localization/CMakeLists.txt | 5 + .../bitbots_odometry/CMakeLists.txt | 5 + .../wolfgang_animations/CMakeLists.txt | 19 +- .../wolfgang_description/CMakeLists.txt | 50 ---- .../wolfgang_moveit_config/CMakeLists.txt | 20 +- .../docs/_static/logo.png | Bin 0 -> 11686 bytes .../wolfgang_moveit_config/docs/conf.py | 187 ++++++++++++ .../wolfgang_moveit_config/docs/index.rst | 21 ++ .../bitbots_pybullet_sim/CMakeLists.txt | 62 +--- .../src/bitbots_pybullet_sim/ros_interface.py | 283 ------------------ .../bitbots_webots_sim/CMakeLists.txt | 65 ---- .../bitbots_team_communication/CMakeLists.txt | 9 - 29 files changed, 296 insertions(+), 608 deletions(-) create mode 100644 bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png create mode 100644 bitbots_robot/wolfgang_moveit_config/docs/conf.py create mode 100644 bitbots_robot/wolfgang_moveit_config/docs/index.rst delete mode 100644 bitbots_simulation/bitbots_pybullet_sim/src/bitbots_pybullet_sim/ros_interface.py diff --git a/bitbots_behavior/bitbots_blackboard/CMakeLists.txt b/bitbots_behavior/bitbots_blackboard/CMakeLists.txt index be7e5dad5..b2879ded2 100644 --- a/bitbots_behavior/bitbots_blackboard/CMakeLists.txt +++ b/bitbots_behavior/bitbots_blackboard/CMakeLists.txt @@ -1,81 +1,12 @@ cmake_minimum_required(VERSION 3.5) project(bitbots_blackboard) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - -find_package(bio_ik_msgs REQUIRED) -find_package(ament_cmake REQUIRED) -find_package(sensor_msgs REQUIRED) -find_package(rclpy REQUIRED) -find_package(tf2 REQUIRED) -find_package(bitbots_msgs REQUIRED) -find_package(std_msgs REQUIRED) -find_package(tf2_geometry_msgs REQUIRED) -find_package(std_srvs REQUIRED) -find_package(geometry_msgs REQUIRED) find_package(bitbots_docs REQUIRED) +find_package(ament_cmake REQUIRED) +find_package(ament_cmake_python REQUIRED) -set(INCLUDE_DIRS - ${bio_ik_msgs_INCLUDE_DIRS} - ${ament_cmake_INCLUDE_DIRS} - ${sensor_msgs_INCLUDE_DIRS} - ${rclpy_INCLUDE_DIRS} - ${tf2_INCLUDE_DIRS} - ${bitbots_msgs_INCLUDE_DIRS} - ${std_msgs_INCLUDE_DIRS} - ${tf2_geometry_msgs_INCLUDE_DIRS} - ${std_srvs_INCLUDE_DIRS} - ${geometry_msgs_INCLUDE_DIRS} - ${bitbots_docs_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS - ${bio_ik_msgs_LIBRARY_DIRS} - ${ament_cmake_LIBRARY_DIRS} - ${sensor_msgs_LIBRARY_DIRS} - ${rclpy_LIBRARY_DIRS} - ${tf2_LIBRARY_DIRS} - ${bitbots_msgs_LIBRARY_DIRS} - ${std_msgs_LIBRARY_DIRS} - ${tf2_geometry_msgs_LIBRARY_DIRS} - ${std_srvs_LIBRARY_DIRS} - ${geometry_msgs_LIBRARY_DIRS} - ${bitbots_docs_LIBRARY_DIRS}) - -link_directories(${LIBRARY_DIRS}) - -set(LIBS - ${bio_ik_msgs_LIBRARIES} - ${ament_cmake_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${rclpy_LIBRARIES} - ${tf2_LIBRARIES} - ${bitbots_msgs_LIBRARIES} - ${std_msgs_LIBRARIES} - ${tf2_geometry_msgs_LIBRARIES} - ${std_srvs_LIBRARIES} - ${geometry_msgs_LIBRARIES} - ${bitbots_docs_LIBRARIES}) - -include(${CMAKE_BINARY_DIR}/../bitbots_docs/enable_bitbots_docs.cmake) enable_bitbots_docs() -ament_export_dependencies(bio_ik_msgs) -ament_export_dependencies(ament_cmake) -ament_export_dependencies(sensor_msgs) -ament_export_dependencies(rclpy) -ament_export_dependencies(tf2) -ament_export_dependencies(bitbots_msgs) -ament_export_dependencies(std_msgs) -ament_export_dependencies(tf2_geometry_msgs) -ament_export_dependencies(std_srvs) -ament_export_dependencies(geometry_msgs) -ament_export_dependencies(bitbots_docs) -ament_export_include_directories(${INCLUDE_DIRS}) - ament_python_install_package(${PROJECT_NAME}) ament_package() diff --git a/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt b/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt index 5699cd0f5..771c19b29 100644 --- a/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt +++ b/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(backward_ros REQUIRED) find_package(bitbots_docs REQUIRED) diff --git a/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt b/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt index a3fe26da8..65939952a 100644 --- a/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt +++ b/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(backward_ros REQUIRED) find_package(bitbots_buttons REQUIRED) diff --git a/bitbots_misc/bitbots_basler_camera/CMakeLists.txt b/bitbots_misc/bitbots_basler_camera/CMakeLists.txt index b49c2bf23..fb311c879 100644 --- a/bitbots_misc/bitbots_basler_camera/CMakeLists.txt +++ b/bitbots_misc/bitbots_basler_camera/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(ament_index_cpp REQUIRED) find_package(backward_ros REQUIRED) diff --git a/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt b/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt index f08aaeb3d..9f301a56a 100644 --- a/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt +++ b/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(geometry_msgs REQUIRED) find_package(rclcpp REQUIRED) find_package(ament_cmake REQUIRED) diff --git a/bitbots_misc/bitbots_robot_description/CMakeLists.txt b/bitbots_misc/bitbots_robot_description/CMakeLists.txt index 060c6f2ff..19767fabc 100644 --- a/bitbots_misc/bitbots_robot_description/CMakeLists.txt +++ b/bitbots_misc/bitbots_robot_description/CMakeLists.txt @@ -4,12 +4,6 @@ project(bitbots_robot_description) find_package(bitbots_docs REQUIRED) find_package(ament_cmake REQUIRED) -set(INCLUDE_DIRS include) -include_directories(${INCLUDE_DIRS}) - -set(CMAKE_CXX_STANDARD 17) -add_compile_options(-Wall -Werror -Wno-unused -pedantic -Wextra) - enable_bitbots_docs() install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) diff --git a/bitbots_misc/bitbots_tf_buffer/CMakeLists.txt b/bitbots_misc/bitbots_tf_buffer/CMakeLists.txt index 501ca675d..69afe52eb 100644 --- a/bitbots_misc/bitbots_tf_buffer/CMakeLists.txt +++ b/bitbots_misc/bitbots_tf_buffer/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + set(PYBIND11_PYTHON_VERSION 3) set(PYBIND11_FINDPYTHON ON) find_package(ament_cmake REQUIRED) diff --git a/bitbots_misc/bitbots_utils/CMakeLists.txt b/bitbots_misc/bitbots_utils/CMakeLists.txt index 9a58212b3..76896dcb6 100644 --- a/bitbots_misc/bitbots_utils/CMakeLists.txt +++ b/bitbots_misc/bitbots_utils/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(bitbots_docs REQUIRED) find_package(ament_cmake REQUIRED) find_package(ament_cmake_python REQUIRED) diff --git a/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt b/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt index fb4787aed..0de3e0678 100644 --- a/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt +++ b/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(bitbots_docs REQUIRED) find_package(biped_interfaces REQUIRED) diff --git a/bitbots_motion/bitbots_dynup/CMakeLists.txt b/bitbots_motion/bitbots_dynup/CMakeLists.txt index 5760b5ce0..e64bcbc9c 100644 --- a/bitbots_motion/bitbots_dynup/CMakeLists.txt +++ b/bitbots_motion/bitbots_dynup/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 20) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + set(PYBIND11_PYTHON_VERSION 3) set(PYBIND11_FINDPYTHON ON) diff --git a/bitbots_motion/bitbots_hcm/CMakeLists.txt b/bitbots_motion/bitbots_hcm/CMakeLists.txt index 9e427ccae..6898b65e1 100644 --- a/bitbots_motion/bitbots_hcm/CMakeLists.txt +++ b/bitbots_motion/bitbots_hcm/CMakeLists.txt @@ -1,6 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(bitbots_hcm) +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + set(PYBIND11_PYTHON_VERSION 3) set(PYBIND11_FINDPYTHON ON) find_package(ament_cmake REQUIRED) @@ -19,7 +24,7 @@ find_package(sensor_msgs REQUIRED) find_package(std_msgs REQUIRED) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-fvisibility=hidden) + add_compile_options(-fvisibility=hidden -Wall -Wextra -Wpedantic) endif() include_directories(${PYTHON_INCLUDE_DIRS}) diff --git a/bitbots_motion/bitbots_head_mover/CMakeLists.txt b/bitbots_motion/bitbots_head_mover/CMakeLists.txt index 3fa26761b..e1e7ebd86 100644 --- a/bitbots_motion/bitbots_head_mover/CMakeLists.txt +++ b/bitbots_motion/bitbots_head_mover/CMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 3.8) project(bitbots_head_mover) + +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() diff --git a/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt b/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt index 08708a75c..91cf9114b 100644 --- a/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt +++ b/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + set(PYBIND11_PYTHON_VERSION 3) set(PYBIND11_FINDPYTHON ON) find_package(bitbots_docs REQUIRED) diff --git a/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt b/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt index 7a4f5637a..818f1d42a 100644 --- a/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt +++ b/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 20) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + set(PYBIND11_PYTHON_VERSION 3) set(PYBIND11_FINDPYTHON ON) find_package(ament_cmake REQUIRED) diff --git a/bitbots_motion/bitbots_rl_motion/CMakeLists.txt b/bitbots_motion/bitbots_rl_motion/CMakeLists.txt index 78ed31086..7f83a4899 100644 --- a/bitbots_motion/bitbots_rl_motion/CMakeLists.txt +++ b/bitbots_motion/bitbots_rl_motion/CMakeLists.txt @@ -1,37 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(bitbots_rl_motion) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - -find_package(rclpy REQUIRED) -find_package(std_msgs REQUIRED) find_package(ament_cmake REQUIRED) find_package(bitbots_docs REQUIRED) -set(INCLUDE_DIRS ${rclpy_INCLUDE_DIRS} ${std_msgs_INCLUDE_DIRS} - ${ament_cmake_INCLUDE_DIRS} ${bitbots_docs_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS ${rclpy_LIBRARY_DIRS} ${std_msgs_LIBRARY_DIRS} - ${ament_cmake_LIBRARY_DIRS} ${bitbots_docs_LIBRARY_DIRS}) - -link_directories(${LIBRARY_DIRS}) - -set(LIBS ${rclpy_LIBRARIES} ${std_msgs_LIBRARIES} ${ament_cmake_LIBRARIES} - ${bitbots_docs_LIBRARIES}) - -include(${CMAKE_BINARY_DIR}/../bitbots_docs/enable_bitbots_docs.cmake) enable_bitbots_docs() -ament_export_dependencies(rclpy) -ament_export_dependencies(std_msgs) -ament_export_dependencies(ament_cmake) -ament_export_dependencies(bitbots_docs) -ament_export_include_directories(${INCLUDE_DIRS}) - install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) install(DIRECTORY rl_walk_models DESTINATION share/${PROJECT_NAME}) diff --git a/bitbots_motion/bitbots_splines/CMakeLists.txt b/bitbots_motion/bitbots_splines/CMakeLists.txt index dc1b991d5..62ffa92e8 100644 --- a/bitbots_motion/bitbots_splines/CMakeLists.txt +++ b/bitbots_motion/bitbots_splines/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(bitbots_docs REQUIRED) find_package(rclcpp REQUIRED) diff --git a/bitbots_msgs/CMakeLists.txt b/bitbots_msgs/CMakeLists.txt index 74c50a259..90ec230d9 100644 --- a/bitbots_msgs/CMakeLists.txt +++ b/bitbots_msgs/CMakeLists.txt @@ -1,6 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(bitbots_msgs) +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(rosidl_default_generators REQUIRED) find_package(action_msgs REQUIRED) diff --git a/bitbots_navigation/bitbots_localization/CMakeLists.txt b/bitbots_navigation/bitbots_localization/CMakeLists.txt index 841ccfd7a..4eadc1f07 100644 --- a/bitbots_navigation/bitbots_localization/CMakeLists.txt +++ b/bitbots_navigation/bitbots_localization/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(ament_index_cpp REQUIRED) find_package(backward_ros REQUIRED) diff --git a/bitbots_navigation/bitbots_odometry/CMakeLists.txt b/bitbots_navigation/bitbots_odometry/CMakeLists.txt index 9ff8c552c..aad1b1d15 100644 --- a/bitbots_navigation/bitbots_odometry/CMakeLists.txt +++ b/bitbots_navigation/bitbots_odometry/CMakeLists.txt @@ -6,6 +6,11 @@ if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17) endif() +# Build with release optimizations and debug symbols by default +if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebug) +endif() + find_package(ament_cmake REQUIRED) find_package(biped_interfaces REQUIRED) find_package(bitbots_docs REQUIRED) diff --git a/bitbots_robot/wolfgang_animations/CMakeLists.txt b/bitbots_robot/wolfgang_animations/CMakeLists.txt index 309f55468..79500c36a 100644 --- a/bitbots_robot/wolfgang_animations/CMakeLists.txt +++ b/bitbots_robot/wolfgang_animations/CMakeLists.txt @@ -1,28 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(wolfgang_animations) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - find_package(ament_cmake REQUIRED) +find_package(bitbots_docs REQUIRED) -set(INCLUDE_DIRS ${ament_cmake_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS ${ament_cmake_LIBRARY_DIRS}) - -link_directories(${LIBRARY_DIRS}) - -set(LIBS ${ament_cmake_LIBRARIES}) - -include(${CMAKE_BINARY_DIR}/../bitbots_docs/enable_bitbots_docs.cmake) enable_bitbots_docs() -ament_export_dependencies(ament_cmake) -ament_export_include_directories(${INCLUDE_DIRS}) - install(DIRECTORY animations DESTINATION share/${PROJECT_NAME}) ament_package() diff --git a/bitbots_robot/wolfgang_description/CMakeLists.txt b/bitbots_robot/wolfgang_description/CMakeLists.txt index 7cfdeef37..499116a42 100644 --- a/bitbots_robot/wolfgang_description/CMakeLists.txt +++ b/bitbots_robot/wolfgang_description/CMakeLists.txt @@ -1,61 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(wolfgang_description) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - find_package(bitbots_docs REQUIRED) -find_package(urdf REQUIRED) -find_package(xacro REQUIRED) -find_package(sensor_msgs REQUIRED) find_package(ament_cmake REQUIRED) -find_package(tf2 REQUIRED) -find_package(rclcpp REQUIRED) - -set(INCLUDE_DIRS - ${bitbots_docs_INCLUDE_DIRS} - ${urdf_INCLUDE_DIRS} - ${xacro_INCLUDE_DIRS} - ${sensor_msgs_INCLUDE_DIRS} - ${ament_cmake_INCLUDE_DIRS} - ${tf2_INCLUDE_DIRS} - ${rclcpp_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS - ${bitbots_docs_LIBRARY_DIRS} - ${urdf_LIBRARY_DIRS} - ${xacro_LIBRARY_DIRS} - ${sensor_msgs_LIBRARY_DIRS} - ${ament_cmake_LIBRARY_DIRS} - ${tf2_LIBRARY_DIRS} - ${rclcpp_LIBRARY_DIRS}) -link_directories(${LIBRARY_DIRS}) - -set(LIBS - ${bitbots_docs_LIBRARIES} - ${urdf_LIBRARIES} - ${xacro_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${ament_cmake_LIBRARIES} - ${tf2_LIBRARIES} - ${rclcpp_LIBRARIES}) - -include(${CMAKE_BINARY_DIR}/../bitbots_docs/enable_bitbots_docs.cmake) enable_bitbots_docs() -ament_export_dependencies(bitbots_docs) -ament_export_dependencies(urdf) -ament_export_dependencies(xacro) -ament_export_dependencies(sensor_msgs) -ament_export_dependencies(ament_cmake) -ament_export_dependencies(tf2) -ament_export_dependencies(rclcpp) -ament_export_include_directories(${INCLUDE_DIRS}) - install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) install(DIRECTORY urdf DESTINATION share/${PROJECT_NAME}) install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) diff --git a/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt b/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt index 6c20803ab..335eb9db8 100644 --- a/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt +++ b/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt @@ -1,26 +1,10 @@ cmake_minimum_required(VERSION 3.5) project(wolfgang_moveit_config) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - find_package(ament_cmake REQUIRED) +find_package(bitbots_docs REQUIRED) -set(INCLUDE_DIRS ${ament_cmake_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS ${ament_cmake_LIBRARY_DIRS}) - -link_directories(${LIBRARY_DIRS}) - -set(LIBS ${ament_cmake_LIBRARIES}) - -install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) - -ament_export_dependencies(ament_cmake) -ament_export_include_directories(${INCLUDE_DIRS}) +enable_bitbots_docs() install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) diff --git a/bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png b/bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8afdd5d066232e2dba94b758c6c44fe72b42820 GIT binary patch literal 11686 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 num_files_cpp else "cpp" + +# Tell sphinx what the pygments highlight language should be. +highlight_language = primary_domain + +if num_files_cpp > 0: + extensions += [ + "breathe", + "exhale", + ] + + breathe_projects = {project: os.path.join("_build", "doxyoutput", "xml")} + breathe_default_project = project + + def specifications_for_kind(kind): + # Show all members for classes and structs + if kind == "class" or kind == "struct": + return [":members:", ":protected-members:", ":private-members:", ":undoc-members:"] + # An empty list signals to Exhale to use the defaults + else: + return [] + + exhale_args = { + # These arguments are required + "containmentFolder": "cppapi", + "rootFileName": "library_root.rst", + "rootFileTitle": "C++ Library API", + "doxygenStripFromPath": "..", + "customSpecificationsMapping": utils.makeCustomSpecificationsMapping(specifications_for_kind), + # Suggested optional arguments + "createTreeView": True, + "exhaleExecutesDoxygen": True, + "exhaleDoxygenStdin": "INPUT = {}".format(os.path.join(package_dir, "include")), + } + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_rtd_theme" + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + +html_logo = os.path.join("_static", "logo.png") +html_favicon = os.path.join("_static", "logo.png") + + +# -- Options for intersphinx extension --------------------------------------- + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = {"https://docs.python.org/": None} + +# -- Options for todo extension ---------------------------------------------- + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + +# -- RST Standard variables --------------------------------------------------- +rst_prolog = f".. |project| replace:: {project}\n" +rst_prolog += ".. |description| replace:: {}\n".format(catkin_package.description.replace("\n\n", "\n")) +rst_prolog += ".. |modindex| replace:: {}\n".format( + ":ref:`modindex`" if num_files_py > 0 else "Python module index is not available" +) diff --git a/bitbots_robot/wolfgang_moveit_config/docs/index.rst b/bitbots_robot/wolfgang_moveit_config/docs/index.rst new file mode 100644 index 000000000..e76aa433a --- /dev/null +++ b/bitbots_robot/wolfgang_moveit_config/docs/index.rst @@ -0,0 +1,21 @@ +Welcome to |project|'s documentation! +================================================ + +Description +----------- + +|description| + +.. toctree:: + :maxdepth: 2 + + cppapi/library_root + pyapi/modules + + +Indices and tables +================== + +* :ref:`genindex` +* |modindex| +* :ref:`search` diff --git a/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt b/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt index 8bf69dfe2..fa96b424b 100644 --- a/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt +++ b/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt @@ -1,71 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(bitbots_pybullet_sim) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - -find_package(nav_msgs REQUIRED) -find_package(rclpy REQUIRED) -find_package(sensor_msgs REQUIRED) -find_package(urdf REQUIRED) -find_package(bitbots_msgs REQUIRED) -find_package(rosgraph_msgs REQUIRED) -find_package(bitbots_docs REQUIRED) -find_package(std_msgs REQUIRED) find_package(ament_cmake REQUIRED) +find_package(bitbots_docs REQUIRED) -set(INCLUDE_DIRS - ${nav_msgs_INCLUDE_DIRS} - ${rclpy_INCLUDE_DIRS} - ${sensor_msgs_INCLUDE_DIRS} - ${urdf_INCLUDE_DIRS} - ${bitbots_msgs_INCLUDE_DIRS} - ${rosgraph_msgs_INCLUDE_DIRS} - ${bitbots_docs_INCLUDE_DIRS} - ${std_msgs_INCLUDE_DIRS} - ${ament_cmake_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS - ${nav_msgs_LIBRARY_DIRS} - ${rclpy_LIBRARY_DIRS} - ${sensor_msgs_LIBRARY_DIRS} - ${urdf_LIBRARY_DIRS} - ${bitbots_msgs_LIBRARY_DIRS} - ${rosgraph_msgs_LIBRARY_DIRS} - ${bitbots_docs_LIBRARY_DIRS} - ${std_msgs_LIBRARY_DIRS} - ${ament_cmake_LIBRARY_DIRS}) - -link_directories(${LIBRARY_DIRS}) - -set(LIBS - ${nav_msgs_LIBRARIES} - ${rclpy_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${urdf_LIBRARIES} - ${bitbots_msgs_LIBRARIES} - ${rosgraph_msgs_LIBRARIES} - ${bitbots_docs_LIBRARIES} - ${std_msgs_LIBRARIES} - ${ament_cmake_LIBRARIES}) - -include(${CMAKE_BINARY_DIR}/../bitbots_docs/enable_bitbots_docs.cmake) enable_bitbots_docs() -ament_export_dependencies(nav_msgs) -ament_export_dependencies(rclpy) -ament_export_dependencies(sensor_msgs) -ament_export_dependencies(urdf) -ament_export_dependencies(bitbots_msgs) -ament_export_dependencies(rosgraph_msgs) -ament_export_dependencies(bitbots_docs) -ament_export_dependencies(std_msgs) -ament_export_dependencies(ament_cmake) -ament_export_include_directories(${INCLUDE_DIRS}) - install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) install(DIRECTORY models DESTINATION share/${PROJECT_NAME}) diff --git a/bitbots_simulation/bitbots_pybullet_sim/src/bitbots_pybullet_sim/ros_interface.py b/bitbots_simulation/bitbots_pybullet_sim/src/bitbots_pybullet_sim/ros_interface.py deleted file mode 100644 index 01554c1f2..000000000 --- a/bitbots_simulation/bitbots_pybullet_sim/src/bitbots_pybullet_sim/ros_interface.py +++ /dev/null @@ -1,283 +0,0 @@ -import time - -import rospy -from geometry_msgs.msg import PointStamped -from nav_msgs.msg import Odometry -from rosgraph_msgs.msg import Clock -from sensor_msgs.msg import Imu, JointState -from std_msgs.msg import Bool, Float32 -from tf.transformations import euler_from_quaternion - -from bitbots_msgs.msg import FootPressure, JointCommand - - -class ROSInterface: - def __init__(self, simulation, namespace="", node=True): - self.namespace = namespace - # give possibility to use the interface directly as class with setting node=False - if node: - if namespace == "": - rospy.init_node("pybullet_sim") - else: - rospy.init_node("pybullet_sim", anonymous=True, argv=["clock:=/" + self.namespace + "/clock"]) - - self.simulation = simulation - self.namespace = namespace - self.last_time = time.time() - self.last_linear_vel = (0, 0, 0) - - # messages - self.real_time_msg = Float32() - self.joint_state_msg = JointState() - self.joint_state_msg.header.frame_id = "base_link" - self.joint_state_msg.name = self.simulation.get_joint_names() - self.imu_msg = Imu() - self.imu_msg.header.frame_id = "imu_frame" - self.clock_msg = Clock() - self.foot_msg_left = FootPressure() - self.foot_msg_left.header.frame_id = "l_sole" - self.foot_msg_right = FootPressure() - self.foot_msg_right.header.frame_id = "r_sole" - self.odom_msg = Odometry() - self.odom_msg.header.frame_id = "odom" - self.odom_msg.child_frame_id = "base_link" - # we just use the first robot - self.robot_index = self.simulation.robot_indexes[0] - - # publisher - self.left_foot_pressure_publisher = rospy.Publisher( - self.namespace + "foot_pressure_left/raw", FootPressure, queue_size=1 - ) - self.right_foot_pressure_publisher = rospy.Publisher( - self.namespace + "foot_pressure_right/raw", FootPressure, queue_size=1 - ) - self.left_foot_pressure_publisher_filtered = rospy.Publisher( - self.namespace + "foot_pressure_left/filtered", FootPressure, queue_size=1 - ) - self.right_foot_pressure_publisher_filtered = rospy.Publisher( - self.namespace + "foot_pressure_right/filtered", FootPressure, queue_size=1 - ) - self.joint_publisher = rospy.Publisher(self.namespace + "joint_states", JointState, queue_size=1) - self.imu_publisher = rospy.Publisher(self.namespace + "imu/data_raw", Imu, queue_size=1) - self.clock_publisher = rospy.Publisher(self.namespace + "clock", Clock, queue_size=1) - self.real_time_factor_publisher = rospy.Publisher(self.namespace + "real_time_factor", Float32, queue_size=1) - self.true_odom_publisher = rospy.Publisher(self.namespace + "true_odom", Odometry, queue_size=1) - self.cop_l_pub_ = rospy.Publisher(self.namespace + "cop_l", PointStamped, queue_size=1) - self.cop_r_pub_ = rospy.Publisher(self.namespace + "cop_r", PointStamped, queue_size=1) - - # subscriber - self.joint_goal_subscriber = rospy.Subscriber( - self.namespace + "DynamixelController/command", - JointCommand, - self.joint_goal_cb, - queue_size=1, - tcp_nodelay=True, - ) - - self.reset_subscriber = rospy.Subscriber( - self.namespace + "reset", Bool, self.reset_cb, queue_size=1, tcp_nodelay=True - ) - - def step(self): - self.simulation.step() - self.publish_joints() - self.publish_imu() - self.publish_foot_pressure() - self.publish_true_odom() - self.clock_msg.clock = rospy.Time.from_seconds(self.simulation.time) - self.clock_publisher.publish(self.clock_msg) - self.compute_real_time_factor() - - def run_simulation(self, duration=None, sleep=0): - start_time = rospy.get_time() - while not rospy.is_shutdown() and (duration is None or rospy.get_time() - start_time < duration): - self.step() - time.sleep(sleep) - - def compute_real_time_factor(self): - time_now = time.time() - self.real_time_msg.data = self.simulation.timestep / (time_now - self.last_time) - self.last_time = time_now - self.real_time_factor_publisher.publish(self.real_time_msg) - - def get_joint_state_msg(self): - positions = [] - velocities = [] - efforts = [] - for name in self.joint_state_msg.name: - joint = self.simulation.joints[self.robot_index][name] - # this is necessary to update the joint state - # it is not done automatically in the simulation step, since we might not need this info - joint.update() - position, velocity, forces, applied_torque = joint.get_state() - positions.append(position) - velocities.append(velocity) - efforts.append(applied_torque) - self.joint_state_msg.position = positions - self.joint_state_msg.velocity = velocities - self.joint_state_msg.effort = efforts - self.joint_state_msg.header.stamp = rospy.Time.from_seconds(self.simulation.time) - return self.joint_state_msg - - def publish_joints(self): - self.joint_publisher.publish(self.get_joint_state_msg()) - - def get_imu_msg(self): - orientation = self.simulation.get_imu_quaternion() - self.imu_msg.orientation.x = orientation[0] - self.imu_msg.orientation.y = orientation[1] - self.imu_msg.orientation.z = orientation[2] - self.imu_msg.orientation.w = orientation[3] - linear_vel, angular_vel = self.simulation.get_robot_velocity() - self.imu_msg.angular_velocity.x = angular_vel[0] - self.imu_msg.angular_velocity.y = angular_vel[1] - self.imu_msg.angular_velocity.z = angular_vel[2] - # simple acceleration computation by using diff of velocities - linear_acc = tuple(map(lambda i, j: i - j, self.last_linear_vel, linear_vel)) - self.last_linear_vel = linear_vel - # adding gravity to the acceleration - r, p, y = euler_from_quaternion(orientation) - gravity = [r * 9.81, p * 9.81, y * 9.81] - linear_acc = tuple([linear_acc[0] + gravity[0], linear_acc[1] + gravity[1], linear_acc[2] + gravity[2]]) - self.imu_msg.linear_acceleration.x = linear_acc[0] - self.imu_msg.linear_acceleration.y = linear_acc[1] - self.imu_msg.linear_acceleration.z = linear_acc[2] - self.imu_msg.header.stamp = rospy.Time.from_seconds(self.simulation.time) - return self.imu_msg - - def publish_imu(self): - self.imu_publisher.publish(self.get_imu_msg()) - - def get_pressure_filtered_left(self): - if len(self.simulation.pressure_sensors) == 0: - rospy.logwarn_once("No pressure sensors found in simulation model") - return self.foot_msg_left - f_llb = self.simulation.pressure_sensors[self.robot_index]["LLB"].get_force() - f_llf = self.simulation.pressure_sensors[self.robot_index]["LLF"].get_force() - f_lrf = self.simulation.pressure_sensors[self.robot_index]["LRF"].get_force() - f_lrb = self.simulation.pressure_sensors[self.robot_index]["LRB"].get_force() - self.foot_msg_left.left_back = f_llb[1] - self.foot_msg_left.left_front = f_llf[1] - self.foot_msg_left.right_front = f_lrf[1] - self.foot_msg_left.right_back = f_lrb[1] - return self.foot_msg_left - - def get_pressure_filtered_right(self): - if len(self.simulation.pressure_sensors) == 0: - rospy.logwarn_once("No pressure sensors found in simulation model") - return self.foot_msg_right - f_rlb = self.simulation.pressure_sensors[self.robot_index]["RLB"].get_force() - f_rlf = self.simulation.pressure_sensors[self.robot_index]["RLF"].get_force() - f_rrf = self.simulation.pressure_sensors[self.robot_index]["RRF"].get_force() - f_rrb = self.simulation.pressure_sensors[self.robot_index]["RRB"].get_force() - self.foot_msg_right.left_back = f_rlb[1] - self.foot_msg_right.left_front = f_rlf[1] - self.foot_msg_right.right_front = f_rrf[1] - self.foot_msg_right.right_back = f_rrb[1] - return self.foot_msg_right - - def publish_foot_pressure(self): - # some models dont have sensors - if len(self.simulation.pressure_sensors) == 0: - rospy.logwarn_once("No pressure sensors found in simulation model") - return - - f_llb = self.simulation.pressure_sensors[self.robot_index]["LLB"].get_force() - f_llf = self.simulation.pressure_sensors[self.robot_index]["LLF"].get_force() - f_lrf = self.simulation.pressure_sensors[self.robot_index]["LRF"].get_force() - f_lrb = self.simulation.pressure_sensors[self.robot_index]["LRB"].get_force() - - f_rlb = self.simulation.pressure_sensors[self.robot_index]["RLB"].get_force() - f_rlf = self.simulation.pressure_sensors[self.robot_index]["RLF"].get_force() - f_rrf = self.simulation.pressure_sensors[self.robot_index]["RRF"].get_force() - f_rrb = self.simulation.pressure_sensors[self.robot_index]["RRB"].get_force() - - self.foot_msg_left.left_back = f_llb[0] - self.foot_msg_left.left_front = f_llf[0] - self.foot_msg_left.right_front = f_lrf[0] - self.foot_msg_left.right_back = f_lrb[0] - self.left_foot_pressure_publisher.publish(self.foot_msg_left) - - self.foot_msg_right.left_back = f_rlb[0] - self.foot_msg_right.left_front = f_rlf[0] - self.foot_msg_right.right_front = f_rrf[0] - self.foot_msg_right.right_back = f_rrb[0] - self.right_foot_pressure_publisher.publish(self.foot_msg_right) - - self.foot_msg_left.left_back = f_llb[1] - self.foot_msg_left.left_front = f_llf[1] - self.foot_msg_left.right_front = f_lrf[1] - self.foot_msg_left.right_back = f_lrb[1] - self.left_foot_pressure_publisher_filtered.publish(self.foot_msg_left) - - self.foot_msg_right.left_back = f_rlb[1] - self.foot_msg_right.left_front = f_rlf[1] - self.foot_msg_right.right_front = f_rrf[1] - self.foot_msg_right.right_back = f_rrb[1] - self.right_foot_pressure_publisher_filtered.publish(self.foot_msg_right) - - # center position on foot - pos_x = 0.085 - pos_y = 0.045 - threshold = 0.0 - - cop_l = PointStamped() - cop_l.header.frame_id = "l_sole" - cop_l.header.stamp = rospy.Time.from_seconds(self.simulation.time) - sum_of_forces = f_llb[1] + f_llf[1] + f_lrf[1] + f_lrb[1] - if sum_of_forces > threshold: - cop_l.point.x = (f_llf[1] + f_lrf[1] - f_llb[1] - f_lrb[1]) * pos_x / sum_of_forces - cop_l.point.x = max(min(cop_l.point.x, pos_x), -pos_x) - cop_l.point.y = (f_llf[1] + f_llb[1] - f_lrf[1] - f_lrb[1]) * pos_y / sum_of_forces - cop_l.point.y = max(min(cop_l.point.y, pos_y), -pos_y) - else: - cop_l.point.x = 0 - cop_l.point.y = 0 - self.cop_l_pub_.publish(cop_l) - - cop_r = PointStamped() - cop_r.header.frame_id = "r_sole" - cop_r.header.stamp = rospy.Time.from_seconds(self.simulation.time) - sum_of_forces = f_rlb[1] + f_rlf[1] + f_rrf[1] + f_rrb[1] - if sum_of_forces > threshold: - cop_r.point.x = (f_rlf[1] + f_rrf[1] - f_rlb[1] - f_rrb[1]) * pos_x / sum_of_forces - cop_r.point.x = max(min(cop_r.point.x, pos_x), -pos_x) - cop_r.point.y = (f_rlf[1] + f_rlb[1] - f_rrf[1] - f_rrb[1]) * pos_y / sum_of_forces - cop_r.point.y = max(min(cop_r.point.y, pos_y), -pos_y) - else: - cop_r.point.x = 0 - cop_r.point.y = 0 - self.cop_r_pub_.publish(cop_r) - - def publish_true_odom(self): - position, orientation = self.simulation.get_robot_pose() - self.odom_msg.pose.pose.position.x = position[0] - self.odom_msg.pose.pose.position.y = position[1] - self.odom_msg.pose.pose.position.z = position[2] - self.odom_msg.pose.pose.orientation.x = orientation[0] - self.odom_msg.pose.pose.orientation.y = orientation[1] - self.odom_msg.pose.pose.orientation.z = orientation[2] - self.odom_msg.pose.pose.orientation.w = orientation[3] - self.true_odom_publisher.publish(self.odom_msg) - - def joint_goal_cb(self, msg: JointCommand): - # only put new goals into the goal vector - i = 0 - for name in msg.joint_names: - self.simulation.joints[self.robot_index][name].set_position(msg.positions[i]) - i += 1 - - def reset_cb(self, msg): - self.simulation.reset() - - def _dynamic_reconfigure_callback(self, config, level): - self.simulation.set_foot_dynamics( - config["contact_damping"], - config["contact_stiffness"], - config["joint_damping"], - config["lateral_friction"], - config["spinning_friction"], - config["rolling_friction"], - ) - self.simulation.set_filter_params(config["cutoff"], config["order"]) - return config diff --git a/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt b/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt index 2562bc709..514623778 100644 --- a/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt +++ b/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt @@ -1,76 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(bitbots_webots_sim) -# Add support for C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - -find_package(bitbots_msgs REQUIRED) -find_package(rosgraph_msgs REQUIRED) -find_package(std_msgs REQUIRED) find_package(ament_cmake REQUIRED) find_package(bitbots_docs REQUIRED) -find_package(urdf REQUIRED) -find_package(nav_msgs REQUIRED) -find_package(rclpy REQUIRED) -find_package(sensor_msgs REQUIRED) -find_package(gazebo_msgs REQUIRED) - -set(INCLUDE_DIRS - ${bitbots_msgs_INCLUDE_DIRS} - ${rosgraph_msgs_INCLUDE_DIRS} - ${std_msgs_INCLUDE_DIRS} - ${ament_cmake_INCLUDE_DIRS} - ${bitbots_docs_INCLUDE_DIRS} - ${urdf_INCLUDE_DIRS} - ${nav_msgs_INCLUDE_DIRS} - ${rclpy_INCLUDE_DIRS} - ${sensor_msgs_INCLUDE_DIRS} - ${gazebo_msgs_INCLUDE_DIRS}) -include_directories(${INCLUDE_DIRS}) - -set(LIBRARY_DIRS - ${bitbots_msgs_LIBRARY_DIRS} - ${rosgraph_msgs_LIBRARY_DIRS} - ${std_msgs_LIBRARY_DIRS} - ${ament_cmake_LIBRARY_DIRS} - ${bitbots_docs_LIBRARY_DIRS} - ${urdf_LIBRARY_DIRS} - ${nav_msgs_LIBRARY_DIRS} - ${rclpy_LIBRARY_DIRS} - ${sensor_msgs_LIBRARY_DIRS} - ${gazebo_msgs_LIBRARY_DIRS}) -link_directories(${LIBRARY_DIRS}) - -set(LIBS - ${bitbots_msgs_LIBRARIES} - ${rosgraph_msgs_LIBRARIES} - ${std_msgs_LIBRARIES} - ${ament_cmake_LIBRARIES} - ${bitbots_docs_LIBRARIES} - ${urdf_LIBRARIES} - ${nav_msgs_LIBRARIES} - ${rclpy_LIBRARIES} - ${sensor_msgs_LIBRARIES} - ${gazebo_msgs_LIBRARIES}) - -include(${CMAKE_BINARY_DIR}/../bitbots_docs/enable_bitbots_docs.cmake) enable_bitbots_docs() -ament_export_dependencies(bitbots_msgs) -ament_export_dependencies(rosgraph_msgs) -ament_export_dependencies(std_msgs) -ament_export_dependencies(ament_cmake) -ament_export_dependencies(bitbots_docs) -ament_export_dependencies(urdf) -ament_export_dependencies(nav_msgs) -ament_export_dependencies(rclpy) -ament_export_dependencies(sensor_msgs) -ament_export_dependencies(gazebo_msgs) -ament_export_include_directories(${INCLUDE_DIRS}) - install(DIRECTORY protos DESTINATION share/${PROJECT_NAME}) install(DIRECTORY worlds DESTINATION share/${PROJECT_NAME}) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) diff --git a/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt b/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt index d6965a5bd..8382ad555 100644 --- a/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt +++ b/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt @@ -3,16 +3,7 @@ project(bitbots_team_communication) find_package(ament_cmake REQUIRED) find_package(ament_cmake_python REQUIRED) -find_package(rclpy REQUIRED) -find_package(std_msgs REQUIRED) -find_package(bitbots_msgs REQUIRED) -find_package(geometry_msgs REQUIRED) -find_package(tf2 REQUIRED) -find_package(tf2_ros REQUIRED) -find_package(tf2_geometry_msgs REQUIRED) -find_package(bitbots_utils REQUIRED) find_package(bitbots_docs REQUIRED) - find_package(Protobuf REQUIRED) protobuf_generate_python( From 43327ab5bdaea940aead2d9a8a9880aa28c09612 Mon Sep 17 00:00:00 2001 From: Florian Vahl Date: Mon, 6 Jan 2025 19:39:17 +0100 Subject: [PATCH 2/3] Cleanup cmakelists and build with release and debug symbols by default --- bitbots_misc/bitbots_basler_camera/package.xml | 1 + .../bitbots_extrinsic_calibration/CMakeLists.txt | 12 ++++++------ .../bitbots_extrinsic_calibration/package.xml | 8 ++++---- bitbots_misc/bitbots_utils/CMakeLists.txt | 3 ++- bitbots_misc/bitbots_utils/package.xml | 3 ++- bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt | 4 ++-- bitbots_motion/bitbots_head_mover/CMakeLists.txt | 2 -- .../bitbots_moveit_bindings/CMakeLists.txt | 8 ++++---- bitbots_motion/bitbots_moveit_bindings/package.xml | 10 +++++----- bitbots_motion/bitbots_splines/CMakeLists.txt | 10 ++++++---- bitbots_motion/bitbots_splines/package.xml | 11 ++++++----- bitbots_navigation/bitbots_odometry/CMakeLists.txt | 3 +++ bitbots_navigation/bitbots_odometry/package.xml | 1 + 13 files changed, 42 insertions(+), 34 deletions(-) diff --git a/bitbots_misc/bitbots_basler_camera/package.xml b/bitbots_misc/bitbots_basler_camera/package.xml index 1d7cc8afd..0dd36aaf0 100644 --- a/bitbots_misc/bitbots_basler_camera/package.xml +++ b/bitbots_misc/bitbots_basler_camera/package.xml @@ -12,6 +12,7 @@ Hamburg Bit-Bots + backward_ros bitbots_docs camera_info_manager cv_bridge diff --git a/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt b/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt index 9f301a56a..f7c77480f 100644 --- a/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt +++ b/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt @@ -11,16 +11,16 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebug) endif() +find_package(ament_cmake REQUIRED) +find_package(backward_ros REQUIRED) +find_package(bitbots_docs REQUIRED) find_package(geometry_msgs REQUIRED) find_package(rclcpp REQUIRED) -find_package(ament_cmake REQUIRED) -find_package(tf2_ros REQUIRED) +find_package(rot_conv REQUIRED) find_package(std_msgs REQUIRED) -find_package(tf2_geometry_msgs REQUIRED) -find_package(bitbots_docs REQUIRED) find_package(tf2 REQUIRED) -find_package(rot_conv REQUIRED) -find_package(backward_ros REQUIRED) +find_package(tf2_geometry_msgs REQUIRED) +find_package(tf2_ros REQUIRED) add_compile_options(-Wall -Werror -Wno-unused) diff --git a/bitbots_misc/bitbots_extrinsic_calibration/package.xml b/bitbots_misc/bitbots_extrinsic_calibration/package.xml index 1a8ec771e..07c816826 100644 --- a/bitbots_misc/bitbots_extrinsic_calibration/package.xml +++ b/bitbots_misc/bitbots_extrinsic_calibration/package.xml @@ -9,17 +9,17 @@ Hamburg Bit-Bots MIT - + Florian Vahl ament_cmake + backward_ros bitbots_docs + rot_conv std_msgs - tf2 tf2_ros - rot_conv - backward_ros + tf2 diff --git a/bitbots_misc/bitbots_utils/CMakeLists.txt b/bitbots_misc/bitbots_utils/CMakeLists.txt index 76896dcb6..1951ecba9 100644 --- a/bitbots_misc/bitbots_utils/CMakeLists.txt +++ b/bitbots_misc/bitbots_utils/CMakeLists.txt @@ -12,6 +12,7 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) endif() find_package(bitbots_docs REQUIRED) +find_package(backward_ros REQUIRED) find_package(ament_cmake REQUIRED) find_package(ament_cmake_python REQUIRED) find_package(rclcpp REQUIRED) @@ -31,7 +32,7 @@ add_compile_options(-Wall -Werror -Wno-unused -pedantic -Wextra -fPIC) add_library(${PROJECT_NAME} src/utils.cpp) # Add dependencies to cpp library -ament_target_dependencies(${PROJECT_NAME} rclcpp tf2_ros) +ament_target_dependencies(${PROJECT_NAME} rclcpp tf2_ros backward_ros) ament_export_dependencies(rclcpp) ament_export_include_directories(${INCLUDE_DIRS}) diff --git a/bitbots_misc/bitbots_utils/package.xml b/bitbots_misc/bitbots_utils/package.xml index d2eb7babf..066879d4c 100644 --- a/bitbots_misc/bitbots_utils/package.xml +++ b/bitbots_misc/bitbots_utils/package.xml @@ -11,11 +11,12 @@ Hamburg Bit-Bots MIT - + Hamburg Bit-Bots ament_cmake + backward_ros bitbots_docs python3-yaml python3-transforms3d diff --git a/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt b/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt index 0de3e0678..e9ca70b50 100644 --- a/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt +++ b/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt @@ -12,8 +12,9 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) endif() find_package(ament_cmake REQUIRED) -find_package(bitbots_docs REQUIRED) +find_package(backward_ros REQUIRED) find_package(biped_interfaces REQUIRED) +find_package(bitbots_docs REQUIRED) find_package(bitbots_msgs REQUIRED) find_package(bitbots_splines REQUIRED) find_package(control_msgs REQUIRED) @@ -30,7 +31,6 @@ find_package(tf2 REQUIRED) find_package(tf2_eigen REQUIRED) find_package(tf2_geometry_msgs REQUIRED) find_package(tf2_ros REQUIRED) -find_package(backward_ros REQUIRED) find_package(PythonLibs COMPONENTS Interpreter Development) diff --git a/bitbots_motion/bitbots_head_mover/CMakeLists.txt b/bitbots_motion/bitbots_head_mover/CMakeLists.txt index e1e7ebd86..a2dbed10a 100644 --- a/bitbots_motion/bitbots_head_mover/CMakeLists.txt +++ b/bitbots_motion/bitbots_head_mover/CMakeLists.txt @@ -1,7 +1,6 @@ cmake_minimum_required(VERSION 3.8) project(bitbots_head_mover) - # Build with release optimizations and debug symbols by default if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebug) @@ -18,7 +17,6 @@ find_package(bio_ik REQUIRED) find_package(bio_ik_msgs REQUIRED) find_package(bitbots_msgs REQUIRED) find_package(generate_parameter_library REQUIRED) -find_package(bitbots_msgs REQUIRED) find_package(moveit_core REQUIRED) find_package(moveit_msgs REQUIRED) find_package(moveit_ros_planning REQUIRED) diff --git a/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt b/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt index 91cf9114b..4d90c35e7 100644 --- a/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt +++ b/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt @@ -13,22 +13,22 @@ endif() set(PYBIND11_PYTHON_VERSION 3) set(PYBIND11_FINDPYTHON ON) -find_package(bitbots_docs REQUIRED) find_package(ament_cmake REQUIRED) find_package(backward_ros REQUIRED) find_package(bio_ik REQUIRED) find_package(bio_ik_msgs REQUIRED) +find_package(bitbots_docs REQUIRED) find_package(moveit_core REQUIRED) find_package(moveit_msgs REQUIRED) -find_package(moveit_ros_planning_interface REQUIRED) find_package(moveit_ros_planning REQUIRED) +find_package(moveit_ros_planning_interface REQUIRED) find_package(pybind11 REQUIRED) find_package(Python3 REQUIRED COMPONENTS Interpreter Development) +find_package(rclcpp REQUIRED) find_package(ros2_python_extension) find_package(tf2 REQUIRED) -find_package(tf2_ros REQUIRED) find_package(tf2_kdl REQUIRED) -find_package(rclcpp REQUIRED) +find_package(tf2_ros REQUIRED) add_compile_options(-Wall -Wno-unused) diff --git a/bitbots_motion/bitbots_moveit_bindings/package.xml b/bitbots_motion/bitbots_moveit_bindings/package.xml index 3b7312d36..0353a9065 100644 --- a/bitbots_motion/bitbots_moveit_bindings/package.xml +++ b/bitbots_motion/bitbots_moveit_bindings/package.xml @@ -10,16 +10,16 @@ MIT ament_cmake - bitbots_docs - bio_ik + backward_ros bio_ik_msgs + bio_ik + bitbots_docs moveit_core - moveit_ros_planning moveit_ros_planning_interface + moveit_ros_planning pybind11_vendor ros2_python_extension - - ament_cmake + ament_cmake diff --git a/bitbots_motion/bitbots_splines/CMakeLists.txt b/bitbots_motion/bitbots_splines/CMakeLists.txt index 62ffa92e8..ae1098145 100644 --- a/bitbots_motion/bitbots_splines/CMakeLists.txt +++ b/bitbots_motion/bitbots_splines/CMakeLists.txt @@ -12,15 +12,16 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) endif() find_package(ament_cmake REQUIRED) +find_package(backward_ros REQUIRED) find_package(bitbots_docs REQUIRED) -find_package(rclcpp REQUIRED) -find_package(std_msgs REQUIRED) +find_package(Eigen3 REQUIRED) find_package(geometry_msgs REQUIRED) -find_package(tf2_geometry_msgs REQUIRED) find_package(moveit_core REQUIRED) find_package(moveit_ros_planning REQUIRED) -find_package(Eigen3 REQUIRED) find_package(PkgConfig REQUIRED) +find_package(rclcpp REQUIRED) +find_package(std_msgs REQUIRED) +find_package(tf2_geometry_msgs REQUIRED) set(INCLUDE_DIRS include) include_directories(${INCLUDE_DIRS}) @@ -43,6 +44,7 @@ add_library(${PROJECT_NAME} SHARED ${SOURCES}) ament_target_dependencies( ${PROJECT_NAME} ament_cmake + backward_ros bitbots_docs rclcpp std_msgs diff --git a/bitbots_motion/bitbots_splines/package.xml b/bitbots_motion/bitbots_splines/package.xml index d73d3a817..3d0966b98 100644 --- a/bitbots_motion/bitbots_splines/package.xml +++ b/bitbots_motion/bitbots_splines/package.xml @@ -16,15 +16,16 @@ ament_cmake - std_msgs - geometry_msgs + backward_ros bitbots_docs - rclcpp - tf2_geometry_msgs + eigen + geometry_msgs moveit_core moveit_ros_planning - eigen python3-matplotlib + rclcpp + std_msgs + tf2_geometry_msgs diff --git a/bitbots_navigation/bitbots_odometry/CMakeLists.txt b/bitbots_navigation/bitbots_odometry/CMakeLists.txt index aad1b1d15..90e8feefe 100644 --- a/bitbots_navigation/bitbots_odometry/CMakeLists.txt +++ b/bitbots_navigation/bitbots_odometry/CMakeLists.txt @@ -12,6 +12,7 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) endif() find_package(ament_cmake REQUIRED) +find_package(backward_ros REQUIRED) find_package(biped_interfaces REQUIRED) find_package(bitbots_docs REQUIRED) find_package(bitbots_utils REQUIRED) @@ -44,6 +45,7 @@ target_link_libraries(motion_odometry rclcpp::rclcpp odometry_parameters) ament_target_dependencies( motion_odometry ament_cmake + backward_ros biped_interfaces bitbots_docs bitbots_utils @@ -62,6 +64,7 @@ ament_target_dependencies( ament_target_dependencies( odometry_fuser ament_cmake + backward_ros biped_interfaces bitbots_docs bitbots_utils diff --git a/bitbots_navigation/bitbots_odometry/package.xml b/bitbots_navigation/bitbots_odometry/package.xml index c3db876be..ea39d7b19 100644 --- a/bitbots_navigation/bitbots_odometry/package.xml +++ b/bitbots_navigation/bitbots_odometry/package.xml @@ -14,6 +14,7 @@ Jasper Güldenstein ament_cmake + backward_ros biped_interfaces bitbots_docs bitbots_utils From c272c7e038908ece04d14320e8110f10d9fd5b1a Mon Sep 17 00:00:00 2001 From: Florian Vahl Date: Mon, 6 Jan 2025 19:43:33 +0100 Subject: [PATCH 3/3] Fix head mover debug build --- bitbots_motion/bitbots_head_mover/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/bitbots_motion/bitbots_head_mover/CMakeLists.txt b/bitbots_motion/bitbots_head_mover/CMakeLists.txt index a2dbed10a..eafa503d9 100644 --- a/bitbots_motion/bitbots_head_mover/CMakeLists.txt +++ b/bitbots_motion/bitbots_head_mover/CMakeLists.txt @@ -27,8 +27,6 @@ find_package(std_msgs REQUIRED) find_package(tf2_geometry_msgs REQUIRED) find_package(tf2_ros REQUIRED) -set(CMAKE_BUILD_TYPE Debug) - # uncomment the following section in order to fill in further dependencies # manually. find_package( REQUIRED) generate_parameter_library(