diff --git a/.github/workflows/catkin_lint.yml b/.github/workflows/catkin_lint.yml
new file mode 100644
index 000000000..e4c008193
--- /dev/null
+++ b/.github/workflows/catkin_lint.yml
@@ -0,0 +1,28 @@
+on: [push, pull_request]
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ name: catkin_lint
+
+ steps:
+ - name: Setup OS
+ run: |
+ sudo apt-get update -y
+ sudo apt-get upgrade -y
+ - name: Setup Git
+ run: |
+ sudo apt-get install -y git
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: catkin lint setup
+ run: |
+ sudo apt-get install -y -q python3-pip
+ sudo pip3 install catkin_lint rosdep
+ sudo rosdep init
+ rosdep update
+ - name: catkin lint test
+ run: |
+ ROS_DISTRO=noetic catkin_lint --resolve-env --strict $PWD
diff --git a/aerial_robot/CMakeLists.txt b/aerial_robot/CMakeLists.txt
index 191f78585..e752373bd 100644
--- a/aerial_robot/CMakeLists.txt
+++ b/aerial_robot/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot)
find_package(catkin REQUIRED)
catkin_metapackage()
diff --git a/aerial_robot/package.xml b/aerial_robot/package.xml
index ccc263358..0799b936d 100644
--- a/aerial_robot/package.xml
+++ b/aerial_robot/package.xml
@@ -16,12 +16,12 @@
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
- motor_test
- spinal
aerial_robot_simulation
+ dragon
hydrus
hydrus_xi
- dragon
+ motor_test
+ spinal
python-is-python3
diff --git a/aerial_robot_base/CMakeLists.txt b/aerial_robot_base/CMakeLists.txt
index c2e9f2527..72a5a4522 100644
--- a/aerial_robot_base/CMakeLists.txt
+++ b/aerial_robot_base/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot_base)
@@ -14,11 +14,12 @@ find_package(catkin REQUIRED COMPONENTS
catkin_python_setup()
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+add_compile_options(-std=c++14)
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
+ CATKIN_DEPENDS aerial_robot_control aerial_robot_estimation aerial_robot_model roscpp rospy
)
include_directories(
@@ -31,3 +32,25 @@ target_link_libraries (aerial_robot_base ${catkin_LIBRARIES})
add_executable(aerial_robot_base_node src/aerial_robot_base_node.cpp)
target_link_libraries (aerial_robot_base_node ${catkin_LIBRARIES} aerial_robot_base)
+
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS aerial_robot_base
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(TARGETS aerial_robot_base_node
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
+
+install(DIRECTORY bin
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+install(DIRECTORY launch scripts
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
diff --git a/aerial_robot_base/package.xml b/aerial_robot_base/package.xml
index 6d5a9ac6b..d5ccf5178 100644
--- a/aerial_robot_base/package.xml
+++ b/aerial_robot_base/package.xml
@@ -25,5 +25,7 @@
roscpp
rospy
rostest
+ ublox_gps
+ ntrip_ros
diff --git a/aerial_robot_control/CMakeLists.txt b/aerial_robot_control/CMakeLists.txt
index 28c639826..4b49b938b 100644
--- a/aerial_robot_control/CMakeLists.txt
+++ b/aerial_robot_control/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot_control)
add_compile_options(-std=c++11)
@@ -38,7 +38,7 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG")
catkin_package(
INCLUDE_DIRS include
LIBRARIES control_utils flight_control_pluginlib flight_navigation
- CATKIN_DEPENDS aerial_robot_estimation aerial_robot_model aerial_robot_msgs roscpp spinal
+ CATKIN_DEPENDS aerial_robot_estimation aerial_robot_model aerial_robot_msgs dynamic_reconfigure pluginlib roscpp spinal tf
DEPENDS EIGEN3
)
@@ -66,3 +66,15 @@ add_dependencies(flight_control_pluginlib ${PROJECT_NAME}_gencfg)
### flight navigation
add_library (flight_navigation src/flight_navigation.cpp)
target_link_libraries (flight_navigation ${catkin_LIBRARIES})
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS control_utils flight_control_pluginlib flight_navigation
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(DIRECTORY scripts plugins
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
diff --git a/aerial_robot_estimation/CMakeLists.txt b/aerial_robot_estimation/CMakeLists.txt
index 75a6969c2..035607546 100644
--- a/aerial_robot_estimation/CMakeLists.txt
+++ b/aerial_robot_estimation/CMakeLists.txt
@@ -1,7 +1,7 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot_estimation)
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+add_compile_options(-std=c++14)
find_package(catkin REQUIRED COMPONENTS
aerial_robot_model
@@ -14,11 +14,9 @@ find_package(catkin REQUIRED COMPONENTS
kalman_filter
nav_msgs
nodelet
- roscpp
- rospy
+ pluginlib
sensor_msgs
spinal
- std_msgs
tf
tf_conversions
jsk_recognition_msgs
@@ -33,7 +31,7 @@ generate_dynamic_reconfigure_options(
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME} sensor_pluginlib
- CATKIN_DEPENDS geodesy kalman_filter nodelet spinal tf tf_conversions
+ CATKIN_DEPENDS aerial_robot_model aerial_robot_msgs cv_bridge dynamic_reconfigure geodesy geographic_msgs geometry_msgs kalman_filter nav_msgs nodelet pluginlib sensor_msgs spinal tf tf_conversions jsk_recognition_msgs
)
include_directories(
@@ -43,7 +41,7 @@ include_directories(
### state estimation
add_library(aerial_robot_estimation
- src/state_estimation)
+ src/state_estimation.cpp)
target_link_libraries(aerial_robot_estimation ${catkin_LIBRARIES})
### sensor plugins
@@ -66,7 +64,6 @@ target_link_libraries(kf_baro_bias_pluginlib ${catkin_LIBRARIES})
add_dependencies(kf_baro_bias_pluginlib ${PROJECT_NAME}_gencfg)
set(USE_GPU OFF)
-set(CMAKE_BUILD_TYPE Release)
if(USE_GPU)
add_definitions(-DUSE_GPU)
@@ -74,3 +71,15 @@ endif()
add_library(optical_flow src/vision/optical_flow.cpp)
target_link_libraries(optical_flow ${catkin_LIBRARIES})
+
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS aerial_robot_estimation sensor_pluginlib kf_baro_bias_pluginlib optical_flow
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(DIRECTORY launch plugins config
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
diff --git a/aerial_robot_estimation/package.xml b/aerial_robot_estimation/package.xml
index ac895e825..85fd26b21 100644
--- a/aerial_robot_estimation/package.xml
+++ b/aerial_robot_estimation/package.xml
@@ -21,11 +21,8 @@
nav_msgs
nodelet
pluginlib
- roscpp
- rospy
sensor_msgs
spinal
- std_msgs
tf
tf_conversions
jsk_recognition_msgs
@@ -41,11 +38,8 @@
nav_msgs
nodelet
pluginlib
- roscpp
- rospy
sensor_msgs
spinal
- std_msgs
std_srvs
tf
tf_conversions
diff --git a/aerial_robot_model/CMakeLists.txt b/aerial_robot_model/CMakeLists.txt
index 64dae79bd..d7003ca2c 100644
--- a/aerial_robot_model/CMakeLists.txt
+++ b/aerial_robot_model/CMakeLists.txt
@@ -1,6 +1,8 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot_model)
+add_compile_options(-std=c++14)
+
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
@@ -12,7 +14,6 @@ find_package(catkin REQUIRED COMPONENTS
kdl_parser
message_generation
pluginlib
- roscpp
sensor_msgs
spinal
std_msgs
@@ -32,9 +33,6 @@ find_package(urdfdom_headers REQUIRED)
find_package(Eigen3 REQUIRED)
include_directories(${orocos_kdl_INCLUDE_DIRS} ${urdfdom_headers_INCLUDE_DIRS})
-link_directories(${orocos_kdl_LIBRARY_DIRS})
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo)
@@ -55,7 +53,8 @@ generate_messages(
catkin_package(
INCLUDE_DIRS include test
LIBRARIES transformable_aerial_robot_model transformable_aerial_robot_model_ros numerical_jacobians
- CATKIN_DEPENDS eigen_conversions interactive_markers spinal tf tf_conversions
+ CATKIN_DEPENDS eigen_conversions geometry_msgs interactive_markers kalman_filter kdl_parser message_runtime pluginlib sensor_msgs spinal std_msgs tf tf_conversions tf2_eigen tf2_geometry_msgs tf2_kdl tf2_ros tf_conversions urdf visualization_msgs
+ DEPENDS Eigen3 orocos_kdl urdfdom_headers
)
###########
@@ -102,5 +101,18 @@ add_library(numerical_jacobians test/aerial_robot_model/numerical_jacobians.cpp)
target_link_libraries(numerical_jacobians transformable_aerial_robot_model ${catkin_LIBRARIES})
-install(DIRECTORY launch
- DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
+install(DIRECTORY include/${PROJECT_NAME}/ test/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS transformable_aerial_robot_model transformable_aerial_robot_model_ros servo_bridge numerical_jacobians
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(TARGETS rotor_tf_publisher interactive_marker_tf_broadcaster servo_bridge_node
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
+
+install(DIRECTORY launch script
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
diff --git a/aerial_robot_model/package.xml b/aerial_robot_model/package.xml
index 79dc72501..0909f02f4 100644
--- a/aerial_robot_model/package.xml
+++ b/aerial_robot_model/package.xml
@@ -19,7 +19,6 @@
liburdfdom-headers-dev
message_generation
pluginlib
- roscpp
sensor_msgs
spinal
std_msgs
@@ -42,7 +41,7 @@
message_runtime
pluginlib
robot_state_publisher
- roscpp
+ rviz
sensor_msgs
spinal
std_msgs
diff --git a/aerial_robot_msgs/CMakeLists.txt b/aerial_robot_msgs/CMakeLists.txt
index 2e8f1d684..881eecdc3 100644
--- a/aerial_robot_msgs/CMakeLists.txt
+++ b/aerial_robot_msgs/CMakeLists.txt
@@ -1,8 +1,12 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot_msgs)
## Find catkin and any catkin packages
-find_package(catkin REQUIRED COMPONENTS roscpp std_msgs geometry_msgs message_generation)
+find_package(catkin REQUIRED COMPONENTS
+ std_msgs
+ geometry_msgs
+ message_generation
+ )
## Declare ROS messages and services
add_message_files(FILES
@@ -19,11 +23,11 @@ add_message_files(FILES
)
## Generate added messages and services
-generate_messages(DEPENDENCIES std_msgs std_msgs geometry_msgs)
+generate_messages(DEPENDENCIES std_msgs geometry_msgs)
## Declare a catkin package
catkin_package(
- CATKIN_DEPENDS message_runtime
+ CATKIN_DEPENDS std_msgs geometry_msgs message_runtime
)
diff --git a/aerial_robot_msgs/package.xml b/aerial_robot_msgs/package.xml
index 1c439fb51..890dce372 100644
--- a/aerial_robot_msgs/package.xml
+++ b/aerial_robot_msgs/package.xml
@@ -11,14 +11,10 @@
catkin
- roscpp
-
std_msgs
geometry_msgs
message_generation
- roscpp
-
std_msgs
geometry_msgs
message_runtime
diff --git a/aerial_robot_nerve/motor_test/CMakeLists.txt b/aerial_robot_nerve/motor_test/CMakeLists.txt
index e559c37f5..573c29b66 100644
--- a/aerial_robot_nerve/motor_test/CMakeLists.txt
+++ b/aerial_robot_nerve/motor_test/CMakeLists.txt
@@ -1,165 +1,37 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(motor_test)
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+add_compile_options(-std=c++14)
-## Find catkin macros and libraries
-## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
-## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
std_srvs
geometry_msgs
- takasako_sps
)
-## System dependencies are found with CMake's conventions
- find_package(Boost REQUIRED COMPONENTS system)
+find_package(Boost REQUIRED COMPONENTS system)
-
-## Uncomment this if the package has a setup.py. This macro ensures
-## modules and global scripts declared therein get installed
-## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
-# catkin_python_setup()
-
-################################################
-## Declare ROS messages, services and actions ##
-################################################
-
-## To declare and build messages, services or actions from within this
-## package, follow these steps:
-## * Let MSG_DEP_SET be the set of packages whose message types you use in
-## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
-## * In the file package.xml:
-## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
-## * If MSG_DEP_SET isn't empty the following dependencies might have been
-## pulled in transitively but can be declared for certainty nonetheless:
-## * add a build_depend tag for "message_generation"
-## * add a run_depend tag for "message_runtime"
-## * In this file (CMakeLists.txt):
-## * add "message_generation" and every package in MSG_DEP_SET to
-## find_package(catkin REQUIRED COMPONENTS ...)
-## * add "message_runtime" and every package in MSG_DEP_SET to
-## catkin_package(CATKIN_DEPENDS ...)
-## * uncomment the add_*_files sections below as needed
-## and list every .msg/.srv/.action file to be processed
-## * uncomment the generate_messages entry below
-## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
-
-## Generate messages in the 'msg' folder
-# add_message_files(
-# FILES
-# Message1.msg
-# Message2.msg
-# )
-
-## Generate services in the 'srv' folder
-# add_service_files(
-# FILES
-# Service1.srv
-# Service2.srv
-# )
-
-## Generate actions in the 'action' folder
-# add_action_files(
-# FILES
-# Action1.action
-# Action2.action
-# )
-
-## Generate added messages and services with any dependencies listed here
-# generate_messages(
-# DEPENDENCIES
-# std_msgs
-# )
-
-###################################
-## catkin specific configuration ##
-###################################
-## The catkin_package macro generates cmake config files for your package
-## Declare things to be passed to dependent projects
-## INCLUDE_DIRS: uncomment this if you package contains header files
-## LIBRARIES: libraries you create in this project that dependent projects also need
-## CATKIN_DEPENDS: catkin_packages dependent projects also need
-## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
-# LIBRARIES force_sensor_log
- CATKIN_DEPENDS roscpp std_msgs std_srvs
-)
+ CATKIN_DEPENDS roscpp std_msgs std_srvs geometry_msgs
-###########
-## Build ##
-###########
+)
-## Specify additional locations of header files
-## Your package locations should be listed before other locations
-# include_directories(include)
include_directories(
${catkin_INCLUDE_DIRS}
)
-## Declare a cpp library
-# add_library(force_sensor_log
-# src/${PROJECT_NAME}/force_sensor_log.cpp
-# )
-
-## Declare a cpp executable
- add_executable(motor_test_node src/motor_test.cpp)
+add_executable(motor_test_node src/motor_test.cpp)
-## Add cmake target dependencies of the executable/library
-## as an example, message headers may need to be generated before nodes
-# add_dependencies(force_sensor_log_node force_sensor_log_generate_messages_cpp)
-
-## Specify libraries to link a library or executable target against
- target_link_libraries(motor_test_node
+target_link_libraries(motor_test_node
${catkin_LIBRARIES}
)
-#############
-## Install ##
-#############
-
-# all install targets should use catkin DESTINATION variables
-# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
-
-## Mark executable scripts (Python etc.) for installation
-## in contrast to setup.py, you can choose the destination
-# install(PROGRAMS
-# scripts/my_python_script
-# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-# )
-
-## Mark executables and/or libraries for installation
- install(TARGETS motor_test_node
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
- )
-
-## Mark cpp header files for installation
-# install(DIRECTORY include/${PROJECT_NAME}/
-# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
-# FILES_MATCHING PATTERN "*.h"
-# PATTERN ".svn" EXCLUDE
-# )
-
-## Mark other files for installation (e.g. launch and bag files, etc.)
-# install(FILES
-# # myfile1
-# # myfile2
-# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
-# )
-
-#############
-## Testing ##
-#############
+install(TARGETS motor_test_node
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+ )
-## Add gtest based cpp test target and link libraries
-# catkin_add_gtest(${PROJECT_NAME}-test test/test_force_sensor_log.cpp)
-# if(TARGET ${PROJECT_NAME}-test)
-# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
-# endif()
-
-## Add folders to be run by python nosetests
-# catkin_add_nosetests(test)
+install(DIRECTORY scripts
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
diff --git a/aerial_robot_nerve/motor_test/package.xml b/aerial_robot_nerve/motor_test/package.xml
index 4646ebfff..17956070e 100644
--- a/aerial_robot_nerve/motor_test/package.xml
+++ b/aerial_robot_nerve/motor_test/package.xml
@@ -4,47 +4,15 @@
1.3.0
The motor test package
-
-
-
- bakui
+ Moju Zhao
+ BSD
-
-
-
- TODO
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
catkin
geometry_msgs
roscpp
std_msgs
std_srvs
- takasako_sps
geometry_msgs
roscpp
@@ -52,12 +20,4 @@
std_srvs
takasako_sps
-
-
-
-
-
-
-
-
diff --git a/aerial_robot_simulation/CMakeLists.txt b/aerial_robot_simulation/CMakeLists.txt
index ad69830d9..195b64f6c 100644
--- a/aerial_robot_simulation/CMakeLists.txt
+++ b/aerial_robot_simulation/CMakeLists.txt
@@ -1,48 +1,31 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(aerial_robot_simulation)
-## Add support for C++11, supported in ROS Kinetic and newer
-add_definitions(-std=c++11)
+add_compile_options(-std=c++11 ${GAZEBO_CXX_FLAGS})
-## Find catkin macros and libraries
-## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
-## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
aerial_robot_base
aerial_robot_estimation
- aerial_robot_model
aerial_robot_msgs
+ aerial_robot_model
gazebo_ros_control
+ kdl_parser
roscpp
spinal
- kdl_parser
-)
+ tf
+ )
# Depend on system install of Gazebo
find_package(GAZEBO REQUIRED)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GAZEBO_CXX_FLAGS}")
-
find_package(orocos_kdl REQUIRED)
find_package(urdfdom_headers REQUIRED)
include_directories(${orocos_kdl_INCLUDE_DIRS} ${urdfdom_headers_INCLUDE_DIRS})
-link_directories(${orocos_kdl_LIBRARY_DIRS})
-################################################
-## Declare ROS messages, services and actions ##
-################################################
-
-################################################
-## Declare ROS dynamic reconfigure parameters ##
-################################################
-
-###################################
-## catkin specific configuration ##
-###################################
catkin_package(
INCLUDE_DIRS include
- LIBRARIES aerial_robot_hw_sim flight_controllers
- CATKIN_DEPENDS gazebo_ros_control roscpp
- DEPENDS orocos_kdl urdfdom_headers
+ LIBRARIES aerial_robot_hw_sim spinal_interface flight_controllers
+ CATKIN_DEPENDS aerial_robot_base aerial_robot_estimation aerial_robot_msgs aerial_robot_model gazebo_ros_control kdl_parser roscpp spinal tf
+ DEPENDS GAZEBO orocos_kdl urdfdom_headers
)
###########
@@ -68,19 +51,19 @@ target_link_libraries(spinal_interface ${catkin_LIBRARIES})
add_library(aerial_robot_hw_sim src/aerial_robot_hw_sim.cpp)
target_link_libraries(aerial_robot_hw_sim spinal_interface ${catkin_LIBRARIES} ${GAZEBO_LIBRARIES} ${orocos_kdl_LIBRARIES})
-#############
-## Install ##
-#############
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
-#############
-## Testing ##
-#############
+install(TARGETS aerial_robot_hw_sim spinal_interface flight_controllers
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
-## Add gtest based cpp test target and link libraries
-# catkin_add_gtest(${PROJECT_NAME}-test test/test_aerial_robot_simulation.cpp)
-# if(TARGET ${PROJECT_NAME}-test)
-# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
-# endif()
+install(DIRECTORY scripts
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
-## Add folders to be run by python nosetests
-# catkin_add_nosetests(test)
+install(FILES aerial_robot_hw_sim_plugins.xml flight_controllers_plugins.xml
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+)
diff --git a/aerial_robot_simulation/package.xml b/aerial_robot_simulation/package.xml
index 8bd043bcd..5bcde281a 100644
--- a/aerial_robot_simulation/package.xml
+++ b/aerial_robot_simulation/package.xml
@@ -8,7 +8,7 @@
BSD
- Moju Zhao
+ Moju Zhao
catkin
@@ -20,9 +20,6 @@
kdl_parser
liburdfdom-headers-dev
roscpp
- ros_control
- ros_control
- ros_controllers
spinal
tf
@@ -30,12 +27,13 @@
aerial_robot_estimation
aerial_robot_msgs
aerial_robot_model
+ controller_manager
controller_interface
+ gazebo_ros
gazebo_ros_control
hector_gazebo_plugins
kdl_parser
roscpp
- ros_control
ros_controllers
spinal
tf
diff --git a/robots/dragon/CMakeLists.txt b/robots/dragon/CMakeLists.txt
index a2bdd0352..b4f14795c 100644
--- a/robots/dragon/CMakeLists.txt
+++ b/robots/dragon/CMakeLists.txt
@@ -1,14 +1,15 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(dragon)
add_compile_options(-std=c++14)
find_package(catkin REQUIRED COMPONENTS
- roscpp
- hydrus
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
+ hydrus
+ pluginlib
+ roscpp
)
find_package(Eigen3 REQUIRED)
@@ -22,8 +23,8 @@ find_package(NLopt REQUIRED)
catkin_package(
INCLUDE_DIRS include test
LIBRARIES dragon_robot_model dragon_aerial_robot_controllib dragon_navigation dragon_numerical_jacobians
- CATKIN_DEPENDS hydrus
- DEPENDS EIGEN3
+ CATKIN_DEPENDS aerial_robot_control aerial_robot_model aerial_robot_msgs hydrus pluginlib roscpp
+ DEPENDS EIGEN3 NLopt
)
###########
@@ -61,7 +62,30 @@ target_link_libraries(dragon_numerical_jacobians dragon_robot_model ${catkin_LIB
add_executable(dragon_jacobian_test test/dragon/jacobian_test.cpp)
target_link_libraries(dragon_jacobian_test dragon_numerical_jacobians ${catkin_LIBRARIES} ${GTEST_LIBRARIES})
+install(DIRECTORY include/${PROJECT_NAME}/ test/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS dragon_jacobian_test
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
+
+install(TARGETS dragon_sensor_pluginlib dragon_robot_model dragon_aerial_robot_controllib dragon_navigation dragon_numerical_jacobians
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(DIRECTORY config scripts plugins launch images
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+install(DIRECTORY bin
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+
if(CATKIN_ENABLE_TESTING)
- find_package(catkin REQUIRED COMPONENTS rostest)
+ find_package(rostest REQUIRED)
add_subdirectory(test)
endif()
+
diff --git a/robots/dragon/package.xml b/robots/dragon/package.xml
index 9ddd28fec..38020bed4 100644
--- a/robots/dragon/package.xml
+++ b/robots/dragon/package.xml
@@ -16,17 +16,19 @@
aerial_robot_msgs
roscpp
hydrus
- cmake_modules
pluginlib
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
aerial_robot_estimation
+ aerial_robot_simulation
+ aerial_robot_base
roscpp
hydrus
pluginlib
- rostest
+
+ rostest
diff --git a/robots/hydrus/CMakeLists.txt b/robots/hydrus/CMakeLists.txt
index d869241f4..75d5713c1 100644
--- a/robots/hydrus/CMakeLists.txt
+++ b/robots/hydrus/CMakeLists.txt
@@ -1,9 +1,8 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(hydrus)
-## Find catkin macros and libraries
-## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
-## is used, also find other catkin packages
+add_compile_options(-std=c++14)
+
find_package(catkin REQUIRED COMPONENTS
roscpp
aerial_robot_msgs
@@ -18,16 +17,14 @@ find_package(catkin REQUIRED COMPONENTS
find_package(Eigen3 REQUIRED)
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
-
generate_dynamic_reconfigure_options(
cfg/LQI.cfg)
catkin_package(
INCLUDE_DIRS include test
LIBRARIES hydrus_robot_model hydrus_controller_pluginlib hydrus_numerical_jacobians
- CATKIN_DEPENDS roscpp aerial_robot_control aerial_robot_model aerial_robot_msgs spinal tf_conversions eigen_conversions
- DEPENDS EIGEN3
+ CATKIN_DEPENDS roscpp aerial_robot_msgs aerial_robot_control aerial_robot_model spinal eigen_conversions tf_conversions std_srvs dynamic_reconfigure
+ DEPENDS EIGEN3
)
# Eigen requires optimization to get good performance
@@ -72,8 +69,31 @@ target_link_libraries(hydrus_numerical_jacobians hydrus_robot_model ${catkin_LIB
add_executable(hydrus_jacobian_test test/hydrus/jacobian_test.cpp)
target_link_libraries(hydrus_jacobian_test hydrus_numerical_jacobians ${catkin_LIBRARIES} ${GTEST_LIBRARIES})
+
+install(DIRECTORY include/${PROJECT_NAME}/ test/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS hydrus_jacobian_test
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
+
+install(TARGETS hydrus_robot_model hydrus_controller_pluginlib hydrus_numerical_jacobians
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(DIRECTORY config scripts plugins launch
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+install(DIRECTORY bin
+ DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+
if(CATKIN_ENABLE_TESTING)
- find_package(catkin REQUIRED COMPONENTS rostest)
+ find_package(rostest REQUIRED)
add_subdirectory(test)
endif()
diff --git a/robots/hydrus/package.xml b/robots/hydrus/package.xml
index 19ea02799..823a11b38 100644
--- a/robots/hydrus/package.xml
+++ b/robots/hydrus/package.xml
@@ -14,7 +14,6 @@
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
- cmake_modules
dynamic_reconfigure
eigen_conversions
roscpp
@@ -22,17 +21,20 @@
std_srvs
tf_conversions
+ aerial_robot_base
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
+ aerial_robot_simulation
dynamic_reconfigure
eigen_conversions
roscpp
- rostest
spinal
std_srvs
tf_conversions
+ rostest
+
diff --git a/robots/hydrus_xi/CMakeLists.txt b/robots/hydrus_xi/CMakeLists.txt
index 1856564d0..3f883c55c 100644
--- a/robots/hydrus_xi/CMakeLists.txt
+++ b/robots/hydrus_xi/CMakeLists.txt
@@ -1,12 +1,14 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.0.2)
project(hydrus_xi)
add_compile_options(-std=c++14)
find_package(catkin REQUIRED COMPONENTS
+ aerial_robot_base
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
+ aerial_robot_simulation
angles
hydrus
roscpp
@@ -14,15 +16,14 @@ find_package(catkin REQUIRED COMPONENTS
spinal
)
-find_package(rostest REQUIRED)
-
find_package(NLopt REQUIRED)
find_package(OsqpEigen REQUIRED)
catkin_package(
INCLUDE_DIRS include
LIBRARIES hydrus_xi_fully_actuated_robot_model
- CATKIN_DEPENDS aerial_robot_control aerial_robot_model aerial_robot_msgs roscpp rospy spinal
+ CATKIN_DEPENDS aerial_robot_base aerial_robot_control aerial_robot_model aerial_robot_msgs aerial_robot_simulation angles hydrus roscpp rospy spinal
+ DEPENDS NLopt OsqpEigen
)
if(NOT CMAKE_BUILD_TYPE)
@@ -48,7 +49,29 @@ target_link_libraries(hydrus_xi_fully_actuated_robot_model ${catkin_LIBRARIES})
add_executable(hydrus_xi_jacobian_test test/hydrus_xi/jacobian_test.cpp)
target_link_libraries(hydrus_xi_jacobian_test hydrus_xi_fully_actuated_robot_model ${catkin_LIBRARIES} ${GTEST_LIBRARIES})
+install(DIRECTORY include/${PROJECT_NAME}/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+
+install(TARGETS hydrus_xi_jacobian_test
+ LIBRARY DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
+)
+
+install(TARGETS hydrus_xi_under_actuated_navigation hydrus_xi_fully_actuated_robot_model
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(DIRECTORY config scripts plugins launch
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+install(FILES flight_navigation_plugin.xml
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+ USE_SOURCE_PERMISSIONS
+)
+
+
if(CATKIN_ENABLE_TESTING)
- find_package(catkin REQUIRED COMPONENTS rostest)
+ find_package(rostest REQUIRED)
add_subdirectory(test)
endif()
diff --git a/robots/hydrus_xi/package.xml b/robots/hydrus_xi/package.xml
index f06fd020f..d6f6334e7 100644
--- a/robots/hydrus_xi/package.xml
+++ b/robots/hydrus_xi/package.xml
@@ -9,16 +9,19 @@
B.S.D
catkin
+ aerial_robot_base
aerial_robot_control
aerial_robot_model
aerial_robot_msgs
+ aerial_robot_simulation
angles
hydrus
roscpp
rospy
- rostest
spinal
+ rostest
+