diff --git a/robots/hugmy/CMakeLists.txt b/robots/hugmy/CMakeLists.txt index de7ec1fe3..2db462265 100644 --- a/robots/hugmy/CMakeLists.txt +++ b/robots/hugmy/CMakeLists.txt @@ -16,3 +16,12 @@ include_directories( include ${catkin_INCLUDE_DIRS} ) + +add_library(hugmy_navigation src/navigation/hugmy_navigation.cpp) +target_link_libraries(hugmy_navigation ${catkin_LIBRARIES}) + +install(DIRECTORY config launch plugins + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} + USE_SOURCE_PERMISSIONS + ) + diff --git a/robots/hugmy/include/hugmy/navigation/hugmy_navigation.h b/robots/hugmy/include/hugmy/navigation/hugmy_navigation.h new file mode 100644 index 000000000..b1cc0a3c6 --- /dev/null +++ b/robots/hugmy/include/hugmy/navigation/hugmy_navigation.h @@ -0,0 +1,19 @@ +#pragma once + +#include + +namespace aerial_robot_navigation +{ + class HugmyNavigator : public BaseNavigator + { + public: + HugmyNavigator(); + virtual ~HugmyNavigator() = default; + + void initialize(ros::NodeHandle nh, ros::NodeHandle nhp, + boost::shared_ptr robot_model, + boost::shared_ptr estimator, + double loop_du) override; + void update() override; + }; +}; diff --git a/robots/hugmy/package.xml b/robots/hugmy/package.xml index f0a0bbcf6..8ed8ce40b 100644 --- a/robots/hugmy/package.xml +++ b/robots/hugmy/package.xml @@ -20,4 +20,8 @@ aerial_robot_simulation pluginlib + + + + diff --git a/robots/hugmy/plugins/navigation_plugin.xml b/robots/hugmy/plugins/navigation_plugin.xml new file mode 100644 index 000000000..c0d68179a --- /dev/null +++ b/robots/hugmy/plugins/navigation_plugin.xml @@ -0,0 +1,5 @@ + + + hugmy navigation plugin + + diff --git a/robots/hugmy/src/navigation/hugmy_navigation.cpp b/robots/hugmy/src/navigation/hugmy_navigation.cpp new file mode 100644 index 000000000..0a94fb1f7 --- /dev/null +++ b/robots/hugmy/src/navigation/hugmy_navigation.cpp @@ -0,0 +1,27 @@ +#include + +using namespace aerial_robot_navigation; + +HugmyNavigator::HugmyNavigator(): + BaseNavigator() +{ +} + + +void HugmyNavigator::initialize(ros::NodeHandle nh, ros::NodeHandle nhp, + boost::shared_ptr robot_model, + boost::shared_ptr estimator, + double loop_du) +{ + /* initialize the flight control */ + BaseNavigator::initialize(nh, nhp, robot_model, estimator, loop_du); +} + +void HugmyNavigator::update() +{ + BaseNavigator::update(); +} + +/* plugin registration */ +#include +PLUGINLIB_EXPORT_CLASS(aerial_robot_navigation::HugmyNavigator, aerial_robot_navigation::BaseNavigator);