|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]
Messages
Services
Plugins
Recent questions tagged potential_fields_demos at Robotics Stack Exchange
|
potential_fields_demos package from potential_fields repopotential_fields potential_fields_demos potential_fields_interfaces potential_fields_library |
ROS Distro
|
Package Summary
| Version | 1.0.2 |
| License | Apache 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/argallab/potential_fields.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-05 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Sharwin Patil
Authors
potential_fields_demos
Example ROS 2 package demonstrating how to use the potential_fields package. Provides a launch file, demo nodes, bundled URDFs, and a configuration file to get started quickly without any hardware.
Package Contents
potential_fields_demos/
├── launch/
│ └── pf_demo.launch.xml # Primary entry-point launch file
├── src/
│ ├── pfield_demo.cpp # Demo node: publishes obstacles, calls plan_path service
│ └── pfield_teleop_demo.cpp # Teleop variant for interactive testing
├── urdf/
│ ├── xarm7.urdf # UFactory XArm7 (primary reference robot)
│ ├── fer_franka_hand.urdf # Franka Emika FER with hand
│ └── sphere_robot.urdf # Minimal sphere robot for unit testing
└── config/
└── demo.yaml # ROS parameters for the demo node
Quick Start
Build the workspace and source it, then launch the demo:
colcon build && source install/setup.bash
# Minimal demo (no robot URDF, no hardware)
ros2 launch potential_fields_demos pf_demo.launch.xml
# XArm7 demo (no hardware required)
ros2 launch potential_fields_demos pf_demo.launch.xml \
urdf_file_path:=xarm7.urdf \
motion_plugin_type:=xarm \
end_effector_frame:=link_eef # TF frame of the end-effector link
Once running, trigger the plan path demo via service call:
ros2 service call /pfield_demo/run_plan_path_demo std_srvs/srv/Empty
Launch Arguments
| Argument | Default | Description |
|---|---|---|
urdf_file_path |
"" |
URDF filename relative to urdf/ (e.g. xarm7.urdf) |
motion_plugin_type |
"" |
Robot plugin to load: xarm, franka, or empty for null
|
end_effector_frame |
link_eef |
Name of the end-effector link |
use_rviz |
true |
Launch RViz alongside the demo |
rviz_fixed_frame |
world |
RViz fixed frame |
base_frame |
base |
Robot base link (child of fixed frame TF) |
base_x/y/z |
0.0 |
Translation of base frame relative to fixed frame |
base_roll/pitch/yaw |
0.0 |
Rotation of base frame relative to fixed frame |
Demo Nodes
pfield_demo_node
The primary demo node (pfield_demo.cpp). On startup it:
- Publishes a set of static obstacles to
pfield/obstacles. - Waits for the
pfield/plan_pathservice to become available. - Exposes
/pfield_demo/run_plan_path_demo(std_srvs/Empty) — call this service to trigger a planning request from the current robot pose to a pre-configured goal.
Parameters
| Parameter | Default | Description |
|---|---|---|
fixed_frame |
world |
World frame used for obstacle and goal poses |
ee_link_name |
link_tcp |
End-effector link name passed to the planner |
pfield_teleop_demo_node
Interactive variant (pfield_teleop_demo.cpp) for testing the autonomy vector in a shared-control loop. Calls pfield/compute_autonomy_vector at a configurable rate and forwards the result as a velocity command.
Adding Your Own Robot
- Place your robot’s URDF in the
urdf/directory. - Launch with
urdf_file_path:=<your_robot>.urdfand the appropriatemotion_plugin_typeandend_effector_frame. - If your robot requires a custom plugin, see the top-level README for instructions on implementing
MotionPluginandIKSolver.
Integrating into Your Own Package
To reuse the core potential field launch without the demo node, include pfield.launch.xml from the potential_fields package directly:
<include file="$(find-pkg-share potential_fields)/launch/pfield.launch.xml">
<arg name="urdf_file_path" value="$(find-pkg-share my_robot_description)/urdf/my_robot.urdf"/>
<arg name="motion_plugin_type" value="my_robot"/>
<arg name="end_effector_frame" value="my_end_effector_frame"/>
</include>
Copyright Notice Sharwin Patil 2025
Changelog for package potential_fields_demos
1.0.2 (2026-04-04)
- New READMEs for demos and interfaces
- Delete turtlebot urdf
- Estimate Robot Geometry using Ellipsoids and Control Points for smooth WBV Repulsion (#42) Co-authored-by: Claude Sonnet 4.6 <<noreply@anthropic.com>>
- Latest Demo
- Fixed CSV bugs and tested demo1 and demo2, TS planning has problems
- 1.0.1
- Rename Packages (#35)
- Contributors: Sharwin Patil, Sharwin24
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/pf_demo.launch.xml
-
- use_rviz [default: true]
- rviz_fixed_frame [default: world]
- end_effector_frame [default: link_eef]
- urdf_file_path [default: ]
- motion_plugin_type [default: ]
- base_frame [default: base]
- base_x [default: 0.0]
- base_y [default: 0.0]
- base_z [default: 0.0]
- base_roll [default: 0.0]
- base_pitch [default: 0.0]
- base_yaw [default: 0.0]