logo资料库

ROS与SLAM入门教程.pdf

第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
资料共43页,剩余部分请下载后查看
ROS 与 SLAM 入门教程 说明:  介绍主要利用 turtlebot2 来做建图和定位移动平台实现各种 SLAM 方法,加深具体实现算法理解  介绍 hector_slam 的雷达 SLAM 实现  介绍 gmapping 的雷达和深度相机的 SLAM 实现  介绍 Google Cartographer 的 SLAM 实现 目录: ROS 与 SLAM 入门教程-目录 ROS 与 SLAM 入门教程-激光雷达(Hokuyo)gmapping 构建地图 ROS 与 SLAM 入门教程-激光雷达(Rplidar)gmapping 构建地图 ROS 与 SLAM 入门教程-激光雷达(neato v-11)gmapping 构建地图 ROS 与 SLAM 入门教程-Google 的 cartographer SLAM 算法实现 ROS 与 SLAM 入门教程-激光雷达(EAI F4)gmapping 构建地图 ROS 与 SLAM 入门教程-slam_gmapping 参数介绍 ROS 与 SLAM 入门教程-激光雷达(EAI F4)hector_slam 构建地图 ROS 与 SLAM 入门教程-hector_mapping 参数介绍 ROS 与 SLAM 入门教程-激光雷达(neato v-11)hector_slam 构建地图 ROS 与 SLAM 入门教程-cartographer 在 Turltlebot 的应用 1-官方安装及补充 ROS 与 SLAM 入门教程-cartographer 在 Turltlebot 的应用 2-hitcm 安装修改版 ROS 与 SLAM 入门教程-激光雷达(EAI F4)自主导航实现 ROS 与 SLAM 入门教程-map_server 介绍 ROS 与 SLAM 入门教程-激光雷达(Rplidar)slam_karto 构建地图                参考:  hector_slam o http://wiki.ros.org/hector_slam  gmapping o http://wiki.ros.org/gmapping 1
o o http://wiki.ros.org/slam_gmapping https://www.openslam.org/gmapping.html  Google Cartographer o o o o http://wiki.ros.org/cartographer https://google-cartographer-ros.readthedocs.io/en/latest/ https://google-cartographer-ros-for-turtlebots.readthedocs.io/en/latest/ https://github.com/googlecartographer/cartographer_turtlebot  DSO o o o http://blog.csdn.net/heyijia0327/article/details/53173146 https://github.com/JakobEngel/dso https://vision.in.tum.de/research/vslam/dso?redirect=1  RGBD-SLAM-V2 o o o o http://felixendres.github.io/rgbdslam_v2/ https://github.com/shl202/Turtlebot-Localization-Using-RGB-D-SLAM/wiki/Setup http://wiki.ros.org/rgbdslam http://sauravag.com/2016/10/how-to-setup-kinect-with-ros-and-rgbd-slam/  RTAB-MAP o o o o o o http://wiki.ros.org/rtabmap_ros/Tutorials/MappingAndNavigationOnTurtlebot http://official-rtab-map-forum.67519.x6.nabble.com/Demo-RTAB-Map-on-Turtlebot-td439.html https://mahsaparsapour.wordpress.com/tutorials/ros-2/rtab-map-on-turtlebot/ http://wiki.ros.org/rtabmap_ros/Tutorials https://introlab.github.io/rtabmap/ http://wiki.ros.org/rtabmap 2
o http://wiki.ros.org/rtabmap_ros http://patilnabhi.github.io/portfolio/tbotnav TurtleBot SLAM (with RTAB-Map, Hand-Gestures, Face Recognition & AR Code Tracking)    ORB-SLAM o o o o o https://github.com/raulmur/ORB_SLAM http://www.it610.com/article/4678964.htm http://webdiis.unizar.es/~raulmur/orbslam/ http://blog.csdn.net/dreamer_lhs/article/details/51297432 http://blog.csdn.net/dourenyin/article/details/48055441  ORB-SLAM2 o o http://www.cnblogs.com/lizhongpingchn/p/5531551.html https://github.com/raulmur/ORB_SLAM2.git  LSD-SLAM o o http://www.lai18.com/content/8221766.html https://github.com/tum-vision/lsd_slam  DTAM(RGBD) o https://www.robots.ox.ac.uk/~vgg/rg/papers/newcombe_davison__2011__dtam.pdf  Elastic Fusion(RGBD) o https://github.com/mp3guy/ElasticFusion ROS 与 SLAM 入门教程-激光雷达(Hokuyo)gmapping 构建地图 说明  介绍激光雷达(Hokuyo)在 Turtlebot 平台上实现 gmapping 构建地图 3
参考  Turtlebot 入门教程-激光雷达(Hokuyo)gmapping 构建地图 ROS 与 SLAM 入门教程-激光雷达(Rplidar)gmapping 构建地图 说明  介绍激光雷达(Rplidar)在 Turtlebot 平台上实现 gmapping 构建地图 参考  Turtlebot 入门教程-激光雷达(Rplidar)gmapping 构建地图 ROS 与 SLAM 入门教程-激光雷达(neato xv-11)gmapping 构建地图 说明  介绍激光雷达(neato xv-11)在 Turtlebot 平台上实现 gmapping 构建地图 参考  Turtlebot 入门教程-激光雷达(neato xv-11)gmapping 构建地图 ROS 与 SLAM 入门教程-Google 的 cartographer 的 SLAM 实现 说明:  介绍 Google 的 cartographer 的 SLAM 库 参考:  需要翻墙安装: turtlebot 入门教程-cartographer 在 Turltlebot 的应用  不需要翻墙安装:turtlebot 入门教程-cartographer 在 Turltlebot 的应用 2  不需要翻墙安装:ROS 与 SLAM 入门教程-cartographer 在 Turltlebot 的应用 3 4
ROS 与 SLAM 入门教程-激光雷达(EAI F4)gmapping 构建地图 说明  介绍 Turtlebot 搭载激光雷达(EAI F4)通过 gmapping 构建地图 准备  测试环境 ubuntu14.04 + indigo  已安装 Turtlebot 包,具体安装:deb 包安装 | 源码安装  依赖包: o Turtlebot 应用包,https://github.com/ncnynl/turtlebot_apps.git o 激光雷达驱动,https://github.com/EAIBOT/flashgo.git 步骤  详细 F4 雷达安装参考:ROS 与激光雷达入门教程-ROS 中使用激光雷达(EAI F4)  建立工作空间(也可以利用现有的),编译包 $ mkdir ‐p ~/turtlebot_ws/src $ cd ~/turtlebot_ws/src ## turtlebot 建图依赖包 $ git clone https://github.com/turtlebot/turtlebot_apps #编译 $ cd ~/turtlebot_ws $ catkin_make  添加环境变量,在~/.bashrc 最后添加一行: $ source /home/ubu/turtlebot_ws/devel/setup.bash  刷新配置 $ source ~/.bashrc  或 5
$ rospack profile 制作雷达驱动启动文件  复制 lidar.launch 到 flashlidar-laser.launch,并增加 TF 定义 $ roscd turtlebot_navigation $ mkdir ‐p laser/driver $ sudo cp ~/turtlebot_ws/src/flashgo/launch/lidar.launch laser/driver/flashlidar_laser.la unch  打开 flashgolidar_laser.launch,并修改 $ rosed turtlebot_navigation flashlidar_laser.launch  检查 frame_id 是否指定为 laser  查看 serial_port 是否指定正确端口,使用别名  检查端口:,设置好别名.  增加 TF:  修改为 args="0.0 0.0 0.18 0 0.0 0.0 为自己的实际安装位置。详情查看,static_transform_publisher 部 分  static_transform_publisher x y z qx qy qz qw frame_id child_frame_id period_in_ms  这里我假设底盘的中心点为 0,雷达放在机器人托盘中心位置,X 为 0,高度为 18CM,Z 为 0.18m  TF 的单位使用米的,测量单位是 CM  特别提醒: o EAI F4 激光雷达的坐标系是顺时针坐标系, 一般 ROS 小车坐标系是逆时针坐标系,所以需要做坐标 系变换。 o 即 qx qy 分别要设置为 3.14 3.14  完整代码如下: 6
pkg="flashgo" type="flashgo_node" output="screen"> type="string" value="/dev/flashlidar"/> type="int" type="string" value="laser"/> type="bool" value="true"/> type="string" value="" /> type="double" value="0" /> 检查 turtlebot_navigation 包  增加 flashlidar_gmapping_demo.launch 文件,用于启动 gmapping. $ roscd turtlebot_navigation $ touch launch/flashlidar_gmapping_demo.launch $ rosed launch/flashlidar_gmapping_demo.launch  输入内容:  设置 laser_type 为 flashlidar. 7
 增加 flashlidar_gmapping.launch.xml 文件,执行 gmapping 建图 $ roscd turtlebot_navigation $ touch launch/includes/gmapping/flashlidar_gmapping.launch.xml $ rosed launch/includes/gmapping/flashlidar_gmapping.launch.xml  输入内容: 8
分享到:
收藏