Navigation skills¶
This page lists system skills (ie, installed by default) related to 🧭 Navigation. You can directly use these skills in your tasks and mission controller.
navigate_to_pose
¶
Interface: /skill/navigate_to_pose
Message type: navigation_skills/action/NavigateToPose
Make the robot autonomously navigate toward the desired pose.
See 🥅 Goal Navigation for details.
Input parameters¶
pose
geometry_msgs/PoseStamped
, requiredThe coordinates of the pose that the robot must reach.
behavior_tree
string
The name or the full path to an XML file with a behavior tree defining the logic that the robot must use while autonomously navigate towards its goal.
meta.priority
integer
, default:128
Between 0 and 255. Higher value means that this skill invokation will have higher priority.
Output fields¶
navigation_result
empty
The result of the navigation action. Information about the navigation execution are available in the action feedback.
Quick snippets¶
$ ros2 action send_goal /skill/navigate_to_pose navigation_skills/action/NavigateToPose # then press Tab to complete the message prototype
How to use in your code¶
See code samples for the corresponding /skill/navigate_to_pose: code samples
See code samples for the corresponding /skill/navigate_to_pose: code samples
To be added soon
You can call this skill from QML using the following code snippet. See Building a touchscreen interface via ROS and QML to learn more.
import Ros 2.0
// ...
NavigateToPoseSkill {
id: mySkill
onResult: {
console.log("Skill result: " + result);
}
onFeedback: {
console.log("Skill feedback: " + feedback);
}
}
// Call the skill
mySkill.navigate_to_pose(pose);
navigate_to_waypoint
¶
Interface: /skill/navigate_to_waypoint
Message type: navigation_skills/action/NavigateToWaypoint
Make the robot autonomously navigate toward the desired waypoint.
See 🚩 Waypoint Navigation for details.
Input parameters¶
waypoint_name
string
, requiredThe name of the Waypoint that the robot must reach.
meta.priority
integer
, default:128
Between 0 and 255. Higher value means that this skill invokation will have higher priority.
Output fields¶
navigation_result
empty
The result of the navigation action. Information about the navigation execution are available in the action feedback.
Quick snippets¶
$ ros2 action send_goal /skill/navigate_to_waypoint navigation_skills/action/NavigateToWaypoint # then press Tab to complete the message prototype
How to use in your code¶
See code samples for the corresponding /skill/navigate_to_waypoint: code samples
See code samples for the corresponding /skill/navigate_to_waypoint: code samples
To be added soon
You can call this skill from QML using the following code snippet. See Building a touchscreen interface via ROS and QML to learn more.
import Ros 2.0
// ...
NavigateToWaypointSkill {
id: mySkill
onResult: {
console.log("Skill result: " + result);
}
onFeedback: {
console.log("Skill feedback: " + feedback);
}
}
// Call the skill
mySkill.navigate_to_waypoint(waypoint_name);
navigate_to_zone
¶
Interface: /skill/navigate_to_zone
Message type: navigation_skills/action/NavigateToZone
Make the robot autonomously navigate toward the desired zone.
See 🏛️ Environmental Annotations for details.
Input parameters¶
zone_name
string
, requiredThe name of the Zone that the robot must reach.
succeed_on_zone_entry
boolean
Whether the navigation action should be considered successful when the robot enters the zone or when it reaches a specific pose.
meta.priority
integer
, default:128
Between 0 and 255. Higher value means that this skill invokation will have higher priority.
Output fields¶
navigation_result
empty
The result of the navigation action. Information about the navigation execution are available in the action feedback.
Quick snippets¶
$ ros2 action send_goal /skill/navigate_to_zone navigation_skills/action/NavigateToZone # then press Tab to complete the message prototype
How to use in your code¶
See code samples for the corresponding /skill/navigate_to_zone: code samples
See code samples for the corresponding /skill/navigate_to_zone: code samples
To be added soon
You can call this skill from QML using the following code snippet. See Building a touchscreen interface via ROS and QML to learn more.
import Ros 2.0
// ...
NavigateToZoneSkill {
id: mySkill
onResult: {
console.log("Skill result: " + result);
}
onFeedback: {
console.log("Skill feedback: " + feedback);
}
}
// Call the skill
mySkill.navigate_to_zone(zone_name);