fix: align navigation contract and readiness handling
This commit is contained in:
@@ -10,6 +10,7 @@ rosidl_generate_interfaces(${PROJECT_NAME}
|
||||
"msg/ObjectTarget.msg"
|
||||
"msg/RegionTarget.msg"
|
||||
"msg/ExecutionResult.msg"
|
||||
"msg/NavigationResult.msg"
|
||||
"msg/ObservationContext.msg"
|
||||
"msg/RobotState.msg"
|
||||
"msg/SafetyState.msg"
|
||||
|
||||
@@ -1,33 +1,30 @@
|
||||
# Preserved outer interface from BT DR pp13-14. Canonical ROS2 type: Navigate.
|
||||
# Navigation contract: trace and stop evidence retained across all attempts.
|
||||
# Enum values are explicit; both peers must build this same interface package.
|
||||
bt_skill_interfaces/TaskTrace trace
|
||||
geometry_msgs/PoseStamped target_pose
|
||||
float64 position_tolerance
|
||||
float64 orientation_tolerance
|
||||
float64 yaw_tolerance
|
||||
builtin_interfaces/Duration timeout
|
||||
---
|
||||
bt_skill_interfaces/ExecutionResult result
|
||||
bool pose_valid
|
||||
bt_skill_interfaces/NavigationResult result
|
||||
bool final_pose_valid
|
||||
geometry_msgs/PoseStamped final_pose
|
||||
bool errors_valid
|
||||
float64 final_position_error
|
||||
float64 final_orientation_error
|
||||
float64 final_yaw_error
|
||||
---
|
||||
uint8 CHECKING=0
|
||||
uint8 PLANNING=1
|
||||
uint8 ACCEPTED=0
|
||||
uint8 CHECKING=1
|
||||
uint8 NAVIGATING=2
|
||||
uint8 WAITING_OBSTACLE=3
|
||||
uint8 RECOVERING=4
|
||||
uint8 ARRIVING=5
|
||||
uint8 STOPPING=6
|
||||
uint8 BLOCKED=3
|
||||
uint8 STOPPING=4
|
||||
builtin_interfaces/Time stamp
|
||||
uint32 sequence
|
||||
uint8 phase
|
||||
bool pose_valid
|
||||
bool current_pose_valid
|
||||
geometry_msgs/PoseStamped current_pose
|
||||
bool errors_valid
|
||||
bool error_valid
|
||||
float64 position_error
|
||||
float64 orientation_error
|
||||
bool blocked_valid
|
||||
float64 yaw_error
|
||||
bool blocked
|
||||
builtin_interfaces/Duration elapsed_time
|
||||
string message
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Navigation-specific outcomes; do not decode with ExecutionResult enum values.
|
||||
uint8 SUCCEEDED=0
|
||||
uint8 CANCELED=1
|
||||
uint8 TIMEOUT=2
|
||||
uint8 BLOCKED=3
|
||||
uint8 NOT_READY=4
|
||||
uint8 FAILED=5
|
||||
uint8 UNKNOWN=0
|
||||
uint8 CONFIRMED=1
|
||||
uint8 status
|
||||
string error_code
|
||||
string message
|
||||
uint8 stop_state
|
||||
builtin_interfaces/Time stopped_at
|
||||
string stop_evidence_ref
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<package format="3">
|
||||
<name>bt_skill_interfaces</name>
|
||||
<version>1.2.0</version>
|
||||
<description>Candidate v1 robot behavior-tree skill and evidence contracts.</description>
|
||||
<version>2.0.0</version>
|
||||
<description>Robot skill contracts with navigation-specific outcomes and stop evidence.</description>
|
||||
<maintainer email="feiyuwang1998@gmail.com">wangfeiyu</maintainer>
|
||||
<license>Proprietary</license>
|
||||
<buildtool_depend>ament_cmake</buildtool_depend>
|
||||
|
||||
Reference in New Issue
Block a user