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, required- The 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, required- The 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, required- The 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);