1.5.3 单线激光雷达仿真案例以及案例分析
1.案例需求
需求:编写程序发布雷达消息,并且在rviz2中显示雷达消息,最终结果如下图所示。
2.案例分析
在上述案例中,需要关注的要素有两个:
- 自定义的发布方程序;
- 作为订阅方的rviz2;
发布方程序需要生成单线激光雷达消息并发布,rviz2则订阅单线激光雷达消息并实现可视化,该案例本质是一个发布订阅实现。
3.流程简介
主要步骤如下:
- 编写发布方实现;
- 编辑配置文件;
- 编译;
- 执行;
- 使用rviz2查看结果。
案例我们会采用C++和Python分别实现,二者都遵循上述实现流程。
4.准备工作
终端下进入工作空间的src目录,调用如下两条命令分别创建C++功能包和Python功能包。
ros2 pkg create cpp01_laser --build-type ament_cmake --dependencies rclcpp sensor_msgs
ros2 pkg create py01_laser --build-type ament_python --dependencies rclpy sensor_msgs
雷达消息接口依赖于sensor_msgs功能包。