--------------------------------------------------
#用于AGV激光雷达导航与SLAM的ROS程序包
#开发环境为Ubuntu16.04 + ROS Kinetic
--------------------------------------------------
##使用方法
* __下载__
建立一个含src子文件夹的文件夹
` $ mkdir 自定义路径/自定义工作空间名/src`
将src设为工作路径
` $ cd 自定义路径/自定义工作空间名/src`
拉取代码
` $ git clone git@github.com:OceanYv/gp_agv.git`
* __编译__
编译前,确认是否安装官方的serial功能包、robot_pose_ekf功能包,确认方法为在终端中输入
` $ rospack find 包名`
若未安装serial,运行
` $ sudo apt-get install ros-kinetic-serial`
若未安装robot_pose_ekf,在 https://github.com/ros-planning/navigation/tree/kinetic-devel 下载并编译;
将路径修改为工作空间路径
` $ cd 自定义路径/自定义工作空间名`
并运行catkin_make指令以编译程序
` $ catkin_make`
运行以下指令将路径刷新到环境变量中
` $ echo "source 自定义路径/自定义工作空间名/devel/setup.bash" >> ~/.bashrc`
然后重新打开终端即可使用
* __运行__
通过rosrun指令或roslaunch指令运行相关程序;
##package说明
* __run_agv:系统初始化,并启动各个模块__
启动整个系统的指令为
` $ roslaunch run_agv run_agv.launch`
__要设置的参数__
/config/fixed_tf.yaml中的参数:激光雷达安装位置信息
* __base_controller:用于基本的运动控制、里程计数据和IMU数据获取与融合__
单独运行用以下指令
` $ roslaunch base_controller base_controller.launch`
__要设置的参数__
/config/base_controller.yaml中的参数:STM32串口通讯参数
/launch/include/kenzhrobot_pose_ekf.launch.xml中的参数:有注释的三行
__文件说明__
base_controller.cpp:获取速度指令后通过串口向下位机发送速度指令,并并定时读取下位机的里程计数据;
* __lslidar_n301:镭神官方提供的ROS开发包,用于读取N301激光雷达数据__
单独运行用以下指令
` $ roslaunch lslidar_n301_decoder lslidar_n301.launch --screen`
之后运行
` $ rosrun rviz rviz`
即可在rviz中即可查看对应激光雷达数据
* __set_gmapping:调用gmapping功能包,并保存地图文件__
__要设置的参数__
/launch/robot_gmapping.launch中的参数:gma pping参数、save_map参数
该launch文件中的file_location和mapname两个param一定要按照自己的位置来配置
* __hwtimu:imu提供的包,用于通过串口连接imu并发布imu数据topic__
单独运行用以下指令
` $ roslaunch hwtimu hwtimusubexp.launch`
__要设置的参数__
/cfg下yaml文件中的参数
* __joy_control、:遥控器使用和驱动,通过无线通讯控制底盘的运动,发布vel_cmd话题__
单独运行用以下指令
` $ roslaunch joy_control we_joy_control.launch`
以上包在使用之前要安装joy包,还要依赖dg_common包
##其他说明
*__硬件要求__
在安装①网口通讯的激光雷达②RS232通讯的STM32 后方可正常运行;
若在无上诉硬件时运行run_agv.launch,会报错;
如果想要观察系统结构,请将/base_controller/src/base_controller.cpp中的71-91、133-135\182-187行注释掉,以免base_controller节点被kill;
*__一些基本指令__
查看tf tree
` $ rosrun rqt_tf_tree rqt_tf_tree`
查看系统结构
` $ rqt_graph `
查看参数服务器
` $ rosparam list `
*__建图方法__
sudo chmod 777 /dev/ttyS4(串口号) //获取对应串口的使用权限
sudo ls -l /dev/ttyS* 或者 sudo ls -l /dev/ttyUSB* //查看串口使用情况
roslaunch run_agv laser_slam_run.launch //功能:通过遥控小车运动来进行建图
设置激光雷达IP:192.168.1.125 255.255.255.0 192.168.1.1
可通过ping 192.168.1.222 或者ifconfig或者sudo tcpdump -n -i enp0s31f6来检查连接状态
roslaunch set_gmapping save_map_my.launch //保存地图数据
在运行该launch文件前,先在set_gmapping/config/save_map.yaml中修改文件名
*__已知地图的自主导航__
sudo chmod 777 /dev/ttyS4(串口号) //获取对应串口的使用权限
* sudo ls -l /dev/ttyS* 或者 sudo ls -l /dev/ttyUSB* //查看串口使用情况
roslaunch run_agv navigation_run.launch //功能:通过已经提供的地图来进行导航,在rviz中
* 修改map_file的值以改变要载入的地图
//rosrun set_gmapping acml_global_init
roslaunch set_gmapping move_base.launch //进行自主导航
* 可以在rviz中指定导航目的地
7.1代码调试
①新增加一个参数的base_controller节点调试
1) sudo chmod 777 /dev/ttyS4
sudo chmod 777 /dev/ttyUSB0
roslaunch run_agv laser_slam_run.launch
rosrun base_controller imu_pre_inte
rostopic echo odom_imu
在rviz中查看odom_imu的数据结果
rosrun set_gmapping save_map
在指定路径下运行,且运行之前修改名字为map0701
2) 在非原点启动导航程序
roslaunch run_agv navigation_run.launch
在rviz中查看amcl_pose的定位结果
现在存在的问题:
1.数据融合的算法中存在一些明显的逻辑错误,计划在进一步巩固数学基础之后再全盘进行重新编写
赵闪闪168
- 粉丝: 1726
- 资源: 6943
最新资源
- 这是一个对于开源的四轴无人机开源飞控系统修改学习的仓库.zip
- 用于FPV微型无人机比赛和自由式的一流拉丝飞行控制器 http_alienwhoop.us_.zip
- 这是一个通过pixhawk飞控来学习多旋翼无人机的学生的仓库.zip
- 这是一个简单的无人机轨迹追踪demo,也是一份offboard实飞控制踩坑经验总结.zip
- 这是一个无人机四轴项项目,使用stm32 作为主控,使用固件库编程,移植ucos ii 操作系统,最终实现飞机可以起飞的完整项目.zip
- 这是一个与电院天线所合作的项目,由501实验室的研发学生Phillweston与Devotlig负责.zip
- 整合uav模型与gazebo环境,开放测试demo,可使用键盘控制无人机进行遥控飞行与飞行状态数据检.zip
- 1.科大讯飞智慧课堂平板之前大多是联想系或者荣耀系低端机,此类平板基本都可以解除bl锁,进行刷机操作.zip
- 悬浮颗粒两相流模拟 本案例基于COMSOL软件模拟了不同密度大小的悬浮颗粒在混合溶液中的流动沉积情况,模拟结果如图所示1.密度较大颗粒的沉积情况2.密度较小颗粒悬浮混合情况 3000j
- 压盖检测机sw20可编辑全套技术资料100%好用.zip
- 机器人开发代码实战项目ros开发,可以快速上手 有安装运行教程
- 44、COMSOL模拟二维裂隙流压裂水平井裂缝性油藏离散裂缝网络模型COMSOL数值模拟案例
- 硬盘上料机sw16全套技术资料100%好用.zip
- VT笔记,VT仿真笔记,VT教程,原版仿真实战笔记升级版,加入多轴及车铣复合仿真笔记啦加量不加价(vericut)原版仿真设置实战经验笔记 +cimco edit仿真笔记分享:全网唯一超详解析,让你快
- 2006-2020年各省常住人口数数据
- 光伏储能交直流微电网Matlab simulink仿真~由光伏、蓄电池及负载组成的独立直流微电网,提出电压和电流分段式协同控制策略 该控制策略将能量管理划分为 4 种工作模式,采用最大功率点跟踪控制
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈