littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统

项目简介

本项目是基于ROS Kinetic框架的AGV(自动导引车)激光雷达导航与SLAM(同步定位与地图构建)系统,用于实现AGV在复杂环境中的自主导航和地图构建,适用于仓储物流、工厂自动化等场景。

项目的主要特性和功能

  1. 激光雷达数据处理:借助lslidar_n301包读取激光雷达数据,在ROS中发布点云和激光扫描信息。
  2. 运动控制与里程计融合:base_controller包负责AGV基本运动控制、里程计数据和IMU数据的获取与融合。
  3. SLAM与地图构建:set_gmapping包调用gmapping功能包进行SLAM,并保存地图文件。
  4. IMU数据处理:hwtimu包通过串口连接IMU并发布IMU数据topic。
  5. 遥控器控制:joy_control包通过无线通讯控制底盘运动,发布速度控制指令。
  6. 系统初始化与模块启动:run_agv包负责系统初始化并启动各个模块。

安装使用步骤

1. 环境准备

确保已安装以下依赖: - Ubuntu 16.04 - ROS Kinetic - 官方的serial功能包 - robot_pose_ekf功能包

2. 下载源码

bash $ mkdir -p ~/自定义工作空间名/src $ cd ~/自定义工作空间名/src

3. 编译项目

bash $ cd ~/自定义工作空间名 $ catkin_make $ echo "source ~/自定义工作空间名/devel/setup.bash" >> ~/.bashrc $ source ~/.bashrc

4. 运行系统

启动系统

bash $ roslaunch run_agv run_agv.launch

单独运行模块

  • 运动控制bash $ roslaunch base_controller base_controller.launch
  • 激光雷达数据处理bash $ roslaunch lslidar_n301_decoder lslidar_n301.launch --screen $ rosrun rviz rviz
  • SLAM与地图构建bash $ roslaunch set_gmapping save_map_my.launch
  • IMU数据处理bash $ roslaunch hwtimu hwtimusubexp.launch
  • 遥控器控制bash $ roslaunch joy_control we_joy_control.launch

5. 查看系统状态

  • 查看tf treebash $ rosrun rqt_tf_tree rqt_tf_tree
  • 查看系统结构bash $ rqt_graph
  • 查看参数服务器bash $ rosparam list

6. 建图与导航

建图

bash $ sudo chmod 777 /dev/ttyS4 $ roslaunch run_agv laser_slam_run.launch $ roslaunch set_gmapping save_map_my.launch

已知地图的自主导航

bash $ sudo chmod 777 /dev/ttyS4 $ roslaunch run_agv navigation_run.launch $ roslaunch set_gmapping move_base.launch

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】