diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 65fe42e..c96edf0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,18 @@ Changelog for package ros_control_boilerplate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.5.0 (2019-01-28) +------------------ +* Fix `catkin lint` warnings +* Remove obsolete `FindGflags.cmake` script +* Move `ros_control_boilerplate`, obscuring rrbot demo package, into + own subdirectory +* Package `rrbot_control` name conflicts with `gazebo_ros_demos` repo + package; rename to `rrbot_control_boilerplate` +* Make `rrbot_control_boilerplate` independent package; install launch + and config files for reuse by other packages +* Update URLs in `package.xml` files + 0.4.1 (2017-06-20) ------------------ * Changed boost::shared_ptr to typedef for Lunar support diff --git a/cmake/FindGflags.cmake b/cmake/FindGflags.cmake deleted file mode 100644 index 21ae953..0000000 --- a/cmake/FindGflags.cmake +++ /dev/null @@ -1,52 +0,0 @@ -############################################################################### -# -# CMake script for finding the GFlags library. -# -# https://gflags.github.io/gflags/ -# -# Redistribution and use is allowed according to the terms of the 3-clause BSD -# license. -# -# Input variables: -# -# - Gflags_FIND_REQUIRED: throws an error if gflags is not found but it is required -# -# Output variables: -# -# - Gflags_FOUND: Boolean that indicates if the package was found -# - Gflags_LIBRARIES: Package libraries -# - Gflags_INCLUDE_DIRS: Absolute path to package headers -# -# Example usage: -# -# find_package(Gflags REQUIRED) -# -# include_directories( -# ${Gflags_INCLUDE_DIRS} -# ) -# -# add_executable(main src/main.cpp) -# target_link_libraries(main -# ${Gflags_LIBRARIES} -# ) -############################################################################### - - -find_path(Gflags_INCLUDE_PATH gflags/gflags.h) - -find_library(Gflags_LIBRARY NAMES gflags libgflags) - -if(Gflags_INCLUDE_PATH AND Gflags_LIBRARY) - set(Gflags_FOUND TRUE) -endif(Gflags_INCLUDE_PATH AND Gflags_LIBRARY) - -if(Gflags_FOUND) - message(STATUS "Found gflags: ${Gflags_LIBRARY}") - # Output variables - set(Gflags_INCLUDE_DIRS ${Gflags_INCLUDE_DIR}) - set(Gflags_LIBRARIES ${Gflags_LIBRARY}) -else(Gflags_FOUND) - if(Gflags_FIND_REQUIRED) - message(FATAL_ERROR "Could not find gflags library.") - endif(Gflags_FIND_REQUIRED) -endif(Gflags_FOUND) diff --git a/CMakeLists.txt b/ros_control_boilerplate/CMakeLists.txt similarity index 96% rename from CMakeLists.txt rename to ros_control_boilerplate/CMakeLists.txt index 69f30c7..6c7a922 100644 --- a/CMakeLists.txt +++ b/ros_control_boilerplate/CMakeLists.txt @@ -2,26 +2,25 @@ cmake_minimum_required(VERSION 2.8.3) project(ros_control_boilerplate) # C++ 11 -set(CMAKE_CXX_FLAGS "-std=c++11 -Wall ${CMAKE_CXX_FLAGS}") +add_compile_options(-std=c++11 -Wall) find_package(catkin REQUIRED COMPONENTS + actionlib cmake_modules - hardware_interface + control_msgs + control_toolbox controller_manager + hardware_interface + joint_limits_interface roscpp - control_msgs + rosparam_shortcuts + sensor_msgs + std_msgs trajectory_msgs - actionlib - urdf - joint_limits_interface transmission_interface - control_toolbox - std_msgs - sensor_msgs - rosparam_shortcuts + urdf ) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake) find_package(Gflags REQUIRED) ## System dependencies are found with CMake's conventions @@ -31,18 +30,18 @@ catkin_package( INCLUDE_DIRS include CATKIN_DEPENDS - hardware_interface + control_msgs + control_toolbox controller_manager + hardware_interface + joint_limits_interface roscpp - control_msgs + rosparam_shortcuts + sensor_msgs + std_msgs trajectory_msgs - urdf - joint_limits_interface transmission_interface - control_toolbox - std_msgs - sensor_msgs - rosparam_shortcuts + urdf LIBRARIES generic_hw_control_loop generic_hw_interface @@ -133,28 +132,26 @@ target_link_libraries(${PROJECT_NAME}_keyboard_teleop ${catkin_LIBRARIES} ) -add_subdirectory(rrbot_control) - ## Install ------------------------------------------------------------ # Install libraries install(TARGETS + controller_to_csv + csv_to_controller generic_hw_control_loop generic_hw_interface sim_hw_interface - controller_to_csv - csv_to_controller LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} ) # Install executables install(TARGETS - ${PROJECT_NAME}_sim_hw_main - ${PROJECT_NAME}_test_trajectory ${PROJECT_NAME}_controller_to_csv_main ${PROJECT_NAME}_csv_to_controller_main ${PROJECT_NAME}_keyboard_teleop + ${PROJECT_NAME}_sim_hw_main + ${PROJECT_NAME}_test_trajectory LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) diff --git a/include/ros_control_boilerplate/generic_hw_control_loop.h b/ros_control_boilerplate/include/ros_control_boilerplate/generic_hw_control_loop.h similarity index 100% rename from include/ros_control_boilerplate/generic_hw_control_loop.h rename to ros_control_boilerplate/include/ros_control_boilerplate/generic_hw_control_loop.h diff --git a/include/ros_control_boilerplate/generic_hw_interface.h b/ros_control_boilerplate/include/ros_control_boilerplate/generic_hw_interface.h similarity index 100% rename from include/ros_control_boilerplate/generic_hw_interface.h rename to ros_control_boilerplate/include/ros_control_boilerplate/generic_hw_interface.h diff --git a/include/ros_control_boilerplate/sim_hw_interface.h b/ros_control_boilerplate/include/ros_control_boilerplate/sim_hw_interface.h similarity index 100% rename from include/ros_control_boilerplate/sim_hw_interface.h rename to ros_control_boilerplate/include/ros_control_boilerplate/sim_hw_interface.h diff --git a/include/ros_control_boilerplate/tools/controller_to_csv.h b/ros_control_boilerplate/include/ros_control_boilerplate/tools/controller_to_csv.h similarity index 100% rename from include/ros_control_boilerplate/tools/controller_to_csv.h rename to ros_control_boilerplate/include/ros_control_boilerplate/tools/controller_to_csv.h diff --git a/include/ros_control_boilerplate/tools/csv_to_controller.h b/ros_control_boilerplate/include/ros_control_boilerplate/tools/csv_to_controller.h similarity index 100% rename from include/ros_control_boilerplate/tools/csv_to_controller.h rename to ros_control_boilerplate/include/ros_control_boilerplate/tools/csv_to_controller.h diff --git a/include/ros_control_boilerplate/tools/joystick_manual_control.h b/ros_control_boilerplate/include/ros_control_boilerplate/tools/joystick_manual_control.h similarity index 100% rename from include/ros_control_boilerplate/tools/joystick_manual_control.h rename to ros_control_boilerplate/include/ros_control_boilerplate/tools/joystick_manual_control.h diff --git a/package.xml b/ros_control_boilerplate/package.xml similarity index 86% rename from package.xml rename to ros_control_boilerplate/package.xml index b04713e..a9662d4 100644 --- a/package.xml +++ b/ros_control_boilerplate/package.xml @@ -8,9 +8,9 @@ BSD - https://github.com/davetcoleman/ros_control_boilerplate - https://github.com/davetcoleman/ros_control_boilerplate/issues - https://github.com/davetcoleman/ros_control_boilerplate/ + https://github.com/PickNikRobotics/ros_control_boilerplate + https://github.com/PickNikRobotics/ros_control_boilerplate/issues + https://github.com/PickNikRobotics/ros_control_boilerplate/ Dave Coleman diff --git a/scripts/analyze_trajectory.m b/ros_control_boilerplate/scripts/analyze_trajectory.m similarity index 100% rename from scripts/analyze_trajectory.m rename to ros_control_boilerplate/scripts/analyze_trajectory.m diff --git a/src/generic_hw_control_loop.cpp b/ros_control_boilerplate/src/generic_hw_control_loop.cpp similarity index 100% rename from src/generic_hw_control_loop.cpp rename to ros_control_boilerplate/src/generic_hw_control_loop.cpp diff --git a/src/generic_hw_interface.cpp b/ros_control_boilerplate/src/generic_hw_interface.cpp similarity index 100% rename from src/generic_hw_interface.cpp rename to ros_control_boilerplate/src/generic_hw_interface.cpp diff --git a/src/sim_hw_interface.cpp b/ros_control_boilerplate/src/sim_hw_interface.cpp similarity index 100% rename from src/sim_hw_interface.cpp rename to ros_control_boilerplate/src/sim_hw_interface.cpp diff --git a/src/sim_hw_main.cpp b/ros_control_boilerplate/src/sim_hw_main.cpp similarity index 100% rename from src/sim_hw_main.cpp rename to ros_control_boilerplate/src/sim_hw_main.cpp diff --git a/src/tools/controller_to_csv.cpp b/ros_control_boilerplate/src/tools/controller_to_csv.cpp similarity index 100% rename from src/tools/controller_to_csv.cpp rename to ros_control_boilerplate/src/tools/controller_to_csv.cpp diff --git a/src/tools/controller_to_csv_main.cpp b/ros_control_boilerplate/src/tools/controller_to_csv_main.cpp similarity index 100% rename from src/tools/controller_to_csv_main.cpp rename to ros_control_boilerplate/src/tools/controller_to_csv_main.cpp diff --git a/src/tools/csv_to_controller.cpp b/ros_control_boilerplate/src/tools/csv_to_controller.cpp similarity index 100% rename from src/tools/csv_to_controller.cpp rename to ros_control_boilerplate/src/tools/csv_to_controller.cpp diff --git a/src/tools/csv_to_controller_main.cpp b/ros_control_boilerplate/src/tools/csv_to_controller_main.cpp similarity index 100% rename from src/tools/csv_to_controller_main.cpp rename to ros_control_boilerplate/src/tools/csv_to_controller_main.cpp diff --git a/src/tools/keyboard_teleop.cpp b/ros_control_boilerplate/src/tools/keyboard_teleop.cpp similarity index 100% rename from src/tools/keyboard_teleop.cpp rename to ros_control_boilerplate/src/tools/keyboard_teleop.cpp diff --git a/src/tools/test_trajectory.cpp b/ros_control_boilerplate/src/tools/test_trajectory.cpp similarity index 100% rename from src/tools/test_trajectory.cpp rename to ros_control_boilerplate/src/tools/test_trajectory.cpp diff --git a/rrbot_control/CMakeLists.txt b/rrbot_control_boilerplate/CMakeLists.txt similarity index 53% rename from rrbot_control/CMakeLists.txt rename to rrbot_control_boilerplate/CMakeLists.txt index b361b90..c93f092 100644 --- a/rrbot_control/CMakeLists.txt +++ b/rrbot_control_boilerplate/CMakeLists.txt @@ -1,5 +1,26 @@ +cmake_minimum_required(VERSION 2.8.3) +project(rrbot_control_boilerplate) + +# C++ 11 +add_compile_options(-std=c++11 -Wall) + +find_package(catkin REQUIRED COMPONENTS + ros_control_boilerplate +) + +catkin_package( + INCLUDE_DIRS include + LIBRARIES rrbot_hw_interface + CATKIN_DEPENDS ros_control_boilerplate +) + +########### +## Build ## +########### + include_directories( - include/ + include + ${catkin_INCLUDE_DIRS} ) # RRBot Hardware Interface @@ -7,7 +28,6 @@ add_library(rrbot_hw_interface src/rrbot_hw_interface.cpp ) target_link_libraries(rrbot_hw_interface - generic_hw_interface ${catkin_LIBRARIES} ) @@ -15,7 +35,6 @@ target_link_libraries(rrbot_hw_interface add_executable(rrbot_hw_main src/rrbot_hw_main.cpp) target_link_libraries(rrbot_hw_main rrbot_hw_interface - generic_hw_control_loop ${catkin_LIBRARIES} ) @@ -36,4 +55,12 @@ install(TARGETS ) # Install header files -install(DIRECTORY include/rrbot_control/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) +install( + DIRECTORY include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) + +install(DIRECTORY config + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) + +install(DIRECTORY launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/rrbot_control/config/rrbot_controllers.yaml b/rrbot_control_boilerplate/config/rrbot_controllers.yaml similarity index 100% rename from rrbot_control/config/rrbot_controllers.yaml rename to rrbot_control_boilerplate/config/rrbot_controllers.yaml diff --git a/rrbot_control/include/rrbot_control/rrbot_hw_interface.h b/rrbot_control_boilerplate/include/rrbot_control_boilerplate/rrbot_hw_interface.h similarity index 94% rename from rrbot_control/include/rrbot_control/rrbot_hw_interface.h rename to rrbot_control_boilerplate/include/rrbot_control_boilerplate/rrbot_hw_interface.h index d273034..918e7dc 100644 --- a/rrbot_control/include/rrbot_control/rrbot_hw_interface.h +++ b/rrbot_control_boilerplate/include/rrbot_control_boilerplate/rrbot_hw_interface.h @@ -37,12 +37,12 @@ For a more detailed simulation example, see sim_hw_interface.h */ -#ifndef RRBOT_CONTROL__RRBOT_HW_INTERFACE_H -#define RRBOT_CONTROL__RRBOT_HW_INTERFACE_H +#ifndef RRBOT_CONTROL_BOILERPLATE__RRBOT_HW_INTERFACE_H +#define RRBOT_CONTROL_BOILERPLATE__RRBOT_HW_INTERFACE_H #include -namespace rrbot_control +namespace rrbot_control_boilerplate { /// \brief Hardware interface for a robot diff --git a/rrbot_control/launch/rrbot_hardware.launch b/rrbot_control_boilerplate/launch/rrbot_hardware.launch similarity index 89% rename from rrbot_control/launch/rrbot_hardware.launch rename to rrbot_control_boilerplate/launch/rrbot_hardware.launch index 429f7d6..382a257 100644 --- a/rrbot_control/launch/rrbot_hardware.launch +++ b/rrbot_control_boilerplate/launch/rrbot_hardware.launch @@ -16,7 +16,9 @@ output="screen" launch-prefix="$(arg launch_prefix)"/> - + - + - + diff --git a/rrbot_control/launch/rrbot_visualize.launch b/rrbot_control_boilerplate/launch/rrbot_visualize.launch similarity index 100% rename from rrbot_control/launch/rrbot_visualize.launch rename to rrbot_control_boilerplate/launch/rrbot_visualize.launch diff --git a/rrbot_control/package.xml b/rrbot_control_boilerplate/package.xml similarity index 62% rename from rrbot_control/package.xml rename to rrbot_control_boilerplate/package.xml index 2dc5a5e..a8a452c 100644 --- a/rrbot_control/package.xml +++ b/rrbot_control_boilerplate/package.xml @@ -1,6 +1,6 @@ - rrbot_control + rrbot_control_boilerplate 0.0.1 Simple simulation interface and template for setting up a hardware interface for rrbot @@ -8,9 +8,9 @@ BSD - https://github.com/davetcoleman/ros_control_boilerplate - https://github.com/davetcoleman/ros_control_boilerplate/issues - https://github.com/davetcoleman/ros_control_boilerplate/ + https://github.com/PickNikRobotics/ros_control_boilerplate + https://github.com/PickNikRobotics/ros_control_boilerplate/issues + https://github.com/PickNikRobotics/ros_control_boilerplate/ Dave Coleman diff --git a/rrbot_control/src/rrbot_hw_interface.cpp b/rrbot_control_boilerplate/src/rrbot_hw_interface.cpp similarity index 98% rename from rrbot_control/src/rrbot_hw_interface.cpp rename to rrbot_control_boilerplate/src/rrbot_hw_interface.cpp index abbe928..3d2d831 100644 --- a/rrbot_control/src/rrbot_hw_interface.cpp +++ b/rrbot_control_boilerplate/src/rrbot_hw_interface.cpp @@ -37,9 +37,9 @@ For a more detailed simulation example, see sim_hw_interface.cpp */ -#include +#include -namespace rrbot_control +namespace rrbot_control_boilerplate { RRBotHWInterface::RRBotHWInterface(ros::NodeHandle &nh, urdf::Model *urdf_model) diff --git a/rrbot_control/src/rrbot_hw_main.cpp b/rrbot_control_boilerplate/src/rrbot_hw_main.cpp similarity index 92% rename from rrbot_control/src/rrbot_hw_main.cpp rename to rrbot_control_boilerplate/src/rrbot_hw_main.cpp index 0fc7258..502cdfa 100644 --- a/rrbot_control/src/rrbot_hw_main.cpp +++ b/rrbot_control_boilerplate/src/rrbot_hw_main.cpp @@ -37,7 +37,7 @@ */ #include -#include +#include int main(int argc, char** argv) { @@ -50,8 +50,8 @@ int main(int argc, char** argv) spinner.start(); // Create the hardware interface specific to your robot - boost::shared_ptr rrbot_hw_interface - (new rrbot_control::RRBotHWInterface(nh)); + boost::shared_ptr rrbot_hw_interface + (new rrbot_control_boilerplate::RRBotHWInterface(nh)); rrbot_hw_interface->init(); // Start the control loop