Cartographer + Navigation 建图导航(个人定制版)

实时建图链接:Cartographer实时建图(个人定制版)

一、建图

1、启动机器人

roslaunch lp_robot lp_robot.launch

2、启动键盘

roslaunch lp_robot keybord.launch

3、录包

rosbag record -a

4、生成pbstream文件(两种方法)
方法1:

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=floor_12.bag
rosservice call /finish_trajectory 0
rosservice call /write_state "{filename: '${HOME}/Downloads/floor_12.pbstream'}"

方法2:

roslaunch cartographer_ros offline_backpack_2d_lp_hy.launch bag_filenames:=/home/lyp/XXX.bag

bag使用绝对路径

注意:修改yaml文件夹的绝对路径

5、转成pgmyaml文件

rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/lyp/Downloads/floor_22 -pbstream_filename=/home/lyp/Downloads/floor_22.pbstream -resolution=0.05

详细链接:基于Carto的小车SLAM建图定位与导航

二、修图

1、将pbstreampgmyaml文件复制到rviz_map_tool文件夹的map下。
2、启动rviz_map.launch文件

roslaunch rviz_map_tool rviz_map.launch

3、依次选择Panels—>Add New Panel—>RvizMapTool。再选择Add,再添加Map。最后选择Add—>SegmentArry,然后修改topic为roadedge,配置修图的线颜色和粗细。

4、将data文件夹下的.csv文件复制到read_markfile_pub文件夹下。
5、运行read_markfile_pub.launch文件测试是否能发布/roadedge话题

 roslaunch rviz_map_tool rviz_map.launch
roslaunch read_markfile_pub read_markfile_pub.launch 

6、在上一步基础上测试navigation_map是否发布/navigation_map话题

roslaunch navigation_map navigation_map.launch 

详细链接:
【1】Cartographer建图后的原始图像处理(Rviz插件修图)
【2】Rviz插件修完图之后发布修图坐标值(读取CSV文件)
【3】navigation_map订阅修图的坐标值并发布导航专用的地图

三、导航

1、修改read_markfile_pub.launch加载.csv文件路径

注意:将roadedge.csv文件拷贝到/read_markfile_pub/data/floor_11/文件夹下

2、修改dwa_loop_move_base_simulation_object.launch的加载地图.yaml路径

注意:将pbstream/pgm/yaml文件拷贝到/simulation_launch/map/文件夹下

3、 修改demo_backpack_2d_localization_test.launch定位包,修改pbstream文件路径

4、运行导航launch文件

roslaunch simulation_launch dwa_loop_move_base_simulation_object.launch

5、启动rviz监测画面

rviz

6、将导航过程录制成bag

rosbag record -a

[总结]:需要修改的文件:

simulation_launch/launch/dwa_loop_move_base_simulation_object.launch
./read_markfile_pub/launch/read_markfile_pub.launch
./install_isolated/share/cartographer_ros/launch/demo_backpack_2d_localization_test.launch

四、仿真

/home/lyp/zhankun/SLAM/slam_simulation/catkin_ws
/home/lyp/zhankun/SLAM/slam_simulation/catkin_ws/src/rbx1/rbx1_nav/maps

1、运行一个机器人

roslaunch rbx1_bringup fake_turtlebot.launch

2、运行fake_amcl.launch调用已有的测试地图

roslaunch rbx1_nav fake_amcl.launch

或者,手动指定要调用的地图

roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml

3、启动rviz 并调用amcl配置文件

rosrun rviz rviz -d `rospack find rbx1_nav`/amcl.rviz

参考链接:ROS导航仿真和多点导航1———导航仿真

【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于ROS的激光雷达+小车+IMU的SLAM建图、定位、路径规划c++实现源码+项目说明.zip # 单线激光雷达SLAM建图与路径规划 使用的硬件:autolabor pro1小车、小觅双目相机(S1030标准本)、IntelNUC迷你主机、显示器、2D激光雷达 Delta-1A 使用的软件:ubuntu 16.04 LTS、ROS-kinetic、小觅驱动、autolabor pro1小车驱动、Delta-1A驱动、VINS-Fusion算法、ROS-navigation导航包、gmapping建图算法、cartographer_ros建图算法 ## tf介绍 tf变换:map(地图坐标系)-->odom(里程计坐标系)——>base_link(小车基座坐标系)——>传感器坐标系(lidar、camera) ---- map-->odom 由建图算法提供 ---- odom --> base_link 由小车驱动提供 ---- base_link --> 传感器坐标系 根据传感器在小车上安装的位置确定,使用static_transform_publisher静态坐标转换来设置 所需传感器数据类型: sensor_msgs/LaserScan 使用Delta-1A驱动发布的雷达扫描话题,话题名:/scan 所需里程计信息数据类型:nav_msgs/Odometry 使用autolabor pro1发布的里程计,话题名:/wheel_odom ## 建图 采用gmapping与 cartographer_ros建图算法分别进行建图 ### gmapping建图:(雷达+小车) 打开终端,执行如下指令: $ cd ~/catkin_ws_lidar_slam/ $ source devel/setup.bash $ roslaunch autolabor_box_launch create_map_gmapping.launch ####打开小车urdf模型、驱动、键盘控制节点、打开雷达驱动、打开gmapping节点、打开rviz可视化节点 ####此时使用键盘的上下左右键控制小车移动,开始建图 ####建图完成后,开启新的终端执行如下指令,保存地图: $ rosrun map_server map_saver -f map_name ####保存地图 map_name为保存地图的名称,运行结果,会生成2个文件,后缀名分别为 .pgm .yaml ### cartographer_ros建图:(雷达+小车) ##打开终端,执行如下指令: $ cd ~/catkin_ws_lidar_slam/ $ source devel/setup.bash $ roslaunch autolabor_box_launch create_map_cartographer.launch ####此时使用键盘的上下左右键控制小车移动,开始建图 ####建图完成后,开启新的终端执行如下指令,保存地图: $ rosrun map_server map_saver -f map_name ......
您好!对于使用 Velodyne 16 点云雷达进行建图导航的实车ROS项目,您可以按照以下步骤进行: 1. 首先,确保您已经安装并配置好ROS环境。 2. 将 Velodyne 16 点云雷达连接到您的车辆上,并确保它能够正常工作。 3. 创建一个ROS工作空间,可以使用以下命令: ``` mkdir -p catkin_ws/src cd catkin_ws/src catkin_init_workspace ``` 4. 在工作空间中创建一个新的ROS软件包,命名为"velodyne_mapping_navigation"(或者您自定义的名称),可以使用以下命令: ``` cd catkin_ws/src catkin_create_pkg velodyne_mapping_navigation roscpp rospy std_msgs sensor_msgs nav_msgs ``` 5. 将您的实际车辆硬件(例如底盘、控制器等)与ROS进行集成。您可以使用相应的ROS软件包(例如ROS控制器、导航堆栈或自定义开发)来实现此功能。根据您的具体车辆和硬件配置,这一步可能需要更多的定制和集成工作。 6. 配置Velodyne 16点云雷达在ROS中的驱动程序。您可以使用现有的Velodyne ROS驱动程序(例如velodyne_driver)或根据您的需求自定义开发一个驱动程序。确保Velodyne雷达能够正确地发布点云数据。 7. 开发建图功能。您可以使用现有的ROS建图软件包(例如gmapping、cartographer等)来进行实时建图,将Velodyne 16点云数据与里程计信息进行融合,生成地图。 8. 开发导航功能。您可以使用ROS导航堆栈中的软件包(例如move_base)来实现导航功能。通过结合地图、里程计和传感器数据,实现自主导航和路径规划。 9. 进行实车测试。在保证安全的前提下,将开发的建图导航功能部署到实际车辆上,并进行实地测试和调试。 请注意,以上步骤仅为一般指导,具体的实现细节可能因您的具体硬件设备、ROS配置和项目需求而有所不同。希望对您有所帮助!如有更多问题,请随时提问。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值