ROS 2地图构建:让机器人理解环境
SLAM Toolbox地图构建
安装与配置方法
8.2.2 安装与配置方法
仿真环境中的SLAM Toolbox地图构建
8.2.3 仿真环境中的SLAM Toolbox地图构建
# 启动slam_toolbox功能包中的算法节点
$ ros2 launch slam_toolbox online_async_launch.py
# 新开一个终端启动RViz
$ ros2 launch originbot_viz display_slam.launch.py
$ sudo apt install ros-jazzy-nav2-map-server
$ ros2 run nav2_map_server map_saver_cli -t map -f cloister
真实机器人SLAM Toolbox地图构建
8.2.4 真实机器人SLAM Toolbox地图构建
# 启动机器人的底盘
$ ros2 launch originbot_bringup originbot.launch.py use_lidar:=true
# 运行SLAM Toolobox地图构建算法
$ ros2 launch slam_toolbox online_async_launch.py
# 计算机端
$ ros2 launch originbot_viz display_slam.launch.py
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
$ ros2 run nav2_map_server map_saver_cli -t map -f my_map
Cartographer:二维地图构建
安装与配置方法
8.3.2 安装与配置方法
仿真环境中的Cartographer地图构建
8.3.3 仿真环境中的Cartographer地图构建
$ ros2 launch learning_gazebo_harmonic load_mbot_lidar_into_gazebo_harmonic.launch.py
$ ros2 launch originbot_navigation cartographer_gazebo.launch.py
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
$ ros2 run nav2_map_server map_saver_cli -t map -f cloister
真实机器人Cartographer地图构建
8.3.4 真实机器人Cartographer地图构建
# 终端1:启动机器人的底盘
$ ros2 launch originbot_bringup originbot.launch.py use_lidar:=true
# 终端2:运行Cartographer地图构建算法
$ ros2 launch originbot_navigation cartographer.launch.p
# 计算机端
$ ros2 launch originbot_viz display_slam.launch.py
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
$ ros2 run nav2_map_server map_saver_cli -t map -f cloister
ORB:视觉地图构建
安装与配置方法
8.4.2 安装与配置方法
- 安装依赖库——Eigen3
- 安装依赖库——Pangolin
# 切换到用户的主目录
$ cd ~
# 复制Pangolin的GitHub仓库
$ git clone https://github.com/stevenlovegrove/Pangolin.git
# 使用脚本以运行模式检查推荐的依赖项安装命令
$ cd Pangolin
$ ./scripts/install_prerequisites.sh --dry-run recommended
# 使用脚本安装推荐的依赖项
$ ./scripts/install_prerequisites.sh recommended
# 使用cmake配置Pangolin的构建系统,将输出目录设置为当前目录下的build文件夹
# 这将生成必要的Makefile(或其他构建文件)
$ cmake -B build
# 使用cmake构建Pangolin,使用4个并行作业加速构建过程
$ cmake --build build -j4
# 将Pangolin安装到系统中
$ sudo cmake --install build
在.bashrc中添加环境配置。
if [[ ":$LD_LIBRARY_PATH:" != *":/usr/local/lib:"* ]]; then
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
fi
-
检查OpenCV版本 建议使用OpenCV 4.5以上版本。
-
编译ORB_SLAM3源码
编译完成后可以运行以下两行指令编译算法源码。
- 测试ORM_SLAM3功能
# 下载EuRoC数据集中的一个子集(MH_01_easy) $ cd ORB_SLAM3 $ wget -c # 拉取ETH Zurich ASL dataset for robotics 最新的数据集 # 解压下载的数据集 $ unzip MH_01_easy.zip # 运行ORB_SLAM3的Monocular示例来处理EuRoC数据集 $ ./Examples/Monocular/run_monocular_euroc.sh ./Vocabulary/ORBvoc.txt ./Examples/Monocul ar/EuRoC.yaml MH_01_easy ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt output_directory
真实机器人ORB地图构建
8.4.3 真实机器人ORB地图构建
# 机器人终端2
$ ros2 run orb_slam3_example_ros2
mono ./ORBvoc.txt ./Examples/Monocular/RealSense_D435i.yaml
RTAB:三维地图构建
安装与配置方法
8.5.2 安装与配置方法
仿真环境中的RTAB地图构建
8.5.3 仿真环境中的RTAB地图构建
激光雷达SLAM建图
# 终端1:启动机器人仿真环境
$ ros2 launch learning_gazebo load_mbot_lidar_into_maze_gazebo_harmonic.launch.py
# 终端2:启动RTAB SLAM算法
$ ros2 launch originbot_navigation rtab_scan_gazebo.launch.py
# 终端3:启动上位机
$ ros2 launch originbot_viz display_slam.launch.py
# 终端1:启动机器人仿真环境
$ ros2 launch learning_gazebo_harmonic load_mbot_rgbd_into_maze_gazebo_harmonic.launch.py
# 终端2:启动RTAB SLAM算法
$ ros2 launch originbot_navigation rtab_rgbd_gazebo.launch.py
# 终端3:启动上位机
$ ros2 launch originbot_viz display_slam.launch.py
真实机器人RTAB地图构建
8.5.4 真实机器人RTAB地图构建
# 启动OriginBot机器人底盘
$ ros2 launch originbot_bringup originbot.launch.py use_lidar:=true
# 启动D435i相机节点
$ros2 launch realsense2_camera rs_launch.py enable_depth:=false enable_color:=false
enable_infra1:=true depth_module.profile:=640x480x15