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

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro github showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.
No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
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 (-)

README

Header

Authored by: Sharwin Patil (LinkedIn) (Website)


Build and Test Repository Packages


Table Of Contents

Package Overview

The potential_fields repository provides an implementation of artifical potential field methods for path planning and shared control of robotic manipulators. The package is designed to be modular and extensible, allowing users to easily integrate it with different robot platforms and kinematics solvers. This package was developed with ROS 2 Jazzy in mind, but the core C++ library is ROS-agnostic and can be used independently. I plan to extend support to future ROS distributions as they are released.

This package is split into two parts:

  1. Core C++ libraries (ROS-agnostic)
  2. ROS integration (3 ROS packages for core node, msg/srv definitions, and demos)
Repository Folder Structure ```bash # Core C++ potential field library (ROS-agnostic) potential_fields_library ├── cmake ├── include │ ├── pfield │ └── solvers └── src ├── pfield └── solvers # ROS 2 package integrating the core library with ROS interfaces potential_fields ├── config # Config files (ROS Parameters, RViz config) ├── include │ └── potential_fields │ ├── robot_plugins # Headers for custom robot plugins and IK Solvers │ └── ros # ROS node headers ├── launch ├── src │ ├── robot_plugins │ └── ros └── test └── resources # ROS 2 message and service definitions potential_fields_interfaces ├── include │ └── potential_fields_interfaces ├── msg ├── src └── srv # Example ROS 2 Package demonstrating potential_fields usage potential_fields_demos ├── config ├── include │ └── potential_fields_demos ├── launch ├── meshes ├── potential_fields_demos ├── src └── urdf ```

Getting Started

Clone the repository with either HTTPS or SSH (depending on what you have setup for git):

```bash

HTTPS Clone

git clone https://github.com/argallab/potential_fields.git

SSH Clone

git clone git@github.com:argallab/potential_fields.git

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thank you for your interest in contributing!

Pull Request Requirements

When submitting a pull request, please include:

  1. Summary of Changes
    • Clear description of what was modified and why
  2. Testing Artifacts
    • CSV files from test runs
    • Generated plots and visualizations
    • Screen captures from RViz demonstrating the changes
  3. Affected Components
    • Overview of which functions and classes were modified
    • List any new functions or classes introduced

Please ensure your changes are well-tested and documented before submitting.

# Contributing Thank you for your interest in contributing! ## Pull Request Requirements When submitting a pull request, please include: 1. **Summary of Changes** - Clear description of what was modified and why 2. **Testing Artifacts** - CSV files from test runs - Generated plots and visualizations - Screen captures from RViz demonstrating the changes 3. **Affected Components** - Overview of which functions and classes were modified - List any new functions or classes introduced Please ensure your changes are well-tested and documented before submitting.