diff --git a/combined_robot_hw/CMakeLists.txt b/combined_robot_hw/CMakeLists.txt index 603019a6c..117416fd4 100644 --- a/combined_robot_hw/CMakeLists.txt +++ b/combined_robot_hw/CMakeLists.txt @@ -1,33 +1,50 @@ cmake_minimum_required(VERSION 2.8.3) project(combined_robot_hw) +# Load catkin and all dependencies required for this package find_package(catkin REQUIRED COMPONENTS hardware_interface pluginlib roscpp ) -include_directories(include ${catkin_INCLUDE_DIRS}) - +# Declare a catkin package catkin_package( - INCLUDE_DIRS include - LIBRARIES ${PROJECT_NAME} - CATKIN_DEPENDS hardware_interface pluginlib roscpp + INCLUDE_DIRS + include + LIBRARIES + ${PROJECT_NAME} + CATKIN_DEPENDS + hardware_interface + pluginlib + roscpp ) -add_library(${PROJECT_NAME} - src/combined_robot_hw.cpp -) + +########### +## Build ## +########### + +# Specify header include paths +include_directories(include ${catkin_INCLUDE_DIRS}) + +add_library(${PROJECT_NAME} src/combined_robot_hw.cpp) add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS}) -target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) + +############# +## Install ## +############# -# Install +# Install headers install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +) -# Install library +# Install targets install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +) diff --git a/combined_robot_hw/package.xml b/combined_robot_hw/package.xml index 3bea4d1b8..232bf9129 100644 --- a/combined_robot_hw/package.xml +++ b/combined_robot_hw/package.xml @@ -1,8 +1,8 @@ - combined_robot_hw 0.15.1 Combined Robot HW class. + Bence Magyar Toni Oliver Enrique Fernandez @@ -17,7 +17,12 @@ Toni Oliver catkin - hardware_interface - pluginlib + roscpp + + hardware_interface + pluginlib + + hardware_interface + pluginlib diff --git a/combined_robot_hw_tests/CMakeLists.txt b/combined_robot_hw_tests/CMakeLists.txt index cf65c1c08..858b68e76 100644 --- a/combined_robot_hw_tests/CMakeLists.txt +++ b/combined_robot_hw_tests/CMakeLists.txt @@ -1,37 +1,42 @@ cmake_minimum_required(VERSION 2.8.3) project(combined_robot_hw_tests) +# Load catkin and all dependencies required for this package find_package(catkin REQUIRED COMPONENTS combined_robot_hw controller_manager + controller_manager_msgs controller_manager_tests hardware_interface + pluginlib roscpp ) -include_directories(include ${catkin_INCLUDE_DIRS}) +# Declare a catkin package +catkin_package() -catkin_package( - INCLUDE_DIRS include - LIBRARIES ${PROJECT_NAME} - CATKIN_DEPENDS combined_robot_hw hardware_interface roscpp -) - -add_library(${PROJECT_NAME} - src/my_robot_hw_1.cpp - src/my_robot_hw_2.cpp - src/my_robot_hw_3.cpp - src/my_robot_hw_4.cpp -) -add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS}) -target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES}) -add_executable(combined_robot_hw_dummy_app src/dummy_app.cpp) -target_link_libraries(combined_robot_hw_dummy_app ${PROJECT_NAME} ${catkin_LIBRARIES}) +############# +## Testing ## +############# if(CATKIN_ENABLE_TESTING) - find_package(rostest REQUIRED) + + # Specify header include paths + include_directories(include ${catkin_INCLUDE_DIRS}) + + add_library(${PROJECT_NAME} + src/my_robot_hw_1.cpp + src/my_robot_hw_2.cpp + src/my_robot_hw_3.cpp + src/my_robot_hw_4.cpp + ) + target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) + + add_executable(combined_robot_hw_dummy_app EXCLUDE_FROM_ALL src/dummy_app.cpp) + target_link_libraries(combined_robot_hw_dummy_app ${PROJECT_NAME} ${catkin_LIBRARIES}) + add_rostest_gtest(combined_robot_hw_test test/combined_robot_hw_test.test test/combined_robot_hw_test.cpp @@ -42,19 +47,29 @@ if(CATKIN_ENABLE_TESTING) test/cm_test.test test/cm_test.cpp ) + add_dependencies(combined_robot_hw_cm_test combined_robot_hw_dummy_app ${catkin_EXPORTED_TARGETS}) target_link_libraries(combined_robot_hw_cm_test ${PROJECT_NAME} ${catkin_LIBRARIES}) - endif() -# Install -install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) -# Install library -install(TARGETS ${PROJECT_NAME} - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) +############# +## Install ## +############# + +# NOTE: Libraries and plugins required for tests are installed since CI +# runs tests out of the install space rather than the devel space + +if(CATKIN_ENABLE_TESTING) + + # Install targets + install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} + ) -install(FILES test_robot_hw_plugin.xml - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) + # Install plugins + install(FILES test_robot_hw_plugin.xml + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} + ) +endif() diff --git a/combined_robot_hw_tests/package.xml b/combined_robot_hw_tests/package.xml index a4a98f4b1..8f599d671 100644 --- a/combined_robot_hw_tests/package.xml +++ b/combined_robot_hw_tests/package.xml @@ -1,8 +1,8 @@ - combined_robot_hw_tests 0.15.1 - The combined_robot_hw_tests package + Tests for the combined Robot HW class. + Bence Magyar Toni Oliver Enrique Fernandez @@ -17,12 +17,18 @@ Toni Oliver catkin + combined_robot_hw controller_manager - controller_manager_tests - hardware_interface + hardware_interface roscpp + pluginlib + + pluginlib + + controller_manager_msgs + controller_manager_tests rostest diff --git a/controller_interface/CMakeLists.txt b/controller_interface/CMakeLists.txt index 88feb9ee5..f73239da1 100644 --- a/controller_interface/CMakeLists.txt +++ b/controller_interface/CMakeLists.txt @@ -2,32 +2,44 @@ cmake_minimum_required(VERSION 2.8.3) project(controller_interface) # Load catkin and all dependencies required for this package -find_package(catkin REQUIRED COMPONENTS roscpp hardware_interface pluginlib) +find_package(catkin REQUIRED COMPONENTS + hardware_interface + roscpp +) -# Declare catkin package +# Declare a catkin package catkin_package( - CATKIN_DEPENDS roscpp hardware_interface pluginlib - INCLUDE_DIRS include - ) + INCLUDE_DIRS + include + CATKIN_DEPENDS + hardware_interface + roscpp +) -if(CATKIN_ENABLE_TESTING) - find_package(rosunit REQUIRED) +########### +## Build ## +########### - catkin_add_gmock(controller_base_test - test/controller_base_test.cpp - ) +# Specify header include paths +include_directories(include ${catkin_INCLUDE_DIRS}) - target_include_directories(controller_base_test PRIVATE include) - target_include_directories(controller_base_test SYSTEM PRIVATE ${catkin_INCLUDE_DIRS}) - target_link_libraries(controller_base_test - ${catkin_LIBRARIES} - ) +############# +## Testing ## +############# +if(CATKIN_ENABLE_TESTING) + catkin_add_gmock(controller_base_test test/controller_base_test.cpp) + target_link_libraries(controller_base_test ${catkin_LIBRARIES}) endif() -# Install -install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) +############# +## Install ## +############# + +# Install headers +install(DIRECTORY include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +) diff --git a/controller_interface/package.xml b/controller_interface/package.xml index 1cb21bbf3..455de7edb 100644 --- a/controller_interface/package.xml +++ b/controller_interface/package.xml @@ -1,7 +1,8 @@ controller_interface 0.15.1 - Interface base class for controllers + Interface base class for controllers. + Bence Magyar Enrique Fernandez Mathias Lüdtke @@ -16,9 +17,9 @@ catkin - hardware_interface - pluginlib roscpp - rosunit + hardware_interface + + hardware_interface diff --git a/controller_manager/CMakeLists.txt b/controller_manager/CMakeLists.txt index c187c9d4e..0fe594e65 100644 --- a/controller_manager/CMakeLists.txt +++ b/controller_manager/CMakeLists.txt @@ -2,65 +2,96 @@ cmake_minimum_required(VERSION 2.8.3) project(controller_manager) # Load catkin and all dependencies required for this package -find_package(catkin REQUIRED COMPONENTS controller_interface controller_manager_msgs hardware_interface pluginlib) +find_package(catkin REQUIRED COMPONENTS + controller_interface + controller_manager_msgs + hardware_interface + pluginlib + roscpp +) +# Include Boost.Thread find_package(Boost REQUIRED COMPONENTS thread) -include_directories(include ${Boost_INCLUDE_DIR} ${catkin_INCLUDE_DIRS}) +catkin_python_setup() -# Declare catkin package +# Declare a catkin package catkin_package( - DEPENDS Boost - CATKIN_DEPENDS controller_interface controller_manager_msgs hardware_interface pluginlib - INCLUDE_DIRS include - LIBRARIES ${PROJECT_NAME} + INCLUDE_DIRS + include + LIBRARIES + ${PROJECT_NAME} + CATKIN_DEPENDS + controller_interface + controller_manager_msgs + hardware_interface + pluginlib + roscpp + DEPENDS + Boost ) + +########### +## Build ## +########### + +# Specify header include paths +include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + add_library(${PROJECT_NAME} - src/controller_manager.cpp - include/controller_manager/controller_manager.h - include/controller_manager/controller_loader_interface.h include/controller_manager/controller_loader.h + include/controller_manager/controller_loader_interface.h + include/controller_manager/controller_manager.h + src/controller_manager.cpp ) +add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS}) target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES}) -if(catkin_EXPORTED_TARGETS) - add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS}) -endif() -if(CATKIN_ENABLE_TESTING) +############# +## Testing ## +############# +if(CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) - add_rostest_gtest(controller_manager_hwi_switch_test + add_rostest_gtest(${PROJECT_NAME}_hwi_switch_test test/hwi_switch_test.test test/hwi_switch_test.cpp ) - target_link_libraries(controller_manager_hwi_switch_test ${PROJECT_NAME} ${catkin_LIBRARIES}) + add_dependencies(${PROJECT_NAME}_hwi_switch_test ${catkin_EXPORTED_TARGETS}) + target_link_libraries(${PROJECT_NAME}_hwi_switch_test ${PROJECT_NAME} ${catkin_LIBRARIES}) - add_rostest_gmock(controller_manager_hwi_update_test + add_rostest_gmock(${PROJECT_NAME}_hwi_update_test test/hwi_update_test.test test/hwi_update_test.cpp ) - target_link_libraries(controller_manager_hwi_update_test ${PROJECT_NAME} ${catkin_LIBRARIES}) - + add_dependencies(${PROJECT_NAME}_hwi_update_test ${catkin_EXPORTED_TARGETS}) + target_link_libraries(${PROJECT_NAME}_hwi_update_test ${PROJECT_NAME} ${catkin_LIBRARIES}) endif() -# Install + +############# +## Install ## +############# + +# Install python scripts +catkin_install_python(PROGRAMS scripts/controller_group + scripts/controller_manager + scripts/spawner + scripts/unspawner + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +# Install headers install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +) -# Install library +# Install targets install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) - -catkin_install_python(PROGRAMS - scripts/controller_group - scripts/controller_manager - scripts/spawner - scripts/unspawner - DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) - -catkin_python_setup() + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +) diff --git a/controller_manager/package.xml b/controller_manager/package.xml index 02b75e4b3..f1a1b35b7 100644 --- a/controller_manager/package.xml +++ b/controller_manager/package.xml @@ -2,6 +2,7 @@ controller_manager 0.15.1 The controller manager. + Bence Magyar Enrique Fernandez Mathias Lüdtke @@ -17,9 +18,22 @@ catkin - controller_interface - controller_manager_msgs - hardware_interface - pluginlib + boost + roscpp + + controller_interface + controller_manager_msgs + hardware_interface + pluginlib + + controller_interface + controller_manager_msgs + hardware_interface + pluginlib + + std_msgs + rosparam + rospy + rostest diff --git a/controller_manager_msgs/CMakeLists.txt b/controller_manager_msgs/CMakeLists.txt index bf211290a..1ddc5261b 100644 --- a/controller_manager_msgs/CMakeLists.txt +++ b/controller_manager_msgs/CMakeLists.txt @@ -2,35 +2,39 @@ cmake_minimum_required(VERSION 2.8.3) project(controller_manager_msgs) # Load catkin and all dependencies required for this package -find_package(catkin REQUIRED COMPONENTS message_generation std_msgs) +find_package(catkin REQUIRED COMPONENTS + message_generation + std_msgs +) catkin_python_setup() -# Add message and service files -add_message_files( - FILES +# Add message files +add_message_files(FILES ControllerState.msg ControllerStatistics.msg ControllersStatistics.msg HardwareInterfaceResources.msg - ) +) -add_service_files( - FILES +# Add service files +add_service_files(FILES ListControllerTypes.srv ListControllers.srv LoadController.srv ReloadControllerLibraries.srv SwitchController.srv UnloadController.srv - ) +) # Generate added messages and services with any dependencies listed here -generate_messages( - DEPENDENCIES std_msgs - ) +generate_messages(DEPENDENCIES + std_msgs +) -# Declare catkin package +# Declare a catkin package catkin_package( - CATKIN_DEPENDS std_msgs message_runtime - ) + CATKIN_DEPENDS + message_runtime + std_msgs +) diff --git a/controller_manager_msgs/package.xml b/controller_manager_msgs/package.xml index 1f97ff467..f154b1946 100644 --- a/controller_manager_msgs/package.xml +++ b/controller_manager_msgs/package.xml @@ -2,6 +2,7 @@ controller_manager_msgs 0.15.1 Messages and services for the controller manager. + Bence Magyar Enrique Fernandez Mathias Lüdtke @@ -17,6 +18,10 @@ catkin std_msgs + message_generation + message_runtime + rosservice + rospy diff --git a/controller_manager_tests/CMakeLists.txt b/controller_manager_tests/CMakeLists.txt index b8397cfe6..7cdb4a365 100644 --- a/controller_manager_tests/CMakeLists.txt +++ b/controller_manager_tests/CMakeLists.txt @@ -2,56 +2,77 @@ cmake_minimum_required(VERSION 2.8.3) project(controller_manager_tests) # Load catkin and all dependencies required for this package -find_package(catkin REQUIRED COMPONENTS controller_manager controller_interface) +find_package(catkin REQUIRED COMPONENTS + controller_interface + controller_manager + hardware_interface + pluginlib + roscpp +) + catkin_python_setup() -include_directories(include ${Boost_INCLUDE_DIR} ${catkin_INCLUDE_DIRS}) +# Declare a catkin package +catkin_package() -catkin_package( - CATKIN_DEPENDS controller_manager controller_interface - INCLUDE_DIRS include - LIBRARIES ${PROJECT_NAME} - ) - -#common commands for building c++ executables and libraries -add_library(${PROJECT_NAME} - src/effort_test_controller.cpp - src/extensible_controllers.cpp - src/my_dummy_controller.cpp - src/my_robot_hw.cpp - src/pos_eff_controller.cpp - src/pos_eff_opt_controller.cpp - src/vel_eff_controller.cpp -) -target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) -add_executable(dummy_app src/dummy_app.cpp) -target_link_libraries(dummy_app ${PROJECT_NAME} ${catkin_LIBRARIES}) +############# +## Testing ## +############# if(CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) - add_executable(cm_test test/cm_test.cpp) - add_dependencies(tests cm_test) - target_link_libraries(cm_test ${GTEST_LIBRARIES} ${catkin_LIBRARIES}) - add_rostest(test/cm_test.test) + + # Specify header include paths + include_directories(include ${catkin_INCLUDE_DIRS}) + + add_library(${PROJECT_NAME} + src/effort_test_controller.cpp + src/extensible_controllers.cpp + src/my_dummy_controller.cpp + src/my_robot_hw.cpp + src/pos_eff_controller.cpp + src/pos_eff_opt_controller.cpp + src/vel_eff_controller.cpp + ) + target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) + + add_executable(dummy_app EXCLUDE_FROM_ALL src/dummy_app.cpp) + add_dependencies(dummy_app ${catkin_EXPORTED_TARGETS}) + target_link_libraries(dummy_app ${PROJECT_NAME} ${catkin_LIBRARIES}) + + add_executable(cm_test EXCLUDE_FROM_ALL test/cm_test.cpp) + add_dependencies(cm_test ${catkin_EXPORTED_TARGETS}) + target_link_libraries(cm_test ${catkin_LIBRARIES} ${GTEST_LIBRARIES}) + catkin_add_nosetests(test) + + add_rostest(test/cm_test.test DEPENDENCIES dummy_app cm_test) + add_rostest(test/cm_msgs_utils_rostest.test) - add_rostest(test/controller_manager_scripts.test) + + add_rostest(test/controller_manager_scripts.test DEPENDENCIES dummy_app) endif() -# Install -install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) -# Install library -install(TARGETS ${PROJECT_NAME} - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) +############# +## Install ## +############# + +# NOTE: Libraries and plugins required for tests are installed since CI +# runs tests out of the install space rather than the devel space -# Install executable -install(TARGETS dummy_app - RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) +if(CATKIN_ENABLE_TESTING) + + # Install targets + install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} + ) -install(FILES test_controllers_plugin.xml - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) + # Install plugins + install(FILES test_controllers_plugin.xml + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} + ) +endif() diff --git a/controller_manager_tests/package.xml b/controller_manager_tests/package.xml index 5ab03f81b..282eb6ff8 100644 --- a/controller_manager_tests/package.xml +++ b/controller_manager_tests/package.xml @@ -1,7 +1,8 @@ - + controller_manager_tests 0.15.1 - controller_manager_tests + Tests for the controller manager. + Bence Magyar Enrique Fernandez Mathias Lüdtke @@ -17,14 +18,22 @@ catkin - controller_manager - controller_interface - controller_manager - controller_interface - rostest - rosservice + controller_interface + controller_manager + roscpp + + hardware_interface + pluginlib + + hardware_interface + pluginlib + + controller_manager_msgs + rospy + rosbash rosnode + rostest diff --git a/hardware_interface/CMakeLists.txt b/hardware_interface/CMakeLists.txt index be3380e37..0022b40fe 100644 --- a/hardware_interface/CMakeLists.txt +++ b/hardware_interface/CMakeLists.txt @@ -1,54 +1,78 @@ cmake_minimum_required(VERSION 2.8.3) project(hardware_interface) -find_package(catkin REQUIRED COMPONENTS roscpp) +# Load catkin and all dependencies required for this package +find_package(catkin REQUIRED COMPONENTS + roscpp +) -# Declare catkin package +# Include header-only Boost libraries +find_package(Boost REQUIRED) + +# Declare a catkin package catkin_package( - CATKIN_DEPENDS roscpp - INCLUDE_DIRS include - ) + INCLUDE_DIRS + include + CATKIN_DEPENDS + roscpp + DEPENDS + Boost +) -if(CATKIN_ENABLE_TESTING) - find_package(catkin REQUIRED COMPONENTS rosconsole) - include_directories(include ${catkin_INCLUDE_DIRS}) +########### +## Build ## +########### - catkin_add_gtest(hardware_resource_manager_test test/hardware_resource_manager_test.cpp) - target_link_libraries(hardware_resource_manager_test ${catkin_LIBRARIES}) +# Specify header include paths +include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) - catkin_add_gtest(actuator_state_interface_test test/actuator_state_interface_test.cpp) - target_link_libraries(actuator_state_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(actuator_command_interface_test test/actuator_command_interface_test.cpp) - target_link_libraries(actuator_command_interface_test ${catkin_LIBRARIES}) +############# +## Testing ## +############# + +if(CATKIN_ENABLE_TESTING) + catkin_add_gtest(hardware_resource_manager_test test/hardware_resource_manager_test.cpp) + target_link_libraries(hardware_resource_manager_test ${catkin_LIBRARIES}) - catkin_add_gtest(joint_state_interface_test test/joint_state_interface_test.cpp) - target_link_libraries(joint_state_interface_test ${catkin_LIBRARIES}) + catkin_add_gtest(actuator_state_interface_test test/actuator_state_interface_test.cpp) + target_link_libraries(actuator_state_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(joint_command_interface_test test/joint_command_interface_test.cpp) - target_link_libraries(joint_command_interface_test ${catkin_LIBRARIES}) + catkin_add_gtest(actuator_command_interface_test test/actuator_command_interface_test.cpp) + target_link_libraries(actuator_command_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(force_torque_sensor_interface_test test/force_torque_sensor_interface_test.cpp) - target_link_libraries(force_torque_sensor_interface_test ${catkin_LIBRARIES}) + catkin_add_gtest(joint_state_interface_test test/joint_state_interface_test.cpp) + target_link_libraries(joint_state_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(imu_sensor_interface_test test/imu_sensor_interface_test.cpp) - target_link_libraries(imu_sensor_interface_test ${catkin_LIBRARIES}) + catkin_add_gtest(joint_command_interface_test test/joint_command_interface_test.cpp) + target_link_libraries(joint_command_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(robot_hw_test test/robot_hw_test.cpp) - target_link_libraries(robot_hw_test ${catkin_LIBRARIES}) + catkin_add_gtest(force_torque_sensor_interface_test test/force_torque_sensor_interface_test.cpp) + target_link_libraries(force_torque_sensor_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(interface_manager_test test/interface_manager_test.cpp) - target_link_libraries(interface_manager_test ${catkin_LIBRARIES}) + catkin_add_gtest(imu_sensor_interface_test test/imu_sensor_interface_test.cpp) + target_link_libraries(imu_sensor_interface_test ${catkin_LIBRARIES}) - catkin_add_gtest(posvel_command_interface_test test/posvel_command_interface_test.cpp) - target_link_libraries(posvel_command_interface_test ${catkin_LIBRARIES}) + catkin_add_gtest(robot_hw_test test/robot_hw_test.cpp) + target_link_libraries(robot_hw_test ${catkin_LIBRARIES}) - catkin_add_gtest(posvelacc_command_interface_test test/posvelacc_command_interface_test.cpp) - target_link_libraries(posvelacc_command_interface_test ${catkin_LIBRARIES}) + catkin_add_gtest(interface_manager_test test/interface_manager_test.cpp) + target_link_libraries(interface_manager_test ${catkin_LIBRARIES}) + catkin_add_gtest(posvel_command_interface_test test/posvel_command_interface_test.cpp) + target_link_libraries(posvel_command_interface_test ${catkin_LIBRARIES}) + + catkin_add_gtest(posvelacc_command_interface_test test/posvelacc_command_interface_test.cpp) + target_link_libraries(posvelacc_command_interface_test ${catkin_LIBRARIES}) endif() -# Install + +############# +## Install ## +############# + +# Install headers install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +) diff --git a/hardware_interface/package.xml b/hardware_interface/package.xml index c2cae6731..8fe302dec 100644 --- a/hardware_interface/package.xml +++ b/hardware_interface/package.xml @@ -2,6 +2,7 @@ hardware_interface 0.15.1 Hardware Interface base class. + Bence Magyar Enrique Fernandez Mathias Lüdtke @@ -16,7 +17,10 @@ Adolfo Rodriguez Tsouroukdissian catkin + roscpp - rostest - rosunit + + boost + + boost diff --git a/joint_limits_interface/CMakeLists.txt b/joint_limits_interface/CMakeLists.txt index f6353e8fd..d2a994782 100644 --- a/joint_limits_interface/CMakeLists.txt +++ b/joint_limits_interface/CMakeLists.txt @@ -1,52 +1,58 @@ cmake_minimum_required(VERSION 2.8.3) project(joint_limits_interface) -find_package(urdfdom REQUIRED) - +# Load catkin and all dependencies required for this package find_package(catkin REQUIRED COMPONENTS hardware_interface roscpp urdf ) -include_directories(include ${catkin_INCLUDE_DIRS} ${urdfdom_INCLUDE_DIRS}) - -# Declare catkin package +# Declare a catkin package catkin_package( + INCLUDE_DIRS + include CATKIN_DEPENDS hardware_interface roscpp urdf - INCLUDE_DIRS - include - DEPENDS - urdfdom ) + +########### +## Build ## +########### + +# Specify header include paths +include_directories(include ${catkin_INCLUDE_DIRS}) + + +############# +## Testing ## +############# + if(CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) + catkin_add_gtest(joint_limits_interface_test test/joint_limits_interface_test.cpp) - target_link_libraries(joint_limits_interface_test - ${catkin_LIBRARIES} - ${urdfdom_LIBRARIES} - ) + target_link_libraries(joint_limits_interface_test ${catkin_LIBRARIES}) catkin_add_gtest(joint_limits_urdf_test test/joint_limits_urdf_test.cpp) - target_link_libraries(joint_limits_urdf_test - ${catkin_LIBRARIES} - ${urdfdom_LIBRARIES} - ) + target_link_libraries(joint_limits_urdf_test ${catkin_LIBRARIES}) add_rostest_gtest(joint_limits_rosparam_test test/joint_limits_rosparam.test test/joint_limits_rosparam_test.cpp ) - target_link_libraries(joint_limits_rosparam_test - ${catkin_LIBRARIES} - ${urdfdom_LIBRARIES} - ) + target_link_libraries(joint_limits_rosparam_test ${catkin_LIBRARIES}) endif() -# Install + +############# +## Install ## +############# + +# Install headers install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +) diff --git a/joint_limits_interface/package.xml b/joint_limits_interface/package.xml index 77012ba9a..e72fb8cee 100644 --- a/joint_limits_interface/package.xml +++ b/joint_limits_interface/package.xml @@ -2,23 +2,27 @@ joint_limits_interface 0.15.1 Interface for enforcing joint limits. + Bence Magyar Enrique Fernandez Mathias Lüdtke + BSD https://github.com/ros-controls/ros_control/wiki https://github.com/ros-controls/ros_control/issues https://github.com/ros-controls/ros_control + Adolfo Rodriguez Tsouroukdissian catkin roscpp - hardware_interface urdf - liburdfdom-dev - rosunit + hardware_interface + + hardware_interface + rostest diff --git a/ros_control/package.xml b/ros_control/package.xml index 9998eeae1..e656a1631 100644 --- a/ros_control/package.xml +++ b/ros_control/package.xml @@ -17,14 +17,14 @@ catkin - joint_limits_interface - transmission_interface - realtime_tools - controller_manager + combined_robot_hw controller_interface - hardware_interface + controller_manager controller_manager_msgs - combined_robot_hw + hardware_interface + joint_limits_interface + realtime_tools + transmission_interface diff --git a/rqt_controller_manager/CMakeLists.txt b/rqt_controller_manager/CMakeLists.txt index 6e7be6313..f024e97fa 100644 --- a/rqt_controller_manager/CMakeLists.txt +++ b/rqt_controller_manager/CMakeLists.txt @@ -1,19 +1,30 @@ cmake_minimum_required(VERSION 2.8.3) project(rqt_controller_manager) -find_package(catkin REQUIRED COMPONENTS) +# Load catkin and all dependencies required for this package +find_package(catkin REQUIRED) + catkin_python_setup() + +# Declare a catkin package catkin_package() -install(FILES plugin.xml - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -) +############# +## Install ## +############# + +# Install resources install(DIRECTORY resource DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) -install(PROGRAMS - scripts/rqt_controller_manager +# Install python scripts +catkin_install_python(PROGRAMS scripts/rqt_controller_manager DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) + +# Install plugins +install(FILES plugin.xml + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +) diff --git a/rqt_controller_manager/package.xml b/rqt_controller_manager/package.xml index d413b268d..e773fcd3a 100644 --- a/rqt_controller_manager/package.xml +++ b/rqt_controller_manager/package.xml @@ -1,8 +1,7 @@ - rqt_controller_manager 0.15.1 - The rqt_controller_manager package + Graphical frontend for interacting with the controller manager. Bence Magyar Enrique Fernandez @@ -19,10 +18,12 @@ catkin - controller_manager + controller_manager_msgs + rospy rqt_gui + rqt_gui_py - + diff --git a/transmission_interface/CMakeLists.txt b/transmission_interface/CMakeLists.txt index e2d705fda..360813b3e 100644 --- a/transmission_interface/CMakeLists.txt +++ b/transmission_interface/CMakeLists.txt @@ -9,117 +9,135 @@ find_package(catkin REQUIRED COMPONENTS roscpp ) +# Include header-only Boost libraries +find_package(Boost REQUIRED) + # Include a custom cmake file for TinyXML find_package(TinyXML REQUIRED) # Declare a catkin package catkin_package( + INCLUDE_DIRS + include LIBRARIES ${PROJECT_NAME}_parser ${PROJECT_NAME}_loader ${PROJECT_NAME}_loader_plugins - INCLUDE_DIRS - include CATKIN_DEPENDS + hardware_interface pluginlib roscpp DEPENDS + Boost TinyXML ) + ########### ## Build ## ########### -# Build -include_directories(include ${catkin_INCLUDE_DIRS} ${TinyXML_INCLUDE_DIRS}) +# Specify header include paths +include_directories(include ${catkin_INCLUDE_DIRS} ${TinyXML_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) -# Transmission parser Library +# Transmission parser library add_library(${PROJECT_NAME}_parser - src/transmission_parser.cpp include/transmission_interface/transmission_parser.h + include/transmission_interface/transmission_parser.h + src/transmission_parser.cpp ) target_link_libraries(${PROJECT_NAME}_parser ${catkin_LIBRARIES} ${TinyXML_LIBRARIES}) - # Transmission loader library add_library(${PROJECT_NAME}_loader - src/transmission_loader.cpp include/transmission_interface/transmission_loader.h - src/transmission_interface_loader.cpp include/transmission_interface/transmission_interface_loader.h + include/transmission_interface/transmission_interface_loader.h + include/transmission_interface/transmission_loader.h + src/transmission_interface_loader.cpp + src/transmission_loader.cpp ) target_link_libraries(${PROJECT_NAME}_loader ${PROJECT_NAME}_parser ${catkin_LIBRARIES} - ${TinyXML_LIBRARIES}) - + ${TinyXML_LIBRARIES} +) add_library(${PROJECT_NAME}_loader_plugins - src/simple_transmission_loader.cpp include/transmission_interface/simple_transmission_loader.h - src/differential_transmission_loader.cpp include/transmission_interface/differential_transmission_loader.h - src/four_bar_linkage_transmission_loader.cpp include/transmission_interface/four_bar_linkage_transmission_loader.h - src/joint_state_interface_provider.cpp include/transmission_interface/joint_state_interface_provider.h - src/position_joint_interface_provider.cpp include/transmission_interface/position_joint_interface_provider.h - src/velocity_joint_interface_provider.cpp include/transmission_interface/velocity_joint_interface_provider.h - src/effort_joint_interface_provider.cpp include/transmission_interface/effort_joint_interface_provider.h - src/bidirectional_position_joint_interface_provider.cpp include/transmission_interface/bidirectional_position_joint_interface_provider.h - src/bidirectional_velocity_joint_interface_provider.cpp include/transmission_interface/bidirectional_velocity_joint_interface_provider.h - src/bidirectional_effort_joint_interface_provider.cpp include/transmission_interface/bidirectional_effort_joint_interface_provider.h) + include/transmission_interface/bidirectional_effort_joint_interface_provider.h + include/transmission_interface/bidirectional_position_joint_interface_provider.h + include/transmission_interface/bidirectional_velocity_joint_interface_provider.h + include/transmission_interface/differential_transmission_loader.h + include/transmission_interface/effort_joint_interface_provider.h + include/transmission_interface/four_bar_linkage_transmission_loader.h + include/transmission_interface/joint_state_interface_provider.h + include/transmission_interface/position_joint_interface_provider.h + include/transmission_interface/simple_transmission_loader.h + include/transmission_interface/velocity_joint_interface_provider.h + src/bidirectional_effort_joint_interface_provider.cpp + src/bidirectional_position_joint_interface_provider.cpp + src/bidirectional_velocity_joint_interface_provider.cpp + src/differential_transmission_loader.cpp + src/effort_joint_interface_provider.cpp + src/four_bar_linkage_transmission_loader.cpp + src/joint_state_interface_provider.cpp + src/position_joint_interface_provider.cpp + src/simple_transmission_loader.cpp + src/velocity_joint_interface_provider.cpp +) target_link_libraries(${PROJECT_NAME}_loader_plugins ${PROJECT_NAME}_loader) ############# -## Install ## +## Testing ## ############# -install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) +if(CATKIN_ENABLE_TESTING) + find_package(resource_retriever REQUIRED) -# Install library -install(TARGETS ${PROJECT_NAME}_parser - ${PROJECT_NAME}_loader - ${PROJECT_NAME}_loader_plugins - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} -) + catkin_add_gtest(simple_transmission_test test/simple_transmission_test.cpp) -install(FILES ros_control_plugins.xml - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) + catkin_add_gtest(differential_transmission_test test/differential_transmission_test.cpp) -############# -## Testing ## -############# + catkin_add_gtest(four_bar_linkage_transmission_test test/four_bar_linkage_transmission_test.cpp) -if(CATKIN_ENABLE_TESTING) + catkin_add_gtest(transmission_interface_test test/transmission_interface_test.cpp) + target_link_libraries(transmission_interface_test ${catkin_LIBRARIES}) - find_package(Boost REQUIRED COMPONENTS system thread) - find_package(catkin REQUIRED COMPONENTS resource_retriever roscpp) + catkin_add_gtest(transmission_parser_test test/transmission_parser_test.cpp) + target_link_libraries(transmission_parser_test ${PROJECT_NAME}_parser ${resource_retriever_LIBRARIES}) - catkin_add_gtest(simple_transmission_test test/simple_transmission_test.cpp) - target_link_libraries(simple_transmission_test ${Boost_LIBRARIES}) + catkin_add_gtest(simple_transmission_loader_test test/simple_transmission_loader_test.cpp) + target_link_libraries(simple_transmission_loader_test ${PROJECT_NAME}_parser ${resource_retriever_LIBRARIES}) - catkin_add_gtest(differential_transmission_test test/differential_transmission_test.cpp) - target_link_libraries(differential_transmission_test ${Boost_LIBRARIES}) + catkin_add_gtest(differential_transmission_loader_test test/differential_transmission_loader_test.cpp) + target_link_libraries(differential_transmission_loader_test ${PROJECT_NAME}_parser ${resource_retriever_LIBRARIES}) - catkin_add_gtest(four_bar_linkage_transmission_test test/four_bar_linkage_transmission_test.cpp) - target_link_libraries(four_bar_linkage_transmission_test ${Boost_LIBRARIES}) + catkin_add_gtest(four_bar_linkage_transmission_loader_test test/four_bar_linkage_transmission_loader_test.cpp) + target_link_libraries(four_bar_linkage_transmission_loader_test ${PROJECT_NAME}_parser ${resource_retriever_LIBRARIES}) - catkin_add_gtest(transmission_interface_test test/transmission_interface_test.cpp) - target_link_libraries(transmission_interface_test ${TinyXML_LIBRARIES} ${catkin_LIBRARIES}) + catkin_add_gtest(transmission_interface_loader_test test/transmission_interface_loader_test.cpp) + target_link_libraries(transmission_interface_loader_test transmission_interface_loader + ${resource_retriever_LIBRARIES}) +endif() - catkin_add_gtest(transmission_parser_test test/transmission_parser_test.cpp) - target_link_libraries(transmission_parser_test ${PROJECT_NAME}_parser ${catkin_LIBRARIES}) - catkin_add_gtest(simple_transmission_loader_test test/simple_transmission_loader_test.cpp) - target_link_libraries(simple_transmission_loader_test ${PROJECT_NAME}_parser ${catkin_LIBRARIES}) +############# +## Install ## +############# - catkin_add_gtest(differential_transmission_loader_test test/differential_transmission_loader_test.cpp) - target_link_libraries(differential_transmission_loader_test ${PROJECT_NAME}_parser ${catkin_LIBRARIES}) +# Install headers +install(DIRECTORY include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +) - catkin_add_gtest(four_bar_linkage_transmission_loader_test test/four_bar_linkage_transmission_loader_test.cpp) - target_link_libraries(four_bar_linkage_transmission_loader_test ${PROJECT_NAME}_parser ${catkin_LIBRARIES}) +# Install targets +install(TARGETS ${PROJECT_NAME}_loader + ${PROJECT_NAME}_loader_plugins + ${PROJECT_NAME}_parser + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +) - catkin_add_gtest(transmission_interface_loader_test test/transmission_interface_loader_test.cpp) - target_link_libraries(transmission_interface_loader_test ${PROJECT_NAME}_parser - transmission_interface_loader - ${catkin_LIBRARIES}) -endif() +# Install plugins +install(FILES ros_control_plugins.xml + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +) diff --git a/transmission_interface/package.xml b/transmission_interface/package.xml index f4eba997d..87facfc36 100644 --- a/transmission_interface/package.xml +++ b/transmission_interface/package.xml @@ -17,17 +17,22 @@ catkin - tinyxml roscpp - pluginlib - hardware_interface + tinyxml + + boost cmake_modules + hardware_interface + pluginlib + + boost + hardware_interface + pluginlib - rosunit resource_retriever - +