在给定头俯仰角的情况下确定物体距地面的距离?

问题描述 投票:0回答:1

我想通过头部俯仰角以及物体与机器人/相机之间的距离(这是已知的固定距离)来确定从检测到的物体(由机器人/相机发现)到地面的距离。

我想这样做,因为我希望机器人使用笔直并垂直于机器人躯干的双臂在所要求的特定高度抓取物体。 头部俯仰角度范围如下:

HeadPitch Angle

我认为只有当头部俯仰角为正时,物体才是“可抓取的”。 不言而喻,如果头部俯仰角为 0°,则显然物体到地面的距离就是相机/机器人到地面的距离。我要考虑的情况是,当机器人以某个正的头部俯仰角度观察检测到的物体时,如下图所示:

head pitch angle

我尝试通过Python中的以下方法解决这个问题:

distance_object_ground = self.DISTANCE_TORSO_OBJECT * math.tan(
                head_pitch_angle)
DISTANCE_TORSO_OBJECT = is the distance between the robot to the object which is horizontal

这是一种抓取物体的整体好方法吗?如果是的话,物体到地面的距离计算是否准确?

python opencv image-processing computer-vision robotics
1个回答
0
投票

如果您的距离和角度被可靠地测量,那么是的,这看起来确实是抓取物体的可靠方法。您的数学几乎是正确的,但是提供的代码似乎找到了从物体到机器人头部而不是地面的距离。要找到到地面的距离,请用机器人头部的高度减去刚刚获得的从物体到机器人头部的距离。我附上了一张图表,以更好地阐明我的意思。 您使用的公式计算蓝色的头部-物体距离,如果您的目标是绿色的 Object_Ground_Distance,那么您必须从橙色的摄像机/机器人-地面距离中减去头部物体距离。

© www.soinside.com 2019 - 2024. All rights reserved.