Skip to content

socrob/DynamicGoal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DynamicGoal

This repository contains ROS packages for dynamic goal handling, including plugins, utilities, and test cases for robust navigation in robot systems. It is structured into three primary packages: dyn_goal, and two modifications to voxel_grid and costmap_2d packages.

Our approach to dynamic goal handling is inspired by the multimodal navigation method presented in the following paper:

@inproceedings{bettencourt2021multimodal,
  author={Bettencourt, Rui and Lima, Pedro U.},
  booktitle={2021 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC)}, 
  title={Multimodal Navigation for Autonomous Service Robots}, 
  year={2021},
  pages={25-30},
  doi={10.1109/ICARSC52212.2021.9429771}}

The method proposed by Bettencourt and Lima introduces a multimodal navigation system that combines different navigation strategies to achieve robust and efficient navigation in complex environments.

Our implementation incorporates these concepts to create a flexible and robust dynamic goal handling system that can adapt to changing environments and goals.

Dependencies Packages Overview

  1. costmap_2d

This package provides the core components to work with 2D costmaps, which are essential for navigation in ROS-based systems. It includes various plugins, configuration files, and test cases. Key Changes to original costmap_2d:

It does not add costmap information from the sensors if dynamic goal is active around the frame to follow.
  1. voxel_grid

The voxel_grid package provides an efficient 3D voxel representation for obstacle and environment mapping, commonly used in navigation systems. Changes were made to make this code compatible with dyn_goal.

Package description

dyn_goal

This package provides the logic and infrastructure to handle dynamic goals in a robot navigation system. It is split into ROS-dependent and ROS-independent components. Key Directories and Files:

ros/src/dyn_goal_ros/: ROS-dependent scripts, including dyn_goal_node.py and topic_to_tf.py.
msg/: Message definition dyn_goal_msg.msg for sending dynamic goals between nodes.
launch/: Launch files for bringing up the dyn_goal node and other configurations.
scripts/: Executable scripts such as dyn_goal_node and topic_to_tf_node for testing and running the dynamic goal system.

ROS Nodes:

dyn_goal_node: Node that processes dynamic goal information.
teleop_tf_test.py: A utility script to test teleoperation and transformation logic.

Installation

  1. Clone the repository into your ROS workspace:
cd ~/catkin_ws/src
git clone <repository_url>
  1. Build the workspace:
cd ~/catkin_ws
catkin build
  1. Source the workspace:
source devel/setup.bash

Usage

You can launch the dyn_goal node with:

roslaunch dyn_goal dyn_goal.launch

To test the method you can teleoperate the tf by running:

python3 ros/src/dyn_goal_ros/teleop_tf_test.py

Acknowledgements

This repository incorporates code from the ros-planning/navigation repository for the costmap_2d and voxel_grid packages. We acknowledge and appreciate the contributions from the ROS community.

License

This repository is licensed under the MIT License. See the LICENSE file for more details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published