質問するログイン新規登録

Q&A

解決済

1回答

988閲覧

工業高校の課題研究です。プログラムを教えてください

yosshiiii

総合スコア0

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

プログラミング教育

プログラミング教育は、子どもから社会人までを対象にしたプログラミング学習支援、教材紹介、教え方の工夫などに関する投稿に使用されます。

0グッド

0クリップ

投稿2026/10/08 01:01

0

0

ここに言語を入力 ``` コード ```私は今、工業高校で課題研究に取り組んでいます。 タイトルは「自動分別ゴミボックス」です AIを使いカメラで認識し、缶か、ペットボトル判断し、制御してサーボを動かしてラズベリーパイでプログラムしようと思っています。 イメージではカメラで判定し、サーボを回して 左側の穴は缶、右側の穴はペットボトルなど で、落として分別しようと思っています。 今ある物は、 ラズベリーパイ4 ラズベリーパイ用のカメラ マイクロSD 360度サーボ 20kgのサーボ(180度) ブレッドボードのジャンパー線 サーボ用2分岐ケーブル五本セット サーボの多機能シリアル信号変換器 です。 ラズベリーパイの初期設定は終わりました。 Googleドライブにも登録はしてあります。 その後の詳しいプログラムと モーターと接続したり、カメラで判定した結果によってモーターを動かす方法を教えて欲しいです。 また他に必要なものがあれば教えて欲しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

yosshiiii

2026/10/19 23:16

ありがとうございます。今取り組んでいるんですがエラーが出ててこのエラーの内容を知りたいです。
teratailerrrr

2026/10/20 08:07

エラーの内容を確認するため、次の情報を教えていただけますか? 1. エラーメッセージ全文 画面に表示された文字をそのままコピーして貼り付けてください。スクリーンショットだけでなく、テキストでもあるとありがたいです。 2. 実行したコマンドとコード どのファイルを、どのコマンドで実行したかを教えてください(例:python3 main.py)。コードも貼っていただけると原因を特定しやすくなります。 3. 環境 Raspberry Pi OSのバージョン Pythonのバージョン 使用しているライブラリ(例:gpiozero、pigpio、OpenCV、TensorFlow Liteなど) 4. どの段階でエラーが出たか カメラの起動、AIの判定、サーボの動作のうち、どこで止まりましたか? また、1点だけ安全面で注意してください。 20kgサーボはラズパイの5Vピンから電源を取ると、電流不足でラズパイが再起動したり、故障したりする恐れがあります。サーボ用の外部電源を使い、ラズパイとGNDを共通にして接続してください。 エラーの内容がわかれば、原因をお伝えできると思います。
yosshiiii

2026/10/22 00:53

ありがとうございます! https://sozorablog.com/camera_shooting/ ラズパイの監視カメラのサイトで進んでいきました。 その中で、Thonnyへコピペするところで、コピペをしたところエラーコードが出しまた。エラーコードは次のコメントで送らせてもらいます。 一度、microSDを初期化して、もう一度登録を行なったのでラズパイOSのバージョンは最新だと思います。 また、パイソンのバージョンはわかりませんが、上と同じなら最新だと思います。 この通りに進めているのでOpen CVだと思います。 よろしくお願いします。🙇 種類はラズパイ4 カメラモジュールV2です
yosshiiii

2026/10/22 01:54

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
hiroki-o

2026/10/22 09:42

画像の解像度が高すぎて、メモリー不足になっています。 解像度を下げるか、メモリーを増やしてください。 ただし、解像度を下げすぎると画像認識できなくなるので、その辺は試行錯誤になります。 質問は何回でも編集できますので、ソースやエラーメッセージは質問を編集して提示してください。 また、ここは「解決済」になっているので、皆さんに見てもらえる可能性は低いです。 ここで続けるなら「解決済」を解除するか、あるいは、新しく質問を立てると見てもらえます。
guest

回答1件

0

ベストアンサー

全体を以下のように分割して、最後にガッチャンコすると考えやすいです。

  1. カメラ撮影
    対象物はトレイに載せて固定されているのか、工場のラインのように流れているのか。
    動画で撮って切り取るのか、最初から静止画で撮るのか。

  2. AI判定
    AIは何を使うか。この程度の判定なら、Vision対応モデルなら何でもよいでしょう。
    タグにYOLOがありますが、私は使ったことが無いのですが、そういうAI込みなんでしょうか。

  3. 穴に落とす
    とりあえず、缶かペットボトルか決め打ちで、動くメカ部を作る。

1から2に画像を渡し、2から3に判定を渡す流れです。

全体的な話として、このシステムは

  • Googleドライブに接続しているということは、外部ネットワークに接続可能?
  • ラズパイのみ? PCやPLCは使用しない?
  • 言語はタグにあるようにPythonのみ?

等を確認しておきたいところです。

ある程度は自分で作ってみて、この辺りが上手くいかないですという質問なら、具体的な回答が得られると思います。

投稿2026/10/08 10:33

hiroki-o

総合スコア1935

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問