Skip to content
Snippets Groups Projects
Commit 3525e0ce authored by Steven Macenski's avatar Steven Macenski
Browse files

remove magic numbers from BT

parent 9ddac997
No related branches found
No related tags found
No related merge requests found
......@@ -28,17 +28,37 @@ namespace nav2_behavior_tree
class BackUpAction : public BtActionNode<nav2_msgs::action::BackUp>
{
public:
explicit BackUpAction(const std::string & action_name)
: BtActionNode<nav2_msgs::action::BackUp>(action_name)
explicit BackUpAction(
const std::string & action_name,
const BT::NodeParameters & params)
: BtActionNode<nav2_msgs::action::BackUp>(action_name, params)
{
}
void on_init() override
{
double dist;
getParam<double>("backup_dist", dist);
double speed;
getParam<double>("backup_speed", speed);
// silently fix, vector direction determined by distance sign
if (speed < 0.0) {
speed *= -1.0;
}
// Populate the input message
goal_.target.x = -0.15;
goal_.target.x = dist;
goal_.target.y = 0.0;
goal_.target.z = 0.0;
goal_.speed = speed;
}
static const BT::NodeParameters & requiredNodeParameters()
{
static BT::NodeParameters params = {
{"backup_dist", "-0.15"}, {"backup_speed", "0.025"}};
return params;
}
};
......
......@@ -31,14 +31,24 @@ namespace nav2_behavior_tree
class SpinAction : public BtActionNode<nav2_msgs::action::Spin>
{
public:
explicit SpinAction(const std::string & action_name)
: BtActionNode<nav2_msgs::action::Spin>(action_name)
explicit SpinAction(
const std::string & action_name,
const BT::NodeParameters & params)
: BtActionNode<nav2_msgs::action::Spin>(action_name, params)
{
}
void on_init() override
{
goal_.target_yaw = M_PI / 2;
double dist;
getParam<double>("spin_dist", dist);
goal_.target_yaw = dist;
}
static const BT::NodeParameters & requiredNodeParameters()
{
static BT::NodeParameters params = {{"spin_dist", "1.59"}};
return params;
}
};
......
......@@ -23,7 +23,7 @@
<SequenceStar name="RecoveryActions">
<ClearEntireCostmap service_name="local_costmap/clear_entirely_local_costmap"/>
<ClearEntireCostmap service_name="global_costmap/clear_entirely_global_costmap"/>
<Spin/>
<Spin spin_dist="1.59"/>
<Wait wait_duration="5"/>
</SequenceStar>
</RecoveryNode>
......
#goal definition
geometry_msgs/Point target
float32 speed
---
#result definition
std_msgs/Empty result
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment