No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Dockerized ROS2 stack for the WATonomous Autonomous Driving Software Pipeline
Checkout URI https://github.com/watonomous/wato_monorepo.git
VCS Type git
VCS Version main
Last Updated 2026-03-01
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

A* freeroam planner on costmap for ackermann vehicles

Maintainers

  • WATonomous

Authors

No additional authors.

Freeroam Planner

ROS2 lifecycle node that generates a trajectory for autonomous free-roaming navigation using a costmap and a goal point, tracked by a pure pursuit controller.

Overview

The freeroam planner receives a costmap and a goal point, computes a drivable trajectory, and publishes it for the pure pursuit controller to track. It is managed by the WATonomous lifecycle manager alongside the pure pursuit node.

Current Status: Functional freeroam trajectory generation. Integrates with world modeling for costmap input and the ackermann pure pursuit controller for path tracking.

ROS Interface

Subscribed Topics

Topic Remapped From Type Description
costmap /world_modeling/costmap nav_msgs/OccupancyGrid Occupancy grid for obstacle-aware planning
goal_point /goal_point_stamped geometry_msgs/PointStamped Target goal point for the planner

Published Topics

Topic Remapped To Type Description
trajectory /action/freeroam_planner/trajectory nav_msgs/Path Planned trajectory for the pure pursuit controller

Algorithm Details

The planner runs A* on the occupancy grid to find the shortest collision-free path from the vehicle’s current position to the goal. Grid cells with a cost value at or above obstacle_threshold are treated as impassable. With allow_diagonal enabled, the search expands to 8-connected neighbours; otherwise only 4-connected (up, down, left, right).

Costmap Inflation

Before planning, the costmap is pre-processed to inflate all obstacle cells by inflation_radius_m_. This creates a safety buffer around obstacles so that the computed path keeps the vehicle body clear of detected hazards.

Replanning

The planner runs at a fixed rate (planning_rate_hz) and replans from the current vehicle pose on every cycle, allowing it to react to new obstacles appearing in the costmap.

Configuration

Parameters are loaded from config/params.yaml under the namespace action/freeroam_planner/freeroam_planner_node/ros__parameters.

Parameter Type Default Description
base_frame string "base_footprint" Robot base frame for planning
max_speed double 5.0 Maximum speed along the trajectory (m/s)
goal_tolerance double 1.0 Distance threshold to consider the goal reached (m)
obstacle_threshold int 50 Minimum occupancy grid cost value considered an obstacle
inflation_radius_m_ double 1.6 Radius around obstacles to inflate as impassable (m)
allow_diagonal bool true Allow diagonal moves during path search
planning_rate_hz double 2.0 Frequency at which the planner replans (Hz)

Dependencies

  • ROS 2 (tested on Humble)
  • nav_msgs, geometry_msgs (standard message types)
  • wato_trajectory_msgs (custom trajectory message)

License

Copyright (c) 2025-present WATonomous. All rights reserved. Licensed under the Apache License, Version 2.0.

CHANGELOG
No CHANGELOG found.

Dependant Packages

Name Deps
action_bringup

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged freeroam_planner at Robotics Stack Exchange