Skip to content

fhayirlioglu/KON414E

Repository files navigation

Husky Project Mapping

This ROS package facilitates mapping, localization, and navigation for a Husky mobile robot within the cpr_orchard_gazebo simulation environment. It leverages RTK-GPS fusion for enhanced localization accuracy and generates 3D Octomaps using rtabmap_ros.

Features

  • Simulation Environment: Uses the CPR Orchard Gazebo world for realistic agricultural robotics simulation.
  • Sensor Configuration:
    • Fuses Wheel Odometry and IMU.
    • Integrates RTK-GPS for global localization.
    • Velodyne VLP-16 3D LiDAR for 3D mapping.
    • SICK LMS1xx 2D LiDAR for obstacle avoidance.
  • Mapping: Uses rtabmap_ros to generate 3D Octomaps.
  • Navigation: move_base integration for autonomous navigation on generated maps.
  • Analysis: Includes tools for analyzing odometry drift and logging navigation metrics (via kon414_metrics).

Prerequisites

  • OS: Ubuntu 20.04 (Focal Fossa)
  • ROS: Noetic Ninjemys
  • Gazebo: Gazebo 11

Required Packages

Ensure the following common Husky and simulator packages are installed:

  • husky_gazebo
  • husky_navigation
  • cpr_orchard_gazebo (Simulation World)
  • robot_localization
  • rtabmap_ros
  • octomap_server

Installation

  1. Clone the repository into your catkin workspace src folder:

    cd ~/ros_ws/src
    git clone <repository_url> husky_project_mapping
  2. Install dependencies: There is a helper script provided to install additional dependencies like twist mux and teleop joys.

    cd ~/ros_ws/src/husky_project_mapping
    chmod +x install_dependencies.sh
    ./install_dependencies.sh

    It is also recommended to run rosdep:

    cd ~/ros_ws
    rosdep install --from-paths src --ignore-src -r -y
  3. Build the workspace:

    cd ~/ros_ws
    catkin_make
    source devel/setup.bash

Usage

1. Mapping Mode

To start the simulation, localization, and mapping processes:

roslaunch husky_project_mapping main.launch

What this does:

  • Launches cpr_orchard_gazebo.
  • Spawns the Husky robot with VLP-16 and RTK-GPS enabled.
  • Starts robot_localization (EKF) to fuse odometry, IMU, and GPS.
  • Starts rtabmap_ros for mapping.
  • Opens RViz with a pre-configured view.

2. Navigation Test

To test autonomous navigation on a pre-recorded Octomap:

roslaunch husky_project_mapping nav_test.launch map_file:=/path/to/your/map.bt

Arguments:

  • map_file: Absolute path to the .bt Octomap file to load (default: ~/ros_ws/maps/octomap_0_1.bt).

3. View Map

To visualize a saved Octomap in RViz without running the full simulation:

roslaunch husky_project_mapping view_map.launch map_file:=/path/to/your/map.bt

Structure

  • launch/: Contains main launch files (main.launch, nav_test.launch).
    • include/: Modular launch files for localization and mapping.
  • config/: YAML configuration files for robot_localization and RViz.
  • scripts/: Python scripts for analysis and testing.

Contact

Maintainer: furkanh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors