项目简介
本项目是基于ROS Kinetic框架的AGV(自动导引车)激光雷达导航与SLAM(同步定位与地图构建)系统,用于实现AGV在复杂环境中的自主导航和地图构建,适用于仓储物流、工厂自动化等场景。
项目的主要特性和功能
- 激光雷达数据处理:借助
lslidar_n301
包读取激光雷达数据,在ROS中发布点云和激光扫描信息。 - 运动控制与里程计融合:
base_controller
包负责AGV基本运动控制、里程计数据和IMU数据的获取与融合。 - SLAM与地图构建:
set_gmapping
包调用gmapping功能包进行SLAM,并保存地图文件。 - IMU数据处理:
hwtimu
包通过串口连接IMU并发布IMU数据topic。 - 遥控器控制:
joy_control
包通过无线通讯控制底盘运动,发布速度控制指令。 - 系统初始化与模块启动:
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 tree:
bash $ 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】