MIT License

项目介绍

yousefh112/autonomous_mobile_robot_ROS_noetic 是一个托管在 GitHub 上的开源项目,主要使用 Makefile 编写,采用 MIT License 许可证,目前获得 13 个 Star、2 次 Fork。

仓库全名
yousefh112/autonomous_mobile_robot_ROS_noetic
开源许可证
MIT License
Star 数
13
Fork 数
2

README 摘要

Autonomous Mobile Robot Navigation Repository Welcome to the Autonomous Mobile Robot Navigation repository! This repository contains the code and resources necessary to enable autonomous navigation for a mobile robot using ROS (Robot Operating System). With this setup, you can give the robot a goal, and it will autonomously navigate to that goal while avoiding obstacles in its path. Contents: 1. Robot Description…

完整内容见 GitHub 原始 README 或本页 。

常见问题

autonomous_mobile_robot_ROS_noetic 用什么语言开发?

主要使用 Makefile 编写,采用 MIT License 许可证,目前有 13 个 Star。

autonomous_mobile_robot_ROS_noetic 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 autonomous_mobile_robot_ROS_noetic 的源码?

可以直接克隆仓库:git clone https://github.com/yousefh112/autonomous_mobile_robot_ROS_noetic.git,默认分支为 master;安装与运行步骤见仓库 README。

autonomous_mobile_robot_ROS_noetic 最近还在维护吗?

仓库最近一次更新为 7月5日,当前没有未关闭的 Issue;Star 数为 13,可作为社区活跃度的参考。

关于

Autonomous mobile robot navigation in ROS Noetic, combining A* path planning, AMCL localization, and GMapping SLAM, validated in Gazebo.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
18
价值分
8
活跃状态
活跃

README

Autonomous Mobile Robot Navigation Repository

Welcome to the Autonomous Mobile Robot Navigation repository! This repository contains the code and resources necessary to enable autonomous navigation for a mobile robot using ROS (Robot Operating System). With this setup, you can give the robot a goal, and it will autonomously navigate to that goal while avoiding obstacles in its path.

Contents:

  1. Robot Description Package:
  • This package contains the URDF (Unified Robot Description Format) file describing the robot’s physical structure.
  • Gazebo plugins necessary for simulation.
  • Map files used for navigation.
  1. Gazebo Package:
  • Main launch file for starting the Gazebo simulation environment.
  1. Navigation Package:
  • AMCL (Adaptive Monte Carlo Localization) launch file for localization.
  • GMapping launch file for SLAM (Simultaneous Localization and Mapping).
  • Move Base launch file for setting up the navigation stack.
  • Path planning using A* algorithm for generating optimal paths.
  • Map files required for navigation.
  • Configuration files and parameters for fine-tuning navigation behavior.

Usage:

  1. Clone the Repository:
git clone https://github.com/yousefh112/autonomous_mobile_robot_ROS_noetic.git
  1. Build the Workspace:
cd autonomous_mobile_robot_ROS_noetic
catkin_make
  1. Launch the Gazebo Simulation:
roslaunch gazebo_pkg launch.launch
  1. Launch Navigation Stack:
  • For AMCL localization:
roslaunch navigation_pkg amcl.launch
  • For GMapping SLAM:
roslaunch navigation_pkg gmapping.launch
  1. Send Navigation Goal: Use RViz or any other ROS-compatible tool to send navigation goals to the robot. The robot will autonomously navigate to the specified goal while avoiding obstacles.

Configuration:

  • Adjust parameters in the provided configuration files to fine-tune navigation behavior, such as obstacle avoidance sensitivity, robot velocity, and map resolution.

Path Planning Algorithm:

The path planning module in this repository utilizes the A* algorithm for generating optimal paths from the robot’s current position to the specified goal location. This algorithm efficiently searches the space of possible paths, taking into account both the distance to the goal and the cost of traversing through obstacles.

Localization and Mapping:

  • Localization Algorithm: AMCL (Adaptive Monte Carlo Localization) is used for accurately estimating the robot’s pose (position and orientation) within the map.
  • Mapping Algorithm: GMapping is employed for building a map of the environment by incrementally updating the robot’s pose and surroundings based on sensor data.

The Robot Design:

alt text

The Frame Tree:

alt text

Video Of the full Project:

https://www.youtube.com/watch?v=x-95AC7PFDQ

Issues and Contributions:

If you encounter any issues or have suggestions for improvements, please feel free to open an issue or create a pull request on GitHub. Your contributions are highly appreciated and will help improve the functionality and usability of this autonomous mobile robot navigation system.

评论

暂无评论