小さいコーンにぶつかってしまう

解決方法

カラー画像からコーンの領域および中心点を算出したうえで、以下のコードを使って深度画像から距離を求めましょう。

distance = rc_utils.get_pixel_average_distance(cropped_image, contour_center)

この距離をもとにコーンに向かって走ると小さいコーンにも対応できるようになります。

理由

深度画像から距離を求める際、使用できる関数は以下のふたつです。

  • get_depth_image_center_distance():画像中心の距離を求める
  • get_pixel_average_distance():指定したピクセルの距離を求める

今回はコーンの中心を指定して距離を求めたいので、二つ目のget_pixel_average_distance()を使用します。
ここで、コーンは円錐形のため、値をとる高さによって距離が変わってしまいます。
そこでコーンの領域の中心を指定して距離を求めることで安定してコーンとの距離を得ることができます。