質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

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

Python

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

Q&A

解決済

2回答

2346閲覧

RaspberryPiでの並列処理アーキテクチャについて

tkw

総合スコア14

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

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

Python

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

0グッド

0クリップ

投稿2019/07/02 13:29

編集2019/07/02 13:33

前提・実現したいこと

RaspberryPiをメインプロセッサとして、ロボット製作を進めています。
(RaspberryPi3B+,もしくはRaspberryPiZeroW)

プログラミング言語は、Python3です。

今後、ロボットには以下のようなセンサやアクチュエータを搭載していきたいと考えています。

出力系
  • 360度サーボモーター(FS90R)
  • 180度サーボモーター(SG90)
  • スピーカー
  • LED
入力系
  • コントローラ(ゲームパッド)
  • カメラ(PiCamera)
  • 人感センサ
  • 加速度・ジャイロセンサ
  • 接触スイッチ(マイクロスイッチ)
  • カラーセンサ

発生している問題

上記のセンサやアクチュエータを単体で動作させる方法は、
インターネットで検索すれば、何かしらの実装例を見つけることができるのですが、
最終的にこれらのデバイス制御スクリプトを並列に実行して、
センサやアクチュエータが協調動作する制御ソフトウェアを作り上げたいと考えています。

このような、制御ソフトウェアを作るためには、
どのようなソフトウェア構造にするのが一般的でしょうか。

現時点で私が思い浮かべているのは、

  • Python MultiProcessing
  • Python Threading
  • Socket通信
  • プロセス間通信

といったライブラリの組み合わせによる実装です。

また、場合によっては

  • Node.red
  • ROS

の利用も視野に入れようと思っています。

うまい方法があれば、ぜひ教えて下さい。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ROSがオススメです

センサ類が非常に多いので、これら一つ一つをスムーズに並列処理させるとなるとROSがオススメです。
ROSは学習コストが高く、理解や動作に時間を要しますが、ロボット分野以外でも活かせるシーンがあるので勉強しておいて損はないですよ。


以下にいくつか参考サイトのリンクを貼っておきます。

投稿2019/07/02 14:34

Ryupe

総合スコア426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkw

2019/07/03 09:26

ご返答ありがとうございます。 調べてみると、ROS2というバージョンも登場し始めているようですね。 今後、ROS2へ主流が移っていく可能性も大いにありそうなので、今のうちからそちらで検討を進めると先見がありそうですね! できればコンパクトな Raspberry Pi Zero で制御をおさめたいのですが、改めてスペックをながめると少々欲張りな気がしてきました笑
Ryupe

2019/07/03 12:24

そうですね。ROS2のバージョンでやるのもありでしょう。 ただ、ネット上にある情報がまだ少ないので、セミナーなどに足を運ぶなり必要かもしれないですね。 日本では未発売ですが、先週あたりに「Raspberry Pi 4」が登場してかなりスペックアップしてるのでそちらで開発すると面白そうです。 ROSって重いイメージがあるので「Raspberry Pi Zero」で動くのか怪しいところです笑
guest

0

まあ、pythonやらソケットやらプロセス間通信というのはあくまでラズパイの上で走っているLinuxの手のひらで踊る、という形式となります
まあ、あなたの実現しようとする要求仕様が、それで間に合うならそんでいいんじゃないでしょうか。

そんで間に合わないと言うならその他の方法を探るという話となります。
がんばってください

投稿2019/07/02 13:36

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryupe

2019/07/02 14:24

そのような回答は不要ですwww
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問