Skip to content

MDP-Group-16/mirte_local_planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mirte_local_planner

The local planning algorithm of the Mirte Master robot. Dynamic Window Approach is used to avoid static and dynamic obstacles (DWA) in ROS. The setup involves handling sensor data for obstacle avoidance and publishing velocity commands to control the robot.

Overview

  1. Global Path Publishing: The global path is generated and published by the global path planner.
  2. Local Costmap Updates: LiDAR data is used to update the local costmap for obstacle detection.
  3. Local Planner (DWA): The local planner generates velocity commands to follow the global path while avoiding obstacles.
  4. Robot Motion Execution: The robot executes the velocity commands.
  5. Feedback and Adjustment: Odometry data is used to adjust the path and ensure accurate navigation. (Using SLAM later as improved localization)

Install

To create a new package with the necessary dependencies, use the following commands:

cd ~/catkin_ws/src
catkin_create_pkg mirte_local_planner rospy std_msgs geometry_msgs nav_msgs move_base

Build and Source the Workspace

Navigate to your catkin workspace, build the workspace, and source the setup file:

cd ~/catkin_ws
catkin build
source devel/setup.bash

Usage

Launch

Before launching the local planner, make sure that there is a map and that amcl is launched.

Central Launch Tester

roslaunch mirte_local_planner central_launch_tester.launch

Monitor via RViz

Load a Preconfigured RViz Setup:

rviz -d ~/catkin_ws/src/mirte_local_planner/config/mirte_local_planner.rviz

Topics and Services

Global Path Publishing

Topic: /global_path
Message Type: nav_msgs/Path

  • Description: The global path generated by the global planning algorithm is published to this topic.

Local Costmap Updates

Topic: /scan
Message Type: sensor_msgs/LaserScan

  • Description: LiDAR sensor publishes laser scan data to detect obstacles.

Topic: /odom
Message Type: nav_msgs/Odometry

  • Description: Provides odometry information for the robot's current position and velocity.

Local Planner (DWA)

Topic: /move_base/local_costmap/costmap
Message Type: nav_msgs/OccupancyGrid

  • Description: The local costmap is updated with obstacle information.

Topic: /cmd_vel
Message Type: geometry_msgs/Twist

  • Description: The DWA local planner publishes velocity commands to this topic.

Robot Motion Execution

Topic: /cmd_vel
Message Type: geometry_msgs/Twist

  • Description: The robot's motor controller subscribes to this topic to receive velocity commands.

Feedback and Adjustment

Topic: /odom
Message Type: nav_msgs/Odometry

  • Description: Provides continuous feedback on the robot's position and velocity.

Service: /move_base/clear_costmaps
Service Type: std_srvs/Empty

  • Description: Clears the global and local costmaps to remove stale obstacle information.

Setup and Configuration

Package Creation

Create a new ROS package if not already created:

cd ~/catkin_ws/src
catkin_create_pkg mirte_local_planner rospy std_msgs geometry_msgs nav_msgs sensor_msgs tf

Usage

roslaunch mirte_local_planner central_launch_tester.launch

Releases

No releases published

Packages

No packages published

Languages