ここに言語を入力 ``` コード ```私は今、工業高校で課題研究に取り組んでいます。 タイトルは「自動分別ゴミボックス」です AIを使いカメラで認識し、缶か、ペットボトル判断し、制御してサーボを動かしてラズベリーパイでプログラムしようと思っています。 イメージではカメラで判定し、サーボを回して 左側の穴は缶、右側の穴はペットボトルなど で、落として分別しようと思っています。 今ある物は、 ラズベリーパイ4 ラズベリーパイ用のカメラ マイクロSD 360度サーボ 20kgのサーボ(180度) ブレッドボードのジャンパー線 サーボ用2分岐ケーブル五本セット サーボの多機能シリアル信号変換器 です。 ラズベリーパイの初期設定は終わりました。 Googleドライブにも登録はしてあります。 その後の詳しいプログラムと モーターと接続したり、カメラで判定した結果によってモーターを動かす方法を教えて欲しいです。 また他に必要なものがあれば教えて欲しいです。
ありがとうございます。今取り組んでいるんですがエラーが出ててこのエラーの内容を知りたいです。
エラーの内容を確認するため、次の情報を教えていただけますか?
1. エラーメッセージ全文
画面に表示された文字をそのままコピーして貼り付けてください。スクリーンショットだけでなく、テキストでもあるとありがたいです。
2. 実行したコマンドとコード
どのファイルを、どのコマンドで実行したかを教えてください(例:python3 main.py)。コードも貼っていただけると原因を特定しやすくなります。
3. 環境
Raspberry Pi OSのバージョン
Pythonのバージョン
使用しているライブラリ(例:gpiozero、pigpio、OpenCV、TensorFlow Liteなど)
4. どの段階でエラーが出たか
カメラの起動、AIの判定、サーボの動作のうち、どこで止まりましたか?
また、1点だけ安全面で注意してください。
20kgサーボはラズパイの5Vピンから電源を取ると、電流不足でラズパイが再起動したり、故障したりする恐れがあります。サーボ用の外部電源を使い、ラズパイとGNDを共通にして接続してください。
エラーの内容がわかれば、原因をお伝えできると思います。
ありがとうございます!
https://sozorablog.com/camera_shooting/
ラズパイの監視カメラのサイトで進んでいきました。
その中で、Thonnyへコピペするところで、コピペをしたところエラーコードが出しまた。エラーコードは次のコメントで送らせてもらいます。
一度、microSDを初期化して、もう一度登録を行なったのでラズパイOSのバージョンは最新だと思います。
また、パイソンのバージョンはわかりませんが、上と同じなら最新だと思います。
この通りに進めているのでOpen CVだと思います。
よろしくお願いします。🙇
種類はラズパイ4
カメラモジュールV2です
i/vc4/rpi_apps.yaml'
[0:21:56.450755738] [2894] INFO IPAProxy ipa_proxy.cpp:184 Using tuning file /usr/share/libcamera/ipa/rpi/vc4/imx219.json
[0:21:56.459139634] [2894] INFO Camera camera_manager.cpp:223 Adding camera '/base/soc/i2c0mux/i2c@1/imx219@10' for pipeline handler rpi/vc4
[0:21:56.459202632] [2894] INFO RPI vc4.cpp:445 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media2 and ISP device /dev/media1
[0:21:56.521867675] [2889] INFO Camera camera.cpp:1216 configuring streams: (0) 3280x2464-XBGR8888/sRGB (1) 3280x2464-SBGGR10_CSI2P/RAW
[0:21:56.522482182] [2894] INFO RPI vc4.cpp:620 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10/RAW - Selected unicam format: 3280x2464-pBAA/RAW
Traceback (most recent call last):
File "<string>", line 13, in <module>
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1305, in configure
self.configure_("preview" if camera_config is None else camera_config)
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1277, in configure_
self.allocator.allocate(libcamera_config, camera_config.get("use_case"))
File "/usr/lib/python3/dist-packages/picamera2/allocators/dmaallocator.py", line 49, in allocate
fd = self.dmaHeap.alloc(f"picamera2-{i}", stream_config.frame_size)
File "/usr/lib/python3/dist-packages/picamera2/dma_heap.py", line 93, in alloc
ret = fcntl.ioctl(self.__dmaHeapHandle.get(), DMA_HEAP_IOCTL_ALLOC, alloc)
OSError: [Errno 12] Cannot allocate memory
i/vc4/rpi_apps.yaml'
[0:21:56.450755738] [2894] INFO IPAProxy ipa_proxy.cpp:184 Using tuning file /usr/share/libcamera/ipa/rpi/vc4/imx219.json
[0:21:56.459139634] [2894] INFO Camera camera_manager.cpp:223 Adding camera '/base/soc/i2c0mux/i2c@1/imx219@10' for pipeline handler rpi/vc4
[0:21:56.459202632] [2894] INFO RPI vc4.cpp:445 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media2 and ISP device /dev/media1
[0:21:56.521867675] [2889] INFO Camera camera.cpp:1216 configuring streams: (0) 3280x2464-XBGR8888/sRGB (1) 3280x2464-SBGGR10_CSI2P/RAW
[0:21:56.522482182] [2894] INFO RPI vc4.cpp:620 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10/RAW - Selected unicam format: 3280x2464-pBAA/RAW
Traceback (most recent call last):
File "<string>", line 13, in <module>
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1305, in configure
self.configure_("preview" if camera_config is None else camera_config)
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1277, in configure_
self.allocator.allocate(libcamera_config, camera_config.get("use_case"))
File "/usr/lib/python3/dist-packages/picamera2/allocators/dmaallocator.py", line 49, in allocate
fd = self.dmaHeap.alloc(f"picamera2-{i}", stream_config.frame_size)
File "/usr/lib/python3/dist-packages/picamera2/dma_heap.py", line 93, in alloc
ret = fcntl.ioctl(self.__dmaHeapHandle.get(), DMA_HEAP_IOCTL_ALLOC, alloc)
OSError: [Errno 12] Cannot allocate memory
こi/vc4/rpi_apps.yaml'
[0:21:56.450755738] [2894] INFO IPAProxy ipa_proxy.cpp:184 Using tuning file /usr/share/libcamera/ipa/rpi/vc4/imx219.json
[0:21:56.459139634] [2894] INFO Camera camera_manager.cpp:223 Adding camera '/base/soc/i2c0mux/i2c@1/imx219@10' for pipeline handler rpi/vc4
[0:21:56.459202632] [2894] INFO RPI vc4.cpp:445 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media2 and ISP device /dev/media1
[0:21:56.521867675] [2889] INFO Camera camera.cpp:1216 configuring streams: (0) 3280x2464-XBGR8888/sRGB (1) 3280x2464-SBGGR10_CSI2P/RAW
[0:21:56.522482182] [2894] INFO RPI vc4.cpp:620 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10/RAW - Selected unicam format: 3280x2464-pBAA/RAW
Traceback (most recent call last):
File "<string>", line 13, in <module>
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1305, in configure
self.configure_("preview" if camera_config is None else camera_config)
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1277, in configure_
self.allocator.allocate(libcamera_config, camera_config.get("use_case"))
File "/usr/lib/python3/dist-packages/picamera2/allocators/dmaallocator.py", line 49, in allocate
fd = self.dmaHeap.alloc(f"picamera2-{i}", stream_config.frame_size)
File "/usr/lib/python3/dist-packages/picamera2/dma_heap.py", line 93, in alloc
ret = fcntl.ioctl(self.__dmaHeapHandle.get(), DMA_HEAP_IOCTL_ALLOC, alloc)
OSError: [Errno 12] Cannot allocate memory
i/vc4/rpi_apps.yaml'
[0:21:56.450755738] [2894] INFO IPAProxy ipa_proxy.cpp:184 Using tuning file /usr/share/libcamera/ipa/rpi/vc4/imx219.json
[0:21:56.459139634] [2894] INFO Camera camera_manager.cpp:223 Adding camera '/base/soc/i2c0mux/i2c@1/imx219@10' for pipeline handler rpi/vc4
[0:21:56.459202632] [2894] INFO RPI vc4.cpp:445 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media2 and ISP device /dev/media1
[0:21:56.521867675] [2889] INFO Camera camera.cpp:1216 configuring streams: (0) 3280x2464-XBGR8888/sRGB (1) 3280x2464-SBGGR10_CSI2P/RAW
[0:21:56.522482182] [2894] INFO RPI vc4.cpp:620 Sensor: /base/soc/i2c0mux/i2c@1/imx219@10 - Selected sensor format: 3280x2464-SBGGR10_1X10/RAW - Selected unicam format: 3280x2464-pBAA/RAW
Traceback (most recent call last):
File "<string>", line 13, in <module>
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1305, in configure
self.configure_("preview" if camera_config is None else camera_config)
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1277, in configure_
self.allocator.allocate(libcamera_config, camera_config.get("use_case"))
File "/usr/lib/python3/dist-packages/picamera2/allocators/dmaallocator.py", line 49, in allocate
fd = self.dmaHeap.alloc(f"picamera2-{i}", stream_config.frame_size)
File "/usr/lib/python3/dist-packages/picamera2/dma_heap.py", line 93, in alloc
ret = fcntl.ioctl(self.__dmaHeapHandle.get(), DMA_HEAP_IOCTL_ALLOC, alloc)
OSError: [Errno 12] Cannot allocate memory
画像の解像度が高すぎて、メモリー不足になっています。
解像度を下げるか、メモリーを増やしてください。
ただし、解像度を下げすぎると画像認識できなくなるので、その辺は試行錯誤になります。
質問は何回でも編集できますので、ソースやエラーメッセージは質問を編集して提示してください。
また、ここは「解決済」になっているので、皆さんに見てもらえる可能性は低いです。
ここで続けるなら「解決済」を解除するか、あるいは、新しく質問を立てると見てもらえます。
回答1件
あなたの回答
tips
プレビュー