Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
labrobotica
ros
robots
ana
iri_ana_nav_module
Commits
16331cee
Commit
16331cee
authored
Sep 03, 2019
by
abhagwan
Browse files
Redocumented
parent
8282143c
Changes
1
Hide whitespace changes
Inline
Side-by-side
include/iri_ana_nav_module/iri_ana_nav_module_bt.h
View file @
16331cee
...
...
@@ -32,12 +32,56 @@ class CIriAnaNavModuleBT
*/
CIriAnaNavModuleBT
();
/**
* \brief Register all conditions and actions needed for navigation
*
* This function registers all conditions and actions needed for navigation
* to the factory provided including all input and output ports required
* by actions.
*
* \param factory (IriBehaviorTreeFactory)
*
*/
void
init
(
IriBehaviorTreeFactory
&
factory
);
/**
* \brief Stops the current goal synchronously
*
* This is a auxiliary function in order to provide an easy way to stop the
* robot through the client node if needed.
*
* This function stops the motion of the robot, whatever the type of goal
* that has been given. This function signals the stop to the navigation
* module, but the is_finished_bool() function must be used to know when the
* navigation is actually stopped as it is a synchronous action.
*
*/
void
stop
();
/**
* \brief Checks if the last goal has finished or not
*
* This is a auxiliary function in order to provide an easy way to check if
* the robot has finished its motion through the client node if needed.
*
* This function must be used to know when the last navigation goal has
* ended in the case of synchronous actions, either successfully or by any
* error. In the case of asynchronous actions it is already called by
* these.
*
* \return a bool indicating whether the last navigation goal has ended
* (True) or not (False), regardless of its success or not.
*
*/
bool
is_finished_bool
();
/**
* \brief Sets goal sent variables to false
*
* This is a auxiliary function in order to provide an easy way to reset
* the values of goal sent variables through the client node if needed.
*
* It will be needed in case of restart of the same tree or if a new tree
* is created.
*
*/
void
init_goal_variables
();
/**
...
...
@@ -69,6 +113,7 @@ class CIriAnaNavModuleBT
*
* \return a BT:NodeStatus indicating whether the request has been
* successfull (BT:NodeStatus::SUCCESS) or not (BT:NodeStatus::FAILURE).
* If inputs are missing or incorrect it also returns BT:NodeStatus::FAILURE.
*
*/
BT
::
NodeStatus
sync_go_to_orientation
(
BT
::
TreeNode
&
self
);
...
...
@@ -94,6 +139,7 @@ class CIriAnaNavModuleBT
*
* \return a BT:NodeStatus indicating whether the request has been
* successfull (BT:NodeStatus::SUCCESS) or not (BT:NodeStatus::FAILURE).
* If inputs are missing or incorrect it also returns BT:NodeStatus::FAILURE.
*
*/
BT
::
NodeStatus
sync_go_to_position
(
BT
::
TreeNode
&
self
);
...
...
@@ -123,6 +169,7 @@ class CIriAnaNavModuleBT
*
* \return a BT:NodeStatus indicating whether the request has been
* successfull (BT:NodeStatus::SUCCESS) or not (BT:NodeStatus::FAILURE).
* If inputs are missing or incorrect it also returns BT:NodeStatus::FAILURE.
*
*/
BT
::
NodeStatus
sync_go_to_pose
(
BT
::
TreeNode
&
self
);
...
...
@@ -146,7 +193,8 @@ class CIriAnaNavModuleBT
* \return a BT:NodeStatus indicating whether the request has been
* successfull and the action has finished (BT:NodeStatus::SUCCESS) or the
* request has been unsuccessfull (BT:NodeStatus::FAILURE) or it is still
* in progress (BT:NodeStatus::RUNNING).
* in progress (BT:NodeStatus::RUNNING). If inputs are missing or incorrect
* it also returns BT:NodeStatus::FAILURE.
*
*/
BT
::
NodeStatus
async_go_to_orientation
(
BT
::
TreeNode
&
self
);
...
...
@@ -173,7 +221,8 @@ class CIriAnaNavModuleBT
* \return a BT:NodeStatus indicating whether the request has been
* successfull and the action has finished (BT:NodeStatus::SUCCESS) or the
* request has been unsuccessfull (BT:NodeStatus::FAILURE) or it is still
* in progress (BT:NodeStatus::RUNNING).
* in progress (BT:NodeStatus::RUNNING). If inputs are missing or incorrect
* it also returns BT:NodeStatus::FAILURE.
*
*/
BT
::
NodeStatus
async_go_to_position
(
BT
::
TreeNode
&
self
);
...
...
@@ -211,16 +260,17 @@ class CIriAnaNavModuleBT
* \return a BT:NodeStatus indicating whether the request has been
* successfull and the action has finished (BT:NodeStatus::SUCCESS) or the
* request has been unsuccessfull (BT:NodeStatus::FAILURE) or it is still
* in progress (BT:NodeStatus::RUNNING).
* in progress (BT:NodeStatus::RUNNING). If inputs are missing or incorrect
* it also returns BT:NodeStatus::FAILURE.
*
*/
BT
::
NodeStatus
async_go_to_pose
(
BT
::
TreeNode
&
self
);
// Stop function
s
// Stop function
/**
* \brief Stops the current goal synchronously
*
* This function
s
stops the motion of the robot, whatever the type of goal
* that has been given. This function
s
signals the stop to the navigation
* This function stops the motion of the robot, whatever the type of goal
* that has been given. This function signals the stop to the navigation
* module, but the is_finished() function must be used to know when the
* navigation is actually stopped as it is a synchronous action.
*
...
...
@@ -406,7 +456,7 @@ class CIriAnaNavModuleBT
/**
* \brief Set the goal reference frame
*
* This function
s
sets the reference with used for all the position,
* This function sets the reference with used for all the position,
* orientation and pose goals.
*
* \param self node with the required input defined as follows:
...
...
@@ -420,18 +470,18 @@ class CIriAnaNavModuleBT
*/
BT
::
NodeStatus
set_goal_frame
(
BT
::
TreeNode
&
self
);
/**
* \brief Get current pose (x,y,
theta
)
* \brief Get current pose (x,y,
yaw
)
*
* This function calls get_current_pose of iri_ana_nav_module and converts
* from geometry_msgs::PoseStamped to
a structure defined as Pose
.
* from geometry_msgs::PoseStamped to
3 outputs (x,y,yaw)
.
*
* \param self node with the required output defined as follows:
*
* x (double): current X positon with respect to the /map frame.
*
current_
x (double): current X positon with respect to the /map frame.
*
* y (double): current Y positon with respect to the /map frame.
*
current_
y (double): current Y positon with respect to the /map frame.
*
* yaw (double): current orientation with respect the /map frame.
*
current_
yaw (double): current orientation with respect the /map frame.
*
* \return a BT:NodeStatus::SUCCESS always.
*
...
...
@@ -451,7 +501,7 @@ class CIriAnaNavModuleBT
/**
* \brief Clears the costmaps
*
* This function
s
can be used to clear the navigation costmaps at any time.
* This function can be used to clear the navigation costmaps at any time.
* On success, this function will remove any ghost obstacles that remained
* from previous detections. Calling this function when the auto-clearing
* feature is enabled will have no effect.
...
...
@@ -466,7 +516,7 @@ class CIriAnaNavModuleBT
/**
* \brief Enable the autoclear of the costmaps
*
* This function
s
enables a periodic clearing of the navigation costmaps at a
* This function enables a periodic clearing of the navigation costmaps at a
* desired rate, which in general should be lower than 1 Hz. When this feature
* is enabled, it will be no longer possible to clear the costmaps manually
* with the costmaps_clear() function.
...
...
@@ -487,14 +537,14 @@ class CIriAnaNavModuleBT
* After disabling this feature, the costmaps_clear() function may be used
* to do so.
*
* \return a BT:NodeStatus::SUCCESS
always
* \return a BT:NodeStatus::SUCCESS
if input is valid.
*
*/
BT
::
NodeStatus
costmaps_disable_auto_clear
();
/**
* \brief Checks the status of the autoclear feature
*
* This function
s
checks whether the costmaps autoclear feature is enabled
* This function checks whether the costmaps autoclear feature is enabled
* or not.
*
* \return a BT:NodeStatus indicating whether the costmaps autoclear feature
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment