
最近c3界隈(確認してる限り自分入れて3名)で、openpilotが
青信号を認識している節があると話題になってます。
で、これが信号だ、というフラグがどれかは分からないのですが、画面にパスがビヨンと伸びるのは明らかで、それなら走行パスの機械推論がどういう値になってるかダンプしてみて確かめました。
横方向の変化から前方カーブ参照するノウハウはあったので、その隣にある奥行き座標がどう変化するか覗くのは簡単でした。
タイトル画像を見ると、配列らしきデータの末尾が一気に1m未満から60m以上に突出する瞬間が分かります。単位がメートルだと思っているのは自分の推測です。
これほど明白なら青信号でスタートさせるのはそんなに難しくない、と思ったら一つ障害がありました。
車体のACCの挙動です。
先頭でブレーキホールドしてる状態から青信号でスタートさせたいと思うのが普通ですが、ブレーキホールドはエンゲージ中とは言えACCが走行可能状態になっていないのです。
元のクルーズコントロールで前の車について停車した後、レバー操作かアクセル踏まないと走り出しませんよね。先頭ブレーキホールドはそれと同じなんです。
そのACC走行不可状態から走行可能にするためには、プログラムで移行させる方法がなく(あるかも知れないが分からない)、ドライバーがレバーorアクセル操作しなければなりません。
ここで断念するところですが、ふと思いつきました。
イチロウパイロットには通常の先頭ブレーキではなく、走行可能状態で信号の先頭に停止する方法があるじゃないか!
面白半分で作って半ば意地で使い続けてるワンペダルモードです。
やり方は簡単、赤信号の先頭でブレーキ踏む→レバー下げて先頭ブレーキホールド(MAXは1)→ブレーキ離しても動かない→レバー上げる
普通ならここで発進してしまいますが、ワンペダルでは真の0km/h走行状態になるだけで動きません。
ここで最初に書いたパス配列値の1m未満から60m以上に飛び出した瞬間を捉えて、ワンペダルを解除してしまえば車は発進します。挙動としては前走車追従発進に近いです。
と御託並べるだけならイチロウパイロットは要りません。早速やってみましょう。
ちゃんと発進した〜👏
ブレーキ踏む前のクルーズ速度に復帰するわけではないので、あんまり実用的ではありません。
工夫すればなんとかできないこともないけど面倒臭い&中途半端になりそうなので、ひとまず発進速度はエンゲージ最低速度という仕様です。
で、発動条件は
・先頭ブレーキ
・ワンペダルでレバー↓
・ブレーキリリースしてレバー↑
・ハンドルは真っ直ぐ向ける
・交差点の向こうに車が停止していないこと
・丸い青信号
こうなりました。時差式の↑青では発進しません。
楽しい実験でした👻piDリリースに入れます。
もし赤信号で止まる手段が確立したら(これは今のところ夢ですね)、仕組み上ACC走行可能状態を維持したままとなり、発進後の設定速度は維持され、ワンペダル以外のAボタンモードでも使えるようになると思います。
ーーーーーーーーーーーーーーーーーー
後日、
やっちゃいました(みん専記事)
Posted at 2022/07/14 22:52:15 | |
トラックバック(0) | 日記