人を追いかける/プログラム

作戦1(頭の中のアイデアなのでこれで動くか分からない)

・人を真後ろから撮影. その人の後ろ姿の特徴点抽出. このあとは特徴点トラッキング
・その人がちょっと動く→画像中の特徴点の変化
・特徴点の変化に応じてモータ制御. 特徴点が右にずれれば(その人が右に動いたので)左輪のモータ回す(車体は右を向く)
・特徴点があまり変化しない→人が止まってる可能性. ロボット停止
・特徴点を見失う→見失ったことを人に知らせる. (ブザーを鳴らすなど. 「ミウシナイマシタ」とか言わせる?)
///////////////////////
注意:最初の撮影時にはできるだけ背景が映らないほうがいい. 背景の一部が特徴点に含まれてしまう. ロボットが移動すると背景も変化するのですぐ特徴点を見失う. できるだけ画面いっぱいにその人の後ろ姿が映るように.
//////////////////////////
・特徴点が上に動けばその人が階段を上った可能性→ロボット前進.

いきなり人を追いかけるのは難しいかもしれないので最初はARマークなどで試す

作戦2(作戦1に比べた実現性高)
・人物検出したら矩形を表示
・矩形の大きさに応じてモータ制御
矩形が小さい→人が離れている→ロボット前進
矩形が大きい→人が近い→スピード落とすorロボット停止
矩形の位置に応じてモータ制御
矩形が画面の右側→人が右にいる→左輪モータ動かす

人物検出のプログラム例
C++
http://ishidate.my.coocan.jp/opencv_13A/opencv_13A.htm
http://ykicisk.hatenablog.com/entry/2015/08/29/131356

Python
https://algorithm.joho.info/programming/python/opencv-hog-cascade-human-detection-py/
https://ai-coordinator.jp/opencv-object-detection
https://ameblo.jp/javaee7/entry-12397158474.html

別解や解答に間違いがあればコメントお願いします。質問もokです。