Skip to content

Commit

Permalink
add turtlesim action
Browse files Browse the repository at this point in the history
  • Loading branch information
vmatare committed Apr 17, 2021
1 parent 027bd2f commit 4c86f85
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 3 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ find_package(catkin REQUIRED COMPONENTS
)

set(gologpp_action_pkgs
turtle_actionlib
darknet_action_msgs
naoqi_wrapper_msgs
naoqi_bridge_msgs
Expand Down
1 change: 1 addition & 0 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
<depend>naoqi_wrapper_msgs</depend>
<depend>naoqi_bridge_msgs</depend>
<depend>darknet_action_msgs</depend>
<depend>turtle_actionlib</depend>
<depend>move_base_msgs</depend>
<depend>opencv_apps_action_msgs</depend>

Expand Down
22 changes: 22 additions & 0 deletions src/actions/gologpp_turtle_actionlib.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include "action_manager.h"
#include "exog_manager.h"
#include "ros_backend.h"

#include <execution/controller.h>

#include <turtle_actionlib/ShapeAction.h>


template<>
ActionManager<turtle_actionlib::ShapeAction>::GoalT
ActionManager<turtle_actionlib::ShapeAction>::build_goal(const gpp::Activity &a)
{
turtle_actionlib::ShapeGoal goal;
goal.edges = a.mapped_arg_value("edges").numeric_convert<int>();
goal.radius = a.mapped_arg_value("radius").numeric_convert<float>();
return goal;
}


void RosBackend::define_turtle_actions()
{ create_ActionManager<turtle_actionlib::ShapeAction>("turtle_shape"); }
5 changes: 2 additions & 3 deletions src/ros_backend.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,13 @@ class RosBackend : public gologpp::PlatformBackend
private:
virtual void terminate_() override;

// Implemented in pepper_actions.cpp:
// Fill action_containers_ by calling define_action_client for
// each action that should be made available.
// May have an implementation iff the corresponding package has been found
void define_naoqi_wrapper_actions();
void define_move_base_actions();
void define_darknet_actions();
void define_naoqi_bridge_actions();
void define_opencv_apps_actions();
void define_turtle_actions();

template<class ActionT>
void create_ActionManager(const std::string &name);
Expand Down

0 comments on commit 4c86f85

Please sign in to comment.