Contents Menu Expand Light mode Dark mode Auto light/dark mode
This is the documentation of ROS 2 PAL OS edge. For ROS 1, please visit the PAL OS 23.12 documentation.
PAL OS 25.01 documentation
Logo
PAL OS 25.01 documentation

Capabilities and API

  • 🏁 Getting started
  • 🛠 Robot management
  • 📜 Developing applications
  • ⚙️ Robot hardware
  • 👋 Gestures and motions
  • 🧭 Navigation
    • 🎮 Teleop
    • 🥅 Goal Navigation
    • 🚩 Waypoint Navigation
    • 📍 Localization
    • 🗺️ Mapping
    • 🎯 Target Navigation
    • 🌐 Costmap Filters
    • 🏛️ Environmental Annotations
    • 🔋 Docking
    • ⚙️ Nav2 Plugins And Extensions
    • 📔 Navigation Configuration Guide
    • Navigation skills
  • 🦾 Manipulation
  • 👥 Social perception
  • 💬 Communication
  • 😄 Interaction
  • 💡 Knowledge and reasoning
  • 🖥️ User interfaces

Reference

  • PAL OS edge Highlights
  • PAL public skills API
  • PAL OS modules
  • Frequently Asked Questions
  • Glossary
  • Index
  • Index of tutorials
  • 🚧 Demos
  • List of ROS Topics
  • List of ROS Actions
  • List of ROS Services
  • List of ROS Nodes
  • List of ROS messages
  • List of ROS Parameters
Back to top

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¶

Call the skill from the command-line¶
$ 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¶

Call the skill from the command-line¶
$ 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¶

Call the skill from the command-line¶
$ 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);
Copyright © 2024, PAL Robotics
Made with Sphinx and @pradyunsg's Furo
On this page
  • Navigation skills
    • navigate_to_pose
      • Input parameters
      • Output fields
      • Quick snippets
      • How to use in your code
    • navigate_to_waypoint
      • Input parameters
      • Output fields
      • Quick snippets
      • How to use in your code
    • navigate_to_zone
      • Input parameters
      • Output fields
      • Quick snippets
      • How to use in your code
🛠 Getting support