Skip to content

Introduction to URDF and Gazebo Harmonic with ROS2 Jazzy

License

Notifications You must be signed in to change notification settings

DWDROME/MOGI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==来源于!!== MOGI-ROS/Week-3-4-Gazebo-basics

学习分支整理日志

分支概述

这是一个用于个人学习的新分支,目的是扩展基本模型并添加更多组件,以适应实际开发需求。


进展日志

  • 2025-01-03
    • 完善了源库中的重要部分,为后续开发打下了基础。
    • 调整了基础模型,提高了其在仿真环境中的稳定性。
  • 2025-01-04
    • Cartographer 部分
      • 集成了 Cartographer 激光雷达 SLAM 功能。
      • 完成 cartographer.launch.py 配置,支持在 Gazebo 中实时生成地图。
      • 添加了 fishbot_2d.lua 配置文件,优化了激光雷达参数。
    • Nav2 部分
      • 增加了 Nav2 功能包,实现路径规划和导航功能。
      • 添加 bme_nav2.launch.py 启动文件,支持加载保存的地图。
      • 配置了 bme_nav2.yaml 参数文件,优化局部和全局规划器。

下一步计划

  1. 扩展模型
    • 为机器人添加更多传感器(如深度摄像头、激光雷达等)。
    • 增加机械臂组件以支持复杂操作。
  2. 完善导航功能
    • 集成目标检测和避障算法,提升导航的智能性。
    • 调整地图更新频率和导航行为,优化性能。
  3. 学习与实践
    • 学习更多 ROS 2 与 Gazebo 的集成技巧。
    • 通过自定义插件,提升 Gazebo 模拟环境的功能。

总结

这个分支已经具备了基本 SLAM 和导航功能,为进一步学习和实验提供了良好的基础。接下来,将继续扩展和完善,以支持更多场景的需求! 🚀

分布树

├── bme_cartographer
│   ├── CMakeLists.txt
│   ├── config
│   │   └── fishbot_2d.lua
│   ├── include
│   ├── launch
│   │   └── cartographer.launch.py
│   ├── LICENSE
│   ├── package.xml
│   ├── rviz
│   │   └── cartographer.rviz
│   └── src
│       └── map
│           ├── bme_map.pgm
│           └── bme_map.yaml
├── bme_gazebo_basics
│   ├── CMakeLists.txt
│   ├── config
│   │   └── ros_gz_bridge.yaml
│   ├── launch
│   │   ├── check_urdf.launch.py
│   │   ├── spawn_robot.launch.py
│   │   └── world.launch.py
│   ├── meshes
│   ├── package.xml
│   ├── rviz
│   │   ├── rviz.rviz
│   │   └── urdf.rviz
│   ├── urdf
│   │   ├── materials.xacro
│   │   ├── mogi_bot.gazebo
│   │   ├── mogi_bot_old.gazebo
│   │   └── mogi_bot.urdf
│   └── worlds
│       ├── empty.sdf
│       └── world.sdf
├── bme_navigation2
│   ├── CMakeLists.txt
│   ├── include
│   │   └── bme_navigation2
│   ├── launch
│   │   └── bme_nav2.launch.py
│   ├── LICENSE
│   ├── maps
│   │   ├── bme_map.pgm
│   │   └── bme_map.yaml
│   ├── package.xml
│   ├── param
│   │   └── bme_nav2.yaml
│   └── src
│       └── nav2.py
└── mogi_trajectory_server
    ├── LICENSE
    ├── mogi_trajectory_server
    │   ├── __init__.py
    │   └── trajectory.py
    ├── package.xml
    ├── README.md
    ├── resource
    │   └── mogi_trajectory_server
    ├── setup.cfg
    └── setup.py

使用方法指南

以下是项目中每个功能包的详细说明和使用方法,帮你快速上手!😄


1. bme_cartographer

功能:激光雷达 SLAM,用来生成地图,支持在 RViz 中实时查看。

  • 怎么用:

    1. 启动 Cartographer SLAM:

      ros2 launch bme_cartographer cartographer.launch.py

      默认配置文件是 config/fishbot_2d.lua

    2. 查看地图:

      • 在 RViz 中加载配置文件:

        rviz2 -d install/bme_cartographer/share/bme_cartographer/rviz/cartographer.rviz

2. bme_gazebo_basics

功能:用于 Gazebo 仿真,主要负责加载机器人模型和启动仿真环境。

  • 怎么用:

    1. 检查机器人模型 (URDF):

      ros2 launch bme_gazebo_basics check_urdf.launch.py
    2. 将机器人加载到 Gazebo 中:

      ros2 launch bme_gazebo_basics spawn_robot.launch.py
    3. 运行仿真世界:

      ros2 launch bme_gazebo_basics world.launch.py

3. bme_navigation2

功能:负责导航功能,用 SLAM 生成的地图进行路径规划和运动控制。

  • 怎么用:

    1. 启动导航系统:

      ros2 launch bme_navigation2 bme_nav2.launch.py
    2. 修改参数:

      • 导航的参数文件是 param/bme_nav2.yaml,可以根据需求调整代价地图、控制器等参数。
    3. 加载地图:

      • 确保 maps/bme_map.pgmmaps/bme_map.yaml 已经保存并正确配置。

4. mogi_trajectory_server

功能:负责轨迹服务,提供轨迹生成和跟踪功能。

  • 怎么用:

    1. 安装依赖:

      pip install -e .
    2. 运行轨迹服务(以集成在spawn中):

      ros2 run mogi_trajectory_server trajectory.py

整体流程

  1. 运行 Gazebo 仿真环境

    ros2 launch bme_gazebo_basics world.launch.py
  2. 启动 Cartographer SLAM

    ros2 launch bme_cartographer cartographer.launch.py
  3. 保存地图

    ros2 run nav2_map_server map_saver_cli -f maps/bme_map
  4. 启动导航功能

    ros2 launch bme_navigation2 bme_nav2.launch.py
  5. 运行轨迹服务

    ros2 run mogi_trajectory_server trajectory.py

小贴士

  • 所有功能包依赖安装好了吗?一定要检查哦~

  • 启动之前记得 source 环境:

    source install/setup.zsh
  • 如果有啥问题,随时调整配置文件,或者来问我!💡

希望这些说明能帮到你,祝你玩得开心!🚀

About

Introduction to URDF and Gazebo Harmonic with ROS2 Jazzy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.5%
  • Lua 8.5%
  • CMake 8.0%