199 lines
6.5 KiB
XML
199 lines
6.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<root BTCPP_format="4">
|
|
<BehaviorTree ID="track_calib">
|
|
<Sequence>
|
|
<SetBlackboard value="0.265"
|
|
output_key="width"/>
|
|
<Sleep msec="1000"/>
|
|
<ZeroOdom service_name=""/>
|
|
<RotateTowards x="0.4"
|
|
y="0.0"
|
|
max_speed="0.000000"
|
|
min_angle="0.000000"
|
|
action_name=""/>
|
|
<Sequence>
|
|
<Sleep msec="1000"/>
|
|
<MovePointSimple x="0.4"
|
|
y="0"
|
|
theta="0"
|
|
max_speed="0.10000"
|
|
backwards="false"
|
|
action_name=""/>
|
|
<Sleep msec="500"/>
|
|
<RotateSimple angle="0"
|
|
max_speed="0.500000"
|
|
min_angle="700"
|
|
action_name=""/>
|
|
</Sequence>
|
|
<ForceSuccess>
|
|
<DetectStuck timeout="1.000000">
|
|
<MovePointSimple x="-1.0"
|
|
y="0"
|
|
theta="0"
|
|
max_speed="0.070000"
|
|
backwards="true"
|
|
action_name=""/>
|
|
</DetectStuck>
|
|
</ForceSuccess>
|
|
<SetWidth width="{width}"
|
|
count="2"
|
|
new_width="{width}"
|
|
service_name=""/>
|
|
</Sequence>
|
|
</BehaviorTree>
|
|
|
|
<BehaviorTree ID="wheel_ratio_calibration">
|
|
<Sequence>
|
|
<Sleep msec="5000"/>
|
|
<ZeroOdom service_name=""/>
|
|
<Sleep msec="1000"/>
|
|
<Repeat num_cycles="6">
|
|
<Sequence>
|
|
<MovePointSimple x="1.1"
|
|
y="0"
|
|
theta="0"
|
|
max_speed="0.10000"
|
|
backwards="false"
|
|
action_name=""/>
|
|
<Sleep msec="1000"/>
|
|
<RotateSimple angle="180"
|
|
max_speed="0.300000"
|
|
min_angle="10"
|
|
action_name=""/>
|
|
<Sleep msec="500"/>
|
|
<MovePointSimple x="0.35"
|
|
y="0"
|
|
theta="180"
|
|
max_speed="0.100000"
|
|
backwards="false"
|
|
action_name=""/>
|
|
<RotateSimple angle="0"
|
|
max_speed="0.300000"
|
|
min_angle="-10"
|
|
action_name=""/>
|
|
<Sleep msec="500"/>
|
|
<MovePointSimple x="1.1"
|
|
y="0"
|
|
theta="0"
|
|
max_speed="0.10000"
|
|
backwards="false"
|
|
action_name=""/>
|
|
<Sleep msec="500"/>
|
|
<RotateSimple angle="180"
|
|
max_speed="0.300000"
|
|
min_angle="-10"
|
|
action_name=""/>
|
|
<Sleep msec="500"/>
|
|
<MovePointSimple x="0.35"
|
|
y="0"
|
|
theta="180"
|
|
max_speed="0.100000"
|
|
backwards="false"
|
|
action_name=""/>
|
|
<RotateSimple angle="0"
|
|
max_speed="0.300000"
|
|
min_angle="10"
|
|
action_name=""/>
|
|
</Sequence>
|
|
</Repeat>
|
|
<ForceSuccess>
|
|
<DetectStuck timeout="1.000000">
|
|
<MovePointSimple x="-0.2"
|
|
y="0"
|
|
theta="0"
|
|
max_speed="0.05"
|
|
backwards="true"
|
|
action_name=""/>
|
|
</DetectStuck>
|
|
</ForceSuccess>
|
|
<Sleep msec="1000"/>
|
|
<EndCalib service_name=""/>
|
|
</Sequence>
|
|
</BehaviorTree>
|
|
|
|
<BehaviorTree ID="wheel_size">
|
|
<Sequence>
|
|
<Sleep msec="1000"/>
|
|
<ZeroOdom service_name=""/>
|
|
<Sleep msec="1000"/>
|
|
<MovePointSimple x="1.200"
|
|
y="0"
|
|
theta="0"
|
|
max_speed="0.250000"
|
|
backwards="false"
|
|
action_name=""/>
|
|
</Sequence>
|
|
</BehaviorTree>
|
|
|
|
<!-- Description of Node Models (used by Groot) -->
|
|
<TreeNodesModel>
|
|
<Decorator ID="DetectStuck">
|
|
<input_port name="timeout"
|
|
default="1.000000"
|
|
type="double"/>
|
|
</Decorator>
|
|
<Action ID="EndCalib">
|
|
<input_port name="service_name"
|
|
type="std::string">Service name</input_port>
|
|
</Action>
|
|
<Action ID="MovePointSimple">
|
|
<input_port name="x"
|
|
type="double"/>
|
|
<input_port name="y"
|
|
type="double"/>
|
|
<input_port name="theta"
|
|
type="double"/>
|
|
<input_port name="max_speed"
|
|
default="0.000000"
|
|
type="double"/>
|
|
<input_port name="backwards"
|
|
default="false"
|
|
type="bool"/>
|
|
<input_port name="action_name"
|
|
type="std::string">Action server name</input_port>
|
|
</Action>
|
|
<Action ID="RotateSimple">
|
|
<input_port name="angle"
|
|
type="double"/>
|
|
<input_port name="max_speed"
|
|
default="0.000000"
|
|
type="double"/>
|
|
<input_port name="min_angle"
|
|
default="0.000000"
|
|
type="double"/>
|
|
<input_port name="action_name"
|
|
type="std::string">Action server name</input_port>
|
|
</Action>
|
|
<Action ID="RotateTowards">
|
|
<input_port name="x"
|
|
type="double"/>
|
|
<input_port name="y"
|
|
type="double"/>
|
|
<input_port name="max_speed"
|
|
default="0.000000"
|
|
type="double"/>
|
|
<input_port name="min_angle"
|
|
default="0.000000"
|
|
type="double"/>
|
|
<input_port name="action_name"
|
|
type="std::string">Action server name</input_port>
|
|
</Action>
|
|
<Action ID="SetWidth">
|
|
<input_port name="width"
|
|
type="double"/>
|
|
<input_port name="count"
|
|
default="1"
|
|
type="int"/>
|
|
<output_port name="new_width"
|
|
type="double"/>
|
|
<input_port name="service_name"
|
|
type="std::string">Service name</input_port>
|
|
</Action>
|
|
<Action ID="ZeroOdom">
|
|
<input_port name="service_name"
|
|
type="std::string">Service name</input_port>
|
|
</Action>
|
|
</TreeNodesModel>
|
|
|
|
</root>
|