如何使用激光雷达和相机找到 "boundary boxed" 物体的位置?
How can i find the position of "boundary boxed" object with lidar and camera?
这个问题与我的期末项目有关。在凉亭模拟环境中,我试图检测障碍物的颜色并计算机器人与障碍物之间的距离。我目前正在借助 OpenCV 方法 (object with boundary box) 识别它们的颜色,但我不知道如何计算它们在机器人之间的距离。我有我的机器人的位置。我不会使用立体声。我知道障碍的大小。等待您的建议和想法。谢谢!
我的机器人的话题:
- cameras/camera/camera_info (类型:sensor_msgs/CameraInfo)
- cameras/camera/image_raw (类型:sensor_msgs/Image)
- sensors/lidars/points (类型:sensor_msgs/PointCloud2)
您可以将点云投影到图像 space 中,例如使用 OpenCV(如 here)。这样,您就可以过滤图像中边界框内的所有点 space。当然,需要解决由于两个传感器之间的差异而导致的投影误差,例如,通过删除与 LiDAR 传感器的距离有关的点的下四分位数和上四分位数。您最终可以使用剩余的点来估计距离。
我们有这样一个系统运行并且运行良好。
这个问题与我的期末项目有关。在凉亭模拟环境中,我试图检测障碍物的颜色并计算机器人与障碍物之间的距离。我目前正在借助 OpenCV 方法 (object with boundary box) 识别它们的颜色,但我不知道如何计算它们在机器人之间的距离。我有我的机器人的位置。我不会使用立体声。我知道障碍的大小。等待您的建议和想法。谢谢!
我的机器人的话题:
- cameras/camera/camera_info (类型:sensor_msgs/CameraInfo)
- cameras/camera/image_raw (类型:sensor_msgs/Image)
- sensors/lidars/points (类型:sensor_msgs/PointCloud2)
您可以将点云投影到图像 space 中,例如使用 OpenCV(如 here)。这样,您就可以过滤图像中边界框内的所有点 space。当然,需要解决由于两个传感器之间的差异而导致的投影误差,例如,通过删除与 LiDAR 传感器的距离有关的点的下四分位数和上四分位数。您最终可以使用剩余的点来估计距离。
我们有这样一个系统运行并且运行良好。