LocalGuidance
A library that generates velocity references to follow a path.
local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait Class Reference

#include <LocoCtrlInfoFreeGait.hpp>

Inheritance diagram for local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait:
Inheritance graph

Public Types

using LocoCtrlInfoFreeGaitPtr = std::unique_ptr< LocoCtrlInfoFreeGait >
 
- Public Types inherited from local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface
using LocomotionController = navigation_common::LocomotionControllerLocalGuidance
 
using LocoCtrlInfoInterfacePtr = std::unique_ptr< LocoCtrlInfoInterface >
 

Public Member Functions

 ~LocoCtrlInfoFreeGait () override=default
 
bool stop () override
 
bool activateMode () override
 
bool hasMode () const override
 
bool activateSubMode () override
 
bool hasSubMode () const override
 
bool requiresToTakeOverTwist () const override
 
- Public Member Functions inherited from local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface
 LocoCtrlInfoInterface (ros::NodeHandle &nodeHandle, const LocomotionController &locomotionController)
 
virtual ~LocoCtrlInfoInterface ()=default
 
void getLocomotionController (LocomotionController *locomotionController) const
 
LocomotionController getLocomotionController () const
 
std::string getLocomotionControllerName () const
 
bool activateModeIfPresent ()
 
bool activateSubModeIfPresent ()
 

Static Public Member Functions

static LocoCtrlInfoFreeGaitPtr create (ros::NodeHandle &nodeHandle, const LocomotionController &locomotionController)
 

Private Types

using ExecuteActionActionClient = actionlib::SimpleActionClient< free_gait_msgs::ExecuteActionAction >
 
using ExecuteActionActionClientPtr = std::shared_ptr< ExecuteActionActionClient >
 

Private Member Functions

 LocoCtrlInfoFreeGait (ros::NodeHandle &nodeHandle, const LocomotionController &locomotionController)
 
bool init ()
 

Private Attributes

ExecuteActionActionClientPtr executeActionActionClient_
 Action client to execute a blocking (until it is completed) free gait action. More...
 
std::string executeActionTopicName_
 Holds the topic name of the action topic to execute a free gait action. More...
 

Additional Inherited Members

- Protected Attributes inherited from local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface
ros::NodeHandle & nodeHandle_
 Ros node handle. More...
 
const LocomotionController locomotionController_
 Locomotion controller info. More...
 

Member Typedef Documentation

Constructor & Destructor Documentation

local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::~LocoCtrlInfoFreeGait ( )
overridedefault

Destructor.

local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::LocoCtrlInfoFreeGait ( ros::NodeHandle &  nodeHandle,
const LocomotionController locomotionController 
)
explicitprivate

Clients can't invoke the constructor directly: use function create() instead

Parameters
[in]nodeHandleROS node handle.
[in]locomotionControllerlocomotion controller information.

Member Function Documentation

bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::activateMode ( )
overridevirtual

Activates the mode of the locomotion controller.

Returns
true in case of success.

Implements local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface.

bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::activateSubMode ( )
overridevirtual

Activates the sub-mode of the locomotion controller.

Returns
true in case of success.

Implements local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface.

static LocoCtrlInfoFreeGaitPtr local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::create ( ros::NodeHandle &  nodeHandle,
const LocomotionController locomotionController 
)
static

Factory function to be used to create and initialize an object of type LocoCtrlInfoFreeGait.

Parameters
[in]nodeHandleROS node handle.
[in]locomotionControllerlocomotion controller information.
Returns
nullptr in case of error, an actual object otherwise.
bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::hasMode ( ) const
overridevirtual

Tells if the locomotion controller has a mode that could be activated by activateMode().

Returns

Implements local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface.

bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::hasSubMode ( ) const
overridevirtual

Tells if the locomotion controller has a sub-mode that could be activated by activateSubMode().

Returns

Implements local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface.

bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::init ( )
private

Initializes the object and reads parameters from yaml file.

Returns
true in case of success.
bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::requiresToTakeOverTwist ( ) const
overridevirtual

Tells if the locomotion controller needs to take over the twist, i.e. it accepts velocity commands.

Returns

Implements local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface.

bool local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::stop ( )
overridevirtual

Stops locomotion controller.

Returns
true in case of success.

Implements local_guidance_loco_ctrl_manager::LocoCtrlInfoInterface.

Member Data Documentation

ExecuteActionActionClientPtr local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::executeActionActionClient_
private

Action client to execute a blocking (until it is completed) free gait action.

std::string local_guidance_loco_ctrl_manager::LocoCtrlInfoFreeGait::executeActionTopicName_
private

Holds the topic name of the action topic to execute a free gait action.


The documentation for this class was generated from the following file: