用Apollo dreamview可视化自行采集的点云和检测结果

在dreamview里播放自带的那个demo_3.5.record和可视化展示肯定是没什么问题,但是换成播放自己采集的数据包文件后,发现点云和检测结果都没能显示出来,控制感知部分的检测结果的显示的配置修改是在modules/perception/data/flag/perception_common.flag里,修改标志obs_enable_visualization的值为true后执行 bash apolloo.sh build perception编译完后再重启lidar_detection等component即可:

# whether to send message for visualization.
# type: bool
# default: false
--obs_enable_visualization=true

但是点云始终显示不出来,在dreamview的窗口里选择点云channel的下拉列表里也看不到自采集数据的点云topic名字,重启dreamview都不官用,只好去看dreamview的源码,在

    modules/dreamview/backend/point_cloud/point_cloud_updater.cc

里找到这段代码:

void PointCloudUpdater::GetChannelMsg(std::vector<std::string> *channels) {
  enabled_ = true;
  auto channelManager =
      apollo::cyber::service_discovery::TopologyManager::Instance()
          ->channel_manager();
  std::vector<apollo::cyber::proto::RoleAttributes> role_attr_vec;
  channelManager->GetWriters(&role_attr_vec);
给定引用内容中未提及 Apollo Cyber RT 实现点云可视化的方法、工具或指南相关信息。不过,通常在 Apollo Cyber RT 里实现点云可视化可以借助以下通用思路与工具: ### 利用 `cyber_visualizer` Apollo Cyber RT 框架自带 `cyber_visualizer` 这一可视化工具,它也许能用于点云数据的可视化。可以通过该工具订阅点云消息主题,从而展示点云数据。示例命令如下: ```bash cyber_visualizer ``` 在 `cyber_visualizer` 界面里,配置订阅的点云消息主题,就能看到点云可视化效果。 ### 自定义可视化程序 借助 Apollo Cyber RT 的 API 编写自定义的可视化程序。可以使用 Python 或者 C++ 编写程序,订阅点云消息,再利用第三方可视化库(像 PCL Visualizer、Open3D 等)进行点云可视化。以下是一个简单的 Python 示例: ```python import cyber from modules.perception.proto.pointcloud_pb2 import PointCloud import open3d as o3d import numpy as np def callback(pointcloud_msg): points = [] for point in pointcloud_msg.points: points.append([point.x, point.y, point.z]) points = np.array(points) pcd = o3d.geometry.PointCloud() pcd.points = o3d.utility.Vector3dVector(points) o3d.visualization.draw_geometries([pcd]) if __name__ == '__main__': cyber.init() node = cyber.Node("pointcloud_visualizer") subscriber = node.create_reader("/apollo/sensor/pointcloud", PointCloud, callback) node.spin() cyber.shutdown() ``` ### 借助 RViz 虽然 Apollo Cyber RT 是替代 ROS 的消息中间件,但也能够 ROS 工具集成。可以把 Apollo Cyber RT 的消息转换为 ROS 消息,然后使用 RViz 进行点云可视化。这需要编写转换程序,将点云数据从 Apollo Cyber RT 消息格式转换为 ROS 的 `sensor_msgs/PointCloud2` 消息格式。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arnold-FY-Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值