-
Notifications
You must be signed in to change notification settings - Fork 127
path control
This is the controller of the whole process and the interface to the user. The user should communicate only with path_control and not send any messages directly to path_planner or path_follower.
To make the robot drive to some goal point, you have to send this goal via the ROS action interface to the path_follower_node
.
- Make sure, all necessary nodes are running (see Quick Start Guide).
- Connect to the "navigate_to_goal" action server (see ROS wiki for more information on the actionlib)
- Send the goal pose to the action server.
Everything else is handled automatically by the path_control_node
, that is the goal is forwarded to the path planner and the resulting plan is send to the follower. During the whole process, feedback messages are sent back via the action interface, informing about the current status and things like observed obstacles.
Name | Type | Default | Description |
---|---|---|---|
~num_replan_attempts | int | 5 | Max. number of replaning attempts, when FAILURE_MODE_REPLAN is used (otherwise this parameter is meaningless). |
Sets up action server "navigate_to_goal" to receive goals from high level nodes and sends actions to the servers "plan_path" (path planner) and "follow_path" (path follower).
Send a action to this server to make the robot drive to the desired pose.
- goal_pose: The desired goal pose.
- velocity: The desired velocity. The actual velocity may be different, depending on settings of the path follower, e.g. min/max velocity.
-
failure_mode: Defines the behaviour of the controller, if some thing fails during path following (e.g. due to obstacle on path). One of
FAILURE_MODE_ABORT
orFAILURE_MODE_REPLAN
- FAILURE_MODE_ABORT: Abort if path execution fails
- FAILURE_MODE_REPLAN: Plan a new path and try again. Maximum number of replan attempts is defned by the parameter
~num_replan_attempts
.
-
status: One of the following:
- STATUS_MOVING: Everything is ok, the robot is moving.
- STATUS_OBSTACLE: There is an obstacle in front of the robot.
- STATUS_PATH_READY: This is sent once, when the path planning has finished successfully.
- STATUS_REPLAN: Sent, if a replan attempt is started.
- STATUS_REPLAN_FAILED: Sent, if the maximum number of replan attempts is reached, without success.
- obstacles_on_path: List of all obstacles, that are currently observed on the path by the path lookout supervisor.
-
reached_goal:
true
if the goal was reached,false
if not. -
status: One of the following:
- STATUS_SUCCESS: Everything is ok, the goal was reached successfully.
- STATUS_ABORTED: Path execution was aborted by the user.
- STATUS_OBSTACLE: Path execution was aborted due to an obstacle on the path.
- STATUS_TIMEOUT: Path execution was aborted because some time out expired.
- STATUS_LOST_PATH: Path execution was aborted because the robot lost the path.
- STATUS_NO_PATH_FOUND: The planner was not able to find a valid path from the robot to the desired goal pose.
- STATUS_OTHER_ERROR: Some other error.
Name | Type | Description |
---|---|---|
/speech | std_msgs::String | Status messages for speech synthesiser. |