だから、未知の迷路をナビゲートできるロボットを作りたいです。ロボットに提供される唯一の情報は、迷路のモノクロ ビットマップ イメージであり、ロボットはそこから始点と終点、運ぶボールを入れるボックスを識別し、経路を計画する必要があります。迷路。迷路の bmp イメージからすべてを実行する必要があります。迷路のサンプル ビットマップ イメージへのリンクを次に示します。
このすべての処理を行うため、arduino を使用します。今のところ、この BMP を 2D 文字配列に読み込み、文字配列にリンクし、そこから接続マップ/グラフを作成して、経路計画アルゴリズム (ダイクストラまたは幅優先検索) を適用できるようにしました。
ただし、問題は次のとおりです。このビットマップのサイズは 96x56 ピクセルです。つまり、接続マップ/グラフのサイズは [5376][5376] となり、非常に大きくなります。この大きな配列を宣言するには、メモリが MB 単位で必要になりますが、arduino の SRAM は 96KB しかありません。
私は何をすべきか?提案してください。私は電気工学科の 1 年生で、このようなことについてはあまり知りません。私が考えたことの1つは、同じ行を削除することでした(2D配列を参照してください)。ただし、要素ごとにすべての行を他の行と比較する必要があるため、それ自体に多くの処理能力が必要になると思いました。ここでの問題は、基本的にメモリと処理の制約です。
ありがたく思います!