日本語でOpenAgについて語るスレ


#21

すでに日本国内外でパーツ購入を始めている方に提案と言うかヘルプ要請です。
上に書きました通り、パーツ集めで苦戦中です。
私も含めですが今後日本でPFCを作ろうと考える人のためにBOMに書かれているパーツ類を日本で手に入れるための対応表のような物を作りませんか?
よろしければGoogle Driveのスプレッドシートを共有して書き込めるようにしますが、いかがでしょうか。
ひょっとしたらV2のキットの販売が始まったら必要無くなるリストなのかもしれませんが、日本で手に入るパーツは知っておいても損はないかなと思いまして。
「このパーツはこのお店で手に入れました」みたいな情報が集まると嬉しいなと思っています。

皆さんいかがでしょうか?お返事待っていますm(_ _)m
もし、「Googleスプレッドシートではなくて、こんな共有方法のほうが便利」という方法がございましたら、そちらも是非ご提案ください。
よろしくお願いいたします。


#22

ひとり言です。

PFCを製作にとりかかる前の段取りしてます。
自分でやるところと製作委託を分けてとっかかりです。

シグナルボードのレイアウトを完成させてPCBAへ発注完了。納品は4月末頃。
アクリル製作の見積もり合わせを終え、本日ブレインとウォーターの取り付け部分を発注。
これも納品まで2週間程度。
時間もあって近くにFAB houseがあればアクリルカットは自分でやった方が安上がりかもしれません。

EC pHプローブ類とプローブの基板は入手。温湿度のプローブも到着。
レザボアタンクは、高効率の水&ガスの二重構造で冷やす熱交換式の特殊構造チラー専用です。
初期費用は高くランニングコストを低くするか、逆で行くか、考え方次第。

RasPi3とArduinoとつないでソフトウェアインストールで気づいた事。
arduinoはオリジナルでない場合、USBコントローラーによっては/dev/ttyACM0でなく/dev/ttyUSB0になるのでインストールでハマります。docker版はymlの修正を。

Installing openag_brain with Docker
docker版と呼んでいます。
openag_brain_docker_rpiは確実、簡単。
インストールを完了し「動いているようだ」。まだ16chリレーもsignal boardも未接続、センサー類やモーター類も接続しているわけではないのでほんまに動いているかは未定。

Working with ROS
globally版
一方、openag_brain_install_rpiをdocker版と一緒にインストールは❌。ポート取り合いになって起動しません。別のSDイメージにインストールする事。

bashの環境設定の問題なのか、ROSなのか、openag_brainパッケージなのか分からないが動いちゃくれない。最終盤に/catkin_ws内をアクティベートして、.bashrcに export して
rosrunコマンドでfixturesを読み込めば運用開始と解釈しているが、
rosrun openag_brain main -f default も-fなんてオプションなんてあれへんでと怒られるからな。
docker版をps -ax | grep openag_brain で見てみると
python /home/pi/catkin_ws/src/openag_brain/scripts/main personal_food_computer_v2.launch -D http://db:5984 -A http://brain:5000 --screen
( ,`・ω・´)ンンン? main -f default なんて使ってないし -D -Aのオプションを使ってる。rosrunのオプションは完全に変わってます。

ROSもほとんど分からないのでROS.orgのcatkinパッケージを眺めている最中。

それと、OS起動時に動くようにsystemctl enable openag.service としているが恐らくrosrunが動かないからアクティブにならない。
手作業でスクリプト内容を変更しながら stop start restartなど繰り出しているが状況は変わらず。

⇒その後、fixtures を指定すると思っていたが勘違いだった。
ROSのマニュアルから rosrun の指定は launch file 指定と判明。
/opt/openag_run.sh に personal_food_computer_v2.launch と指定してrosrunした所、何事もなく起動。
但し要確認箇所あり。 launch file にarduinoのポート /dev/ttyACM0 とデバイス指定があるので、お使いのarduino によっては書き換えを。私は/dev/ttyUSB0でした。

日々ソフトウェアのupdateが発生し、運用変更となってる可能性があります。あらゆるところを興味深く、未知の領域を自力で開拓する、このプロジェクトメンバーのつもりで。

最後に、照明、電源系と循環器系の発注はまだだ。
早くレシピの実験と蓄積に取り掛かりたい。


#23

素晴らしい提案だと思います!
日本で購入できれば作りやすさがとても楽になりますね!
既存のOrdering BOMに、日本での購入可能情報を上書きしていくのが私も良いと考えています。


#24

返信ありがとうございます。
既存のBOMへ上書きということはGitHubのXLSXファイルを編集することになるんですかね?
すみません、GitHubってダウンロードばかりで何か追記するようなアクションしたことなくて。。
調べて編集やってみます!


#25

既存のBOMファイルをgoogleスプレッドシートに変換して公開すればよいのかなと考えていました。
ただ、編集権限を誰まであげるかが問題で、編集権限を全員に付与して公開するといたずらに書き込まれる可能性があるけど、編集権限を持つ人を許可制にして書き込みたいって思った人がいちいち許可を取る必要があるのも面倒ですよね。。
ですが、後者の方が良いかなと個人的には思います。


#26

spaghetさん、

現在chillerモジュールの作成に取り掛かっていまずが、購入できない製品が(複数?)あるようで、進められない状況です。
別スレッドでは以下のリンクの商品が代替品として紹介されていますが、これの購入のみで十分なのでしょうか?
教えていただけると助かります。


#27

BOMファイル→Googleスプレッドシートの変換でしたら当初考えていた方法ですね。
まずは作って考えましょうか。
編集権限はGoogleグループ作ってグループ内メンバーへ編集権限を付けますので、準備できましたらこちらにお知らせします。
上手く行かなければ、別の方法を考えましょう:sweat_smile:


#28

返信が遅れてすみません。
現行のChillerは空気の冷却に使われているのでおそらくそのChillerとは違うものになるかと思います。

具体的な代替品に関しては日本に実際にいる方々のほうが詳しいかもしれませんが、Radiatorを通して冷却するようなPCの液冷に近いものです。ペルチェ素子などでは性能が足りないということでしたが、現在こちらでもSolid Stateで量産可能なものを探しているところです。


#29

https://github.com/OpenAgInitiative/openag_pfc2 で japanブランチを切っていただくなり、Forkしてもらってそこで新しいBOMや手順の翻訳を行うと他の人も見つけやすくなるかと思います。翻訳に関してはおそらく今後Instructionsが大幅に書き換えられるのでその後僕がガガっと行う予定です。

Gitは結構かんたんなのでこの様なものだったり、


こういう使い方ガイドみたいなのがたくさんあるので是非この機会でオープンソースの世界へ


#30

ちょうどそのあたりのプロセスを @gordonb が書き換えてる最中なのでかなり不安定かと思います。
ある程度落ち着いたタイミングでドキュメントの更新に取り掛かる予定です。


#31

ご回答いただきありがとうございます!

現在、docker環境でのソフトウェアインストールで苦戦していまして、
http://wiki.openag.media.mit.edu/openag_brain/installing/installing_with_docker
に書いてある通りに行ったのですが、センサ読み取りでのエラーのためか、
rostopic echo <topic_name> を入力しても、データが出力されませんでした。(<topic_name> は/sensors/am2315_1/air_temperature/raw など) また、 rostopic echo /diagnostics
としてみると、
以下のような出力が得られ、シリアル通信自体はできていそうですが、データがうまくとれていないように見えます・・
dockerのイメージやopenag_brainレポジトリは4/16時点で最新のものを使用しているのですが、現時点でなにか解決策はありますでしょうか。なにか解決策があれば教えていただきたいです。
長文失礼しますが、宜しくお願いします。

header:
seq: 1
stamp:
secs: 0
nsecs: 0
frame_id: ''
status:

level: 0
name: chiller_fan_1
message: ''
hardware_id: ''
values: []
  • level: 0
    name: led_blue_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: heater_core_1_1
    message: ''
    hardware_id: ''
    values: []
  • level: 2
    name: ds18b20_1
    message: Unable to find address for sensor
    hardware_id: ''
    values: []
  • level: 0
    name: water_aeration_pump_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: led_red_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: heater_core_2_1
    message: ''
    hardware_id: ''
    values: []
  • level: 2
    name: atlas_ph_1
    message: No response
    hardware_id: ''
    values: []
  • level: 0
    name: pump_1_nutrient_a_1
    message: ''
    hardware_id: ''
    values: []
  • level: 1
    name: mhz16_1
    message: Initializing
    hardware_id: ''
    values: []
  • level: 0
    name: am2315_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: water_circulation_pump_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: water_level_sensor_high_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: chiller_pump_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: pump_3_ph_up_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: pump_5_water_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: pump_2_nutrient_b_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: led_white_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: chiller_compressor_1
    message: ''
    hardware_id: ''
    values: []
  • level: 2
    name: atlas_ec_1
    message: No response
    hardware_id: ''
    values: []
  • level: 0
    name: air_flush_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: chamber_fan_1
    message: ''
    hardware_id: ''
    values: []
  • level: 0
    name: pump_4_ph_down_1
    message: ''
    hardware_id: ''
    values: []

#32

ハードウェア構成に関して補足しますと、
PFC2.0標準のセンサのうち、水温度センサ以外の6つのセンサ(EC、pH、水位*2、CO2、気体温度を測定するセンサ)を取り付けて読み込もうとしています。

http://wiki.openag.media.mit.edu/openag_brain/fixtures
を参考にfixturesに変更を加え読み込ませたのですが、うまくいきませんでした。。


#33

試しにECとpHセンサーを抜いてもう一度試してみてください。
これでair_temperature辺りが動き出したら AtlasのEZOボードをI2Cに切り替えていないということになります。


ここの40ページ、41ページ目辺りで紹介されている手順でどうにかなるはずです。

もしそれで解決しない場合はまた連絡してください。まだ直面したことのない問題です。


#34

返信遅くなってゴメンナサイ。
ではGitの方で挑戦してみます。
ありがとうございました:slight_smile:


#35

ゴールデンウイーク期間中の、本業が大忙し時期にシグナルボードが到着。
現在、テスト検証の準備中

Atlas Scientificの EZO circuit を繋いで通電。PCB発注の際、このサーキットコネクタ部分とArduinoへつなぐ長足のヘッダーピン、リレーボードへ繋ぐコネクタの指定が無いので要注意です。

うまくいきました。


Arduino_handler: serial_connection.readline() broken
#36

問題に直面して抜け出せない~。

pi@openag sudo service openag_brain start

起動直後はデータの送受信ができているのに、2分もすると下のエラーメッセージとなります。

Lost sync with device, restarting…
Lost sync with device, restarting…
Lost sync with device, restarting…

現在、センサーは温湿度、水温、CO2、ph、ECの各センサーを装着しています。

pi@openag rostopic echo /diagnostics

でtopicsを拝見したい所ですが、数値は表れません。一方、個々のrostopics echo ではデータは取れています。また、CouchDBにも蓄積されています。

openag_ui 上でも/dev/video0 の画像は見る事ができますが、センサーデータは"最初だけ"蓄積になっています。

実際の送受信データの中身は実際どうなってるんだろうと jpnevulator を使って

pi@openag jpnevulator -ra -t /dev/ttyACM0

見てみたところ、やはり最初だけ送受信できていますが、時間が経つと送受信がストップします。バイナリデータは見てても面白くありませんが、最後の所だけ。このような現象ののちに同期をロストしています。長いログ貼り付けすいません。あとで不要な所はカットします。

00 00 73 74 64 5F 6D 73 67 73 2F 42 6F 6F 6C 20 ..std_msgs/Bool
00 00 00 38 62 39 34 63 31 62 35 33 64 62 36 31 ...8b94c1b53db61
66 62 36 61 65 64 34 30 36 30 32 38 61 64 36 33 fb6aed406028ad63
33 32 61 00 02 00 00 84 FF FE 5C 00 A3 01 00 72 32a.......\....r
00 1A 00 00 00 2F 61 63 74 75 61 74 6F 72 73 2F ...../actuators/
61 69 72 5F 66 6C 75 73 68 5F 31 2F 63 6D 64 10 air_flush_1/cmd.
00 00 00 73 74 64 5F 6D 73 67 73 2F 46 6C 6F 61 ...std_msgs/Floa
74 33 32 20 00 00 00 37 33 66 63 62 66 34 36 62 t32 ...73fcbf46b
34 39 31 39 31 65 36 37 32 39 30 38 65 35 30 38 49191e672908e508
34 32 61 38 33 64 34 00 02 00 00 2E FF FE 5B 00 42a83d4.......[.
A4 01 00 73 00 1C 00 00 00 2F 61 63 74 75 61 74 ...s...../actuat
6F 72 73 2F 63 68 61 6D 62 65 72 5F 66 61 6E 5F ors/chamber_fan_
31 2F 63 6D 64 0D 00 00 00 73 74 64 5F 6D 73 67 1/cmd....std_msg
73 2F 42 6F 6F 6C 20 00 00 00 38 62 39 34 63 31 s/Bool ...8b94c1
62 35 33 64 62 36 31 66 62 36 61 65 64 34 30 36 b53db61fb6aed406
30 32 38 61 64 36 33 33 32 61 00 02 00 00 B2 FF 028ad6332a......
FE 5E 00 A1 01 00 74 00 1F 00 00 00 2F 61 63 74 .^....t...../act
75 61 74 6F 72 73 2F 70 75 6D 70 5F 34 5F 70 68 uators/pump_4_ph
5F 64 6F 77 6E 5F 31 2F 63 6D 64 0D 00 00 00 73 _down_1/cmd....s
74 64 5F 6D 73 67 73 2F 42 6F 6F 6C 20 00 00 00 td_msgs/Bool ...
38 62 39 34 63 31 62 35 33 64 62 36 31 66 62 36 8b94c1b53db61fb6
61 65 64 34 30 36 30 32 38 61 64 36 33 33 32 61 aed406028ad6332a
00 02 00 00 71 FF FE 08 00 F7 0A 00 00 00 00 00 ....q...........
00 00 00 00 F5 FF FE 63 00 9C 00 00 7D 00 15 00 .......c....}...
00 00 2F 69 6E 74 65 72 6E 61 6C 5F 64 69 61 67 ../internal_diag
6E 6F 73 74 69 63 73 1C 00 00 00 6F 70 65 6E 61 nostics....opena
67 5F 62 72 61 69 6E 2F 44 69 61 67 6E 6F 73 74 g_brain/Diagnost
69 63 41 72 72 61 79 20 00 00 00 66 38 65 64 33 icArray ...f8ed3
33 63 66 31 30 39 38 34 33 32 39 61 31 63 66 31 3cf10984329a1cf1
30 66 37 37 62 39 38 30 36 33 39 00 02 00 00 25 0f77b980639....%
FF FE 64 00 9B 00 00 7E 00 22 00 00 00 2F 73 65 ..d....~.".../se
6E 73 6F 72 73 2F 64 73 31 38 62 32 30 5F 31 2F nsors/ds18b20_1/
74 65 6D 70 65 72 61 74 75 72 65 2F 72 61 77 10 temperature/raw.
00 00 00 73 74 64 5F 6D 73 67 73 2F 46 6C 6F 61 ...std_msgs/Floa
74 33 32 20 00 00 00 37 33 66 63 62 66 34 36 62 t32 ...73fcbf46b
34 39 31 39 31 65 36 37 32 39 30 38 65 35 30 38 49191e672908e508
34 32 61 38 33 64 34 00 02 00 00 AA FF FE 72 00 42a83d4.......r.
8D 00 00 7F 00 30 00 00 00 2F 73 65 6E 73 6F 72 .....0.../sensor
73 2F 61 74 6C 61 73 5F 70 68 5F 31 2F 77 61 74 s/atlas_ph_1/wat
65 72 5F 70 6F 74 65 6E 74 69 61 6C 5F 68 79 64 er_potential_hyd
72 6F 67 65 6E 2F 72 61 77 10 00 00 00 73 74 64 rogen/raw....std
5F 6D 73 67 73 2F 46 6C 6F 61 74 33 32 20 00 00 _msgs/Float32 ..
00 37 33 66 63 62 66 34 36 62 34 39 31 39 31 65 .73fcbf46b49191e
36 37 32 39 30 38 65 35 30 38 34 32 61 38 33 64 672908e50842a83d
34 00 02 00 00 F0 FF FE 67 00 98 00 00 80 00 27 4.......g......'
00 00 00 2F 73 65 6E 73 6F 72 73 2F 6D 68 7A 31 .../sensors/mhz1
36 5F 31 2F 61 69 72 5F 63 61 72 62 6F 6E 5F 64 6_1/air_carbon_d
69 6F 78 69 64 65 2F 72 61 77 0E 00 00 00 73 74 ioxide/raw....st
64 5F 6D 73 67 73 2F 49 6E 74 33 32 20 00 00 00 d_msgs/Int32 ...
64 61 35 39 30 39 66 62 65 33 37 38 61 65 61 66 da5909fbe378aeaf
38 35 65 35 34 37 65 38 33 30 63 63 31 62 62 37 85e547e830cc1bb7
00 02 00 00 FB FF FE 64 00 9B 00 00 81 00 22 00 .......d......".
  
==省略==

61 38 33 64 34 00 02 00 00 2E FF FE 5B 00 A4 01 a83d4.......[...
00 73 00 1C 00 00 00 2F 61 63 74 75 61 74 6F 72 .s...../actuator
73 2F 63 68 61 6D 62 65 72 5F 66 61 6E 5F 31 2F s/chamber_fan_1/
63 6D 64 0D 00 00 00 73 74 64 5F 6D 73 67 73 2F cmd....std_msgs/
42 6F 6F 6C 20 00 00 00 38 62 39 34 63 31 62 35 Bool ...8b94c1b5
33 64 62 36 31 66 62 36 61 65 64 34 30 36 30 32 3db61fb6aed40602
38 61 64 36 33 33 32 61 00 02 00 00 B2 FF FE 5E 8ad6332a.......^
00 A1 01 00 74 00 1F 00 00 00 2F 61 63 74 75 61 ....t...../actua
74 6F 72 73 2F 70 75 6D 70 5F 34 5F 70 68 5F 64 tors/pump_4_ph_d
6F 77 6E 5F 31 2F 6D 64 0D 00 00 00 73 74 64 5F own_1/md....std_
6D 73 67 73 2F 42 6F 6F 6C 20 00 00 00 38 62 39 msgs/Bool ...8b9
34 63 31 62 35 33 64 62 36 31 66 62 36 61 65 64 4c1b53db61fb6aed
34 30 36 30 32 38 61 64 36 33 33 32 61 00 02 00 406028ad6332a...
00 71 FF FE 04 00 FB 80 00 A9 00 00 00 D6 FF FE .q..............
04 00 FB 81 00 CD CC 42 42 61 FF FE 04 00 FB 82 .......BBa......
00 66 66 C6 41 AA FF FE 01 00 FE 83 00 01 7B    .ff.A.........{
FF FE 04 00 FB 7E 00 00 80 B3 41 0D             .....~....A.
FF FE 08 00 F7 0A 00 00 00 00 00 00 00 00 00 F5 ................
^C

こちらは jpnevulator を起動している最中にデータ送受信を行った際の標準エラー出力です。raspberry pi と arduino の間に jonevulator が割り込み、データを取っているのでいくつか見た事のないエラーメッセージも散見しています。こちらも後でカットしておきます。

pi@openag:~ $ ps ax | grep ACM0
  823 pts/0    S+     0:00 jpnevulator -ra -t /dev/ttyACM0
 1896 pts/1    S+     0:00 grep --color=auto ACM0
pi@openag:~ $ /opt/ros/indigo/lib/rosserial_python/serial_node.py /dev/ttyACM0
[INFO] [WallTime: 1497596206.432921] ROS Serial Python Node
[INFO] [WallTime: 1497596206.455046] Connecting to /dev/ttyACM0 at 57600 baud
[ERROR] [WallTime: 1497596223.568547] Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
[WARN] [WallTime: 1497596223.923816] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596224.209930] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596224.427284] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596224.454610] Serial Port read returned short (expected 1 bytes, received 0 instead).
[WARN] [WallTime: 1497596224.458068] Serial Port read failure:
[WARN] [WallTime: 1497596224.513661] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596225.020761] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[INFO] [WallTime: 1497596225.077949] wrong checksum for msg length, length 92
[INFO] [WallTime: 1497596225.079563] chk is 100
[WARN] [WallTime: 1497596225.123920] Serial Port read failure: [Errno 11] Resource temporarily unavailable
[WARN] [WallTime: 1497596225.133307] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[ERROR] [WallTime: 1497596225.508653] Mismatched protocol version in packet: lost sync or rosserial_python is from different ros release than the rosserial client
[INFO] [WallTime: 1497596225.511311] Protocol version of client is unrecognized, expected Rev 1 (rosserial 0.5+)
[WARN] [WallTime: 1497596225.520999] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596226.160139] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596226.418488] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[ERROR] [WallTime: 1497596226.463166] Mismatched protocol version in packet: lost sync or rosserial_python is from different ros release than the rosserial client
[INFO] [WallTime: 1497596226.465632] Protocol version of client is unrecognized, expected Rev 1 (rosserial 0.5+)
[WARN] [WallTime: 1497596226.480480] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596226.665835] Serial Port read returned short (expected 94 bytes, received 19 instead).
[WARN] [WallTime: 1497596226.670744] Serial Port read failure:
[INFO] [WallTime: 1497596226.678911] Packet Failed :  Failed to read msg data
[INFO] [WallTime: 1497596226.693895] msg len is 8
[INFO] [WallTime: 1497596228.378263] Note: subscribe buffer size is 512 bytes
[INFO] [WallTime: 1497596228.380098] Setup subscriber on /actuators/air_flush_1/cmd [std_msgs/Float32]
[WARN] [WallTime: 1497596230.229044] Serial Port read returned short (expected 1 bytes, received 0 instead).
[WARN] [WallTime: 1497596230.230843] Serial Port read failure:
[WARN] [WallTime: 1497596230.490037] Serial Port read failure: [Errno 11] Resource temporarily unavailable

==省略==

[WARN] [WallTime: 1497596304.082461] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596304.262329] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[WARN] [WallTime: 1497596304.447288] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[INFO] [WallTime: 1497596304.471393] wrong checksum for msg length, length 30064
[INFO] [WallTime: 1497596304.474656] chk is 0
[WARN] [WallTime: 1497596304.500975] Serial Port read failure: device reports readiness to read but returned no data (device disconnected?)
[ERROR] [WallTime: 1497596315.243905] Lost sync with device, restarting...
[ERROR] [WallTime: 1497596330.247235] Lost sync with device, restarting...
[ERROR] [WallTime: 1497596345.250093] Lost sync with device, restarting...
[ERROR] [WallTime: 1497596360.253003] Lost sync with device, restarting...
^C[INFO] [WallTime: 1497596363.660404] Send tx stop request

Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
と表示されていますが、これはjpnevulatorが影響しての表示です。

/opt/ros/indigo/lib/python2.7/dist-packages/rosserial_python/SerialClient.py 中の Lost sync with device, restarting…で通信が一時的に復帰しますが、その後はギブアップします。

timeout の値を変えても変化はなく、baud rateを変えても✕
何が原因なのか「?」です。

もう少し解析にトライしてみますがギブアップ気味。
ボードはうまくいったがソフトが期待通り動きません。


#37

同じような症状が出ました。
こちらの環境でも、/diagnostics では @tatsu さんのような表示が出ましたが、 couchdbには数値が登録されておりましたヨ。
但し、こちらのシステムでも期待通りにはまだ動いていませんが。


#38

うーん・・
rosrun openag_brain firmware -t upload -p ros -f personal_food_computer_v2.yamlでArduinoに書き込みはしましたか?

おそらく使っているバージョンが見た感じrosserialを使っているものなので多分Arduinoのファームウェアが最新じゃないようにみえます


#39

今はdocker バージョンと globally バージョンともに平行して試行錯誤中です。

arduinoのファームは新しいものになっているとは思うのですが、下記のような手順でソースをコンパイルしています。
書き込みの際はもちろん ps -ax | grep /dev/ttyACM0 (/dev/ttyUSB0の個体もあり)でプロセスを確認して kill -9 XXX(プロセス番号) した後に書き込みしています。

共通していえるのはコマンドの前後は訳もわからず手探りでやっていますので、やる意味の無いこともやっているかと思います。「それ意味ないよ」をご指摘ください。

pi@openag:~ $ rosrun openag_brain flash

ではdocker、globallyどちらも openag_atlas_ec.h がないというエラーが出ます。
対応策としてplatformio のライブラリを使います。

pi@openag:~ $ cd ~/catkin_ws/src/openag_brain
pi@openag:~/catkin_ws/src/openag_brain $ platformio init

で platformio.ini を作成し

pi@openag:~/catkin_ws/src/openag_brain $ platformio upgrade
pi@openag:~/catkin_ws/src/openag_brain $ platformio update

でplatformio を 3.3.1にした後update

pi@openag:~/catkin_ws/src/openag_brain $ platformio lib install openag_atlas_ec
pi@openag:~/catkin_ws/src/openag_brain $ platformio lib update 

でplatformio に openag_atlas_ec ライブラリを追加し、その後ライブラリ全体もupdateします。

pi@openag:~/catkin_ws/src/openag_brain $ platformio run -t upload

plafformio でarduino に firmware 書き込み。
platformio でfirmware 書き込みできるのを確認してから
platformio run -t clean して作業エリアをいったんクリア
これができないとopenag cliでバイナリ書き込みできない。

openag コマンドのソースを見てもplatformioコマンドを使っているので
とにかくplatformioが肝心かなと考えて上記の作業をしています。

pi@openag:~/catkin_ws/src/openag_brain $ openag db init --db_url http://db:5984

新しいopenag cli は openag db init だけではイニシャライズしないようなので
上のコマンドで初期化しています。

pi@openag:~/catkin_ws/src/openag_brain $ openag firmware init
pi@openag:~/catkin_ws/src/openag_brain $ openag db load_fixture fixtures/default.json
pi@openag:~/catkin_ws/src/openag_brain $ openag db load_fixture fixtures/personal_food_computer_v2.json
pi@openag:~/catkin_ws/src/openag_brain $ openag firmware run -p ros -t upload 

openag コマンドを使ってバイナリ書き込み。
最後のファームウェア書き込みのコマンドは、

pi@openag:~/catkin_ws/src/openag_brain $ openag firmware run -p ros -t upload -f personal_food_computer_v2.yaml

では、エラーで読み込みできず、

-f fixtures/personal_food_computer_v2.json

でバイナリを書き込むとOKでしたが、結果は同じでした。

この状態でも

pi@openag:~/catkin_ws/src/openag_brain $ rosrun openag_brain flash

で最初とopenag_atlas_ec.hが無いという同じエラーが出ます。

最初から組みなおしてみます。気長にやってみますわー

そうそう globally を 下記のwiki を参考に
https://wiki.openag.media.mit.edu/openag_brain/installing/installing_globally

github からダウンロードして scripts/install_dev でインストールしても全く動かないのです。
ダウンロード元は

git clone http://github.com/OpenAgInitiative/openag_brain.git
で合ってますか?

少し前の
git clone https://github.com/OpenAgInitiative/openag_brain_install_rpi.git
で ./install.sh
ではありませんよね。


#40

んー・・・確かopenag_atlas_ec.hの問題は firmware/lib/openag_atlas_ecの中にopenag_module.hが入っているのとlibrary.jsonかmodule.jsonが欠損してるのが原因だった気がしますね。最新のDevelopブランチでは解決済みで、masterでも解決済みだと思います。

今月末にStableを公開する予定ですが、今のところglobal installは:

$ cd ~
$ git clone https://github.com/OpenAgInitiative/openag_brain.git catkin_ws/src/openag_brain
$ cd catkin_ws/src/openag_brain/scripts
$ ./install_dev

だと思います。その後

$ source catkin_ws/devel_isolated/setup.bash
$ rosrun openag_brain firmware -t upload
$ rosrun openag_brain main personal_food_computer_v2.launch

で動くかと思います・・
UIに関しては

$ cd ~
$ git clone https://github.com/OpenAgInitiative/openag_ui
$ cd openag_ui
$ npm install 
$ npm run couchapp_deploy

で http://{IP}:5984/app/_design/app/_rewrite でアクセス可能になるかと思います。