うらおブログ(移転しました)スマートフォン用の表示で見るやねうらおブログ(移転しました)この広告は、90日以上更新していないブログに表示しています。lego次にモーターの制御である。こいつが思ったより難しい。);とするだけでモーターは回転する。powerは0〜100である。フルパワーで回転させると大変なことになるといけないのでまずは25ぐらいで回してみよう。問題なのは、このパラメータのそれぞれの意味である。NxtCommunicator.SetOutputStateの定義を追いかけて行ってもほとんどそのままbyte[]に格納してsendMessageしているだけなのでさっぱりわからない。Commandのp.6に簡単な説明があるのだが、やはりわからない。Reference*2のpp.48-54に各フラグの詳しい説明がある。グレーブックのほうには、p.157にモーターを動かす送信データとして、各パラメータの説明があるが、説明が不足している。この著者もおそらくBDKを見て、なんとなくわかったつもりになったのだろうが、「2が複数モーターの同期をとるための設定」とか書いてあっても、そのときにどうパラメータを指定して、どうやって同期をとればいいのかわからないし、+5バイト目の説明として「回転レート」とか書いてあっても、何と何の比率なのかさっぱりわからない。Ratioを意味もわからずに翻訳しただけなのではないか。加減速の設定値」という説明があるが、同じことを説明するのに一か所にまとめないのは本としての作りが良くない。そもそも+5バイト目の意味することは、2つのモーターを同期させて動かすときの2つのモーターの回転の比率である。「回転レート」や「加減速の設定値」という言葉から、それが読み取れるだろうか?どう控え目に見ても著者自身、このパラメータの意味がわかっていないとしか思えない。モーターを制御するという一番基本の部分に対して、それぞれのパラメータに対して、もっとしっかりした説明が欲しかった。ついでに言えば、この本のなかに超音波センサーで距離を測定するプログラムのサンプルが無い。これはとても残念なことである。この本のなかで製作されたベータレックスというNXTを2台使うロボットは、ソースを見る限り、P.179で「使用するモーターとセンサー」書かれている超音波センサーもサウンドセンサーも使っていない。とりつけてある超音波センサーもサウンドセンサーもただの飾りである。このベータレックスにしても相当の試行錯誤が必要な作品で、このような重量級の作品がNXT2台の連携で動いていること自体特筆すべきことだから。ところで、私も、NXTが到着したばかりなので、このコマンドのすべてのパラメータの意味を正確に把握している自信は無い。以下に私が理解している範囲でNxtCommunicator.SetOutputStateの定義に説明を書いて掲載しておくので、間違いがあれば今日のコメント欄で教えてもらえるとありがたい。グレーブックにも以下の程度の説明は欲しかった。ダイレクトコマンド送信。システムコマンド送信。