開発日誌(31)

トップへ戻る
開発日誌インデックスへ
前のページへ

最新へ↓

8月8日

レイトショーで「アリエッティ」を観てきたんですが、 あれですね。 なんか作りがザツな感じ。 盛り上がらずに終わっちゃった。

 

やっぱストレッチが大事だってことで、ストレッチ設定コマンドを送り込めるようにプログラムを修正しました。 とりあえず、ストレッチを変えて歩かせてみたりしたのだけど、あんまり顕著な差はないなぁ。 差があるくらいにストレッチを緩くすると歩けないし。

ストレッチの続きはまたそのうちに。 キャプチャーした関節角度からZMPを計算してみます。

これがロボットの重心の軌跡。 

ってこれからZMPを計算するってことは、やばいんじゃないかなーと思い始めたけどやってみたら。

加速度が命なのに、こんなにふらふらしてたらダメだわなぁ。 ちなみに与えた角度列で計算すると、

これはカーブ歩行のデータですが、軸足切り替わり時のスパイクが有るけど、まぁまぁ。。

キャプチャーデータはノイズだったり精度だったりでふらついているので同じ精度での計算はできそうにありません。 真値を知るにはキャプチャーデータにカルマンフィルターでもかけなきゃダメなんスかね。 ちなみに簡単なノイズフィルターを試してみたけど効果なしでした。

足首のストレッチを加減して、足裏センサーで足裏が接地しているのを確認しながら関節角度からZMPを逆算してフィードバックをかけられないかな、と思ったんだがダメっぽいですね。

8月22日

ずいぶんと更新してなかったなー。 ちょっと驚き。

仕事が山場だったり、帰省してたり、暑くてへろへろしてたり、更にはラムダは手詰まり感があってなにやっていいのかわからん感じでモチベーションが下がったりしてました。

 

気が付くと8月も後半。 ロボでサバゲの第二回が9月11日があるのだがやっぱり参加できるかどうか微妙。 何よりColonの開発環境を新しいPCにインストールしてなかったり。

ということで、EclipseとかDfuseとかのインストールと前のPCで開発していたプロジェクトの移転なぞをやってました。

プロジェクトの移転がよくわからんで、新しいPCだとビルドが通らなかったりしてもやもやしてましたが、なんとなく完了。

あとはDfuse。 STmicroのホームページから最新版をダウンロードしてインストール。 ところがDfuseドライバーのインストールに失敗。

インストールしようとすると、

「現在の言語では、デバイス ドライバのインストール ウィザードはサポートされません。このパッケージを提供した製造元に問い合わせてください。」

と出てしまう。  こりゃ困ったなー、まさかWindows7(64bit)には対応してないのか、と思ったがドキュメントを見ると対応はしている様子。 つまり日本語が問題らしい。

調べたところ、ドライバーのフォルダーにあるdpinst.xmlファイル中の言語記述 <language code="0x0409"> を <language code="0x0411"> に直せばいいようだ。

これで無事プログラムが書き込めるようになったのだが、移転したプロジェクトからビルドしたプログラムを書き込んでもシグマが動かない???

前のPCに残っていたバイナリーを書き込み直せばちゃんと動くので書き込み環境じゃなくてコンパイル環境に問題ありか?? またはソースコードに問題?

試しに簡単なプログラムをビルドして書き込んでみたら、ちゃんと動いている様子。 ソースコードいじったっけかなー???

8月29日

見事に週刊になってしまった。 orz

久しぶりに土日休みとなった。 この土日はロボワンなんですね。 散財さんの速報によるとなぐさんが優勝されたようで、おめでとうございます。\(~o~)/

 

軽い気持ちでシグマの続きをやろうとし、eclipseをインストールしたのはいいのだが、プロジェクトの引越しが終わらない。 原因不明のコンパイラエラーが出て先に進まない。 シグマについては何も変えていないのにプログラムはウンともスンとも動かない。(ちなみにビルドはできる)

散々に試行錯誤したところ、プロジェクト名に全角数字を使っているとおかしなことになるらしい。 こういうのってディレクトリ名に漢字使うなよーって昔から言われてましたけど、未だにあるんだな。

そして、肝心のシグマの方は、これも難航した末に変数を使った浮動小数点演算を使った場合におかしくなるらしい。 うんうん唸って散々悩んだ後に、そういやテクノロードの掲示板で浮動小数点演算ができないって質問があったような。。。  結局、前のバージョンと同じ対応(ライブラリの指定)で解消しました。 バージョンあがったんだから修正は折り込んでほしかったですね。

 

無事シグマも動き出した。 アナログジョイスティックで全方位に動くように作っているのだけれども、動かしてみるとまだおかしな挙動がいくらか残ってる。 まだまだバグ持ちなんだな。

でも、Coronでこのデバッグするにはちょっと環境が弱くてつらい。 数値出力もすべてスクラッチだからprintf文も使えない。 コマンド体系もラムダとあわせたいので、ついでにコンソールモニターへのテキスト出力用バッファを作ってました。

9月6日

残業で遅く帰るか、酔っ払って帰ってくるか。 さらに今週はまた土曜出勤、日曜日もイベントで家を空けてました。

なので大したことはできていないのですが、 ラムダで、サーボにストレッチ設定を入れる検討で、ストレッチが利き易くなるようにということで4014から4013に切り替えてみました。 ピッチ軸だけね。

IDを間違えたのでIDを修正せねばならなかったりで、時間がかかってしまった。

動かしてみたところ、なんか不正な動きがある??? ある場所でカクンという引っ掛かりがある。 調べてみると右足の大腿ピッチサーボの前側が、ニュートラル付近でカクカクした動きになる箇所があります。 ギア欠けかと思って開いてみてもなんともありません。 どうやらギアなどの機械的なことじゃないらしい。いままで腕に使っていたサーボなんだけど、以前からこんなだったのかな?

ポテンショメータに傷がついたのかもしれません。 膝ピッチなので動作域が狭いのを幸いに、オフセットをつけて動かすことでおかしな動きの箇所を使わないようにしました。

なんなのかな?修理に出したら直るんだろうか。

9月7日

九州のクボさんや、クラフトマンさんが多脚ロボットで火星ローバーコンテストに参加されたらしい。

もともとシグマを作ろうと思ったのは不整地歩行をさせるのが目的だったのに、今のシグマは平地しか歩けません。 この日誌にも書いたのだけど、歩かせてみて「面白くないなぁ〜」ってのが感想で、あんまり次への意欲がわかなかったんですね。 結果、平地を歩行する歩行プログラムしか組んでません。 正直それも結構いい加減。

面白くない原因を色々と考えてみたのだけど、リーチが短いところかなぁと。。 足の構造的にクモのような形態にするとX−Y空間での自由度は比較的大きいのだけど、Z方向にはそんなに大きい自由度が取れない。 Z方向への自由度を出そうとすると、ヴァンガのような歩行姿勢になって、不整地を歩行するには不安定。 目指すところは足先にセンサーをつけて手探りで(足探り?)丘のような不整地を歩くこと。 なので、X−Y−Zのすべての自由度が必要です。

ということで、シグマはそちらの方向に沿うように構造変更をしていこうと考えています。

 

問題はラムダ。 やっぱり歩行制御でのフィードバック制御はうまく行く兆しがありません。 試してみたいことはいくつかあるのだけど、開発量が多くてちょっと手をつけられそうにありません。

この先の自律制御のことを考えても、動歩行を捨ててでも、フィードバック制御での動作制御について考えるべきなのではなかろうかと考えはじめました。

何らかの力センサーが必要です。

9月9日

めんどくせぇなぁ〜 と思う気持ちを鼓舞激励してシグマの構造設計をちまちまと。 CADは前のPCに入ったままなので立ち上げるのにべらぼうに時間がかかる。

以下、雑駁なメモ。

ZMP規範歩行のフィードバック制御ができない。 外乱オブザーバについて調べる。
接地衝撃を吸収する手段が必要。
制御を直交座標系で行っているが、アクチュエータは極座標系(とも言えないか?)
  ダンパー制御などで軸毎に分離した制御が行えない(?)
関節角度からZMPを計算しようとすると、足裏接地が条件となるので難しい。
ZMP計算は加速度値が重要なため、関節角度データに誤差・ノイズがあると、まともな計算が行えない。
 ⇒ノイズリダクションが必要。加速度対応を考えると、(カルマンフィルターより)最小二乗法などが良いか(?)
逐次制御で末端座標の制御をするにしても、関節レベルでのフィードバックは収束しなさそう。 ヤコビアンは導入すべきか。
力センサー、なにか考える。 6軸力覚センサーになる?(高くて壊れやすいのでよろしくない)

9月11日

今日は関東組練習会。 出勤は明日の日曜日になったので、参加できそう。

今日明日と娘の学校の文化祭。 出し物に出演するというのでそれを見てから練習会に行くことに。 だらだらと荷物をまとめていたのだが、タイムオーバーで手ぶらで出発。

学校へ向かう道にあったちっさな本屋で。

なつかしいなー、べーしっ君。 今でもファミコンやってそう。

それにしても今日は暑い。 汗かいた分、水分を補給しつつ練習会場へ移動。

本日の練習会は東京都市大学世田谷キャンパス。 いつものようにまったりと過ごしていたら(というか自分は手ぶらだからやることない)、ロボでサバゲメンバーが到着合流。 一気に活気付きました。

最近の練習会は2足より多足が元気です。 車移動でシグマ持ってくればよかったかなー。

打ち上げは駅近くの焼き鳥屋さんで。 お金が足りなくてくままさんに1000円借りちゃいました。 財布残金95円 SUICA残金115円 (^_^;)

9月12日

自律ロボットを考えるとき、足の制御ってつまりは歩くことがほとんどだから計算歩行なりなんなりで歩けばいいわけで、それほど悩む必要がないように思う。ま、当面の話であるが。

対して腕の制御って何すりゃいいのかさっぱりわからない。 この場合、腕は何かのオブジェクトを持ったり支えたりすることを考えるわけだからものすごくたくさんの自由度が必要になる。 自律で物事を考えると基本は冗長自由度を与えねばならなくなるから余計に制御が難しくなる。

自律ロボットに真剣に取り組むには動力学演算をすればなんとか動きを計算できる足、じゃなくて腕の制御をまじめに考えなきゃダメですね。

メモ

教示動作で、できるだけ無反力で動作させるには?
  ⇒ フィードバック周期をあげるしかない?
  ⇒ 無次元な動作ではなくて、動作には意味がある。 直線動作を抽出して協調する?
教示制御と倣い制御は同じ? ダンピング制御も同じ?

メモ書きながら、「そういや、受動関節って昔やってみたことあったな」と思って自分のサイトのバックナンバーをしばし読む。

ううむ。 なんか色々精力的にやってるな。 ちょっと反省。

時々ある動画を見ていて思ったのは、前のラムダの方がカーペットをまともに歩いてました。 そこは剛性の低さのなせるところだったような気がします。

そういや、昨日の練習会で石川さんにもくままさんにも前のラムダの復活(?)について聞かれました。 そうですね。 自分も前のラムダ、好きです。そろそろ実験機体はやめてキャラ持ったロボット作りたいですね。

でも、計画してるのは実験用の腕とか足とかばっかり。。。(^_^;) ペース上げなきゃ。

9月14日

この先どのようにロボット開発を進めるか。 もんもんと考える日々が続きます。

感じているのは、ラムダ・マーキュリーの機体ではこの先の大きな進歩は望めそうにないと言うことです。

ひとつはリンク脚。 リンク脚は上下方向の動きには受動性が高いですが、前後方向の動きには受動性が低い。前後方向の受動性も必要ではないかと感じています。

リンク脚にしたのは再生精度を高めるためでした。 それなりの成果を得ることはできたのですが、再生制度を得るために剛性を高めるという手段は、歩行では避けれない衝撃に対してはあまり相性がよくないように思います。 なんらかの衝撃吸収処置が必要。

そして、受動性は重要で、そのための関節のリンクという考え方は重要だと思っています。 脚にしても腕にしても関節連動動作というのは今後も必要だと思っています。

そのためには制御系の速度が問題になります。 SEMB1200Aは8チャンネルのUARTを持っていてFIFOバッファまで独立しているのですけど、4000番と通信するのは115200bpsで十分なんだけどそれが限界。 403Xの高速通信には対応できません。 (FPGAに手を入れればできるのかもしれませんが。)

サーボもコントローラも新調となると出費がでかいなぁ。 コントローラは適当なのがないし。

9月16日

じつは今日は自分の誕生日です。

もう、誕生日っていうとカウントダウンイベントみたいで複雑なんだけど、やっぱり「おめでとう」って言われるとうれしい。

もちろん今日も普通に仕事に出て普通に過ごしていたんだけど、普段は何人かで食べてるランチが今日に限って一人っきり。 誕生日だってのに一人でランチってのもさびしいなぁ、 って思ったのでお店(ってランチを食べに行っているお店ね)の店員さんに、「実は今日、俺誕生日なんだ。」とか言って、「おめでとうございますぅ〜(^.^) 」 って言ってもらったり。 (^_^;)

午後には同僚に、お前が居ないから誕生日だってのに昼飯一人でさびしく食ったよ とか意味のない文句を言ったら、 俺なんか昨日一人で映画観に行ったんですよ と、変な対抗心 (もっと下が居るという、そいつなりの誕生日プレゼントだったらしい) 出されたり。

挙句の果てには残業時間くらいになって、思い出したように 会社の女の子からバースデーデコメが届いたり。 (その同僚が気を回したららしい)

去年は誕生日会まで開いてくれた取引先の営業(女性)が、 会議してるってのに手招きするから近寄っていくと小さな包みを取り出して、「これ、丸山さんに渡してください。」って手渡されるし。 ええ、もちろんプレゼントくれるもんだと思いましたよ。 先週は、「来週は誕生日ですねー」って言ってたくせに。

寂しい寂しい(^_^;) 誕生日でした。

 

さて、検討検討。。。

9月18日

午前中、受動関節をプログラム。 フィードバックループをできるだけ小さくしたいということで、普段は20ms周期のところを4msに短縮。 UART1本あたりにサーボ4個つないでいたのだが、サーボ1個に限定。

フタバのRS601CRだとプリテンションかけてトルクを落としておけば、電源を切ってあるときと変わらないくらいの軽い関節ができました。 KRSだと、、トルクが落ちきらないな。 まぁ軽いけど、、 うむむ、使い道なさそうな感じ。

ストレッチとスピードを最低まで落としても、関節角度を取り込む速度は大差ないようで、関節の反応速度は変わらないようです。

午後から秋葉原へ買い物に。

最近は練習会会場に行く途中で必要なものだけを買いに寄る程度だったので、ゆっくり回る秋葉原は久しぶり。 もしかしてロボットセンターに行ったらオサル君がいるんじゃないかな〜。 と思って立ち寄ると、 ビンゴー(^^♪ 

PICを使ったモーター制御をやりたいっていうので秋月と千石に部品を買いに。 ライターはうちにあるのを貸し出すことになりました。 でも、今後のこと考えるとPICKIT買ってもよかったかもね。 うまく行ったら今度の機会にでも。

秋葉原に行った目的は、ぶらぶらしたかったのが第一位だけど、ついでと言っちゃ何だがステレオグラフをやるためのボードカメラ購入。 外部同期させて2画像を1画像に圧縮するつもりなので、外部同期信号が扱えるものでないといけない。 安いボードカメラだと3000円くらいからあるのに、外部同期信号が使えるやつだと15000円。 これが2個いるんだよね。 。。でかいし。

うだうだ言ってても仕方ない。 UVCで2個のカメラをつなぐよりはCPU負荷がちいさいだろうと思って、 いや、RPU-100 でステレオグラフを扱うにはこれしか方法がない(と思う)

腕の制御でモノにアクセスするにはどうしても奥行き情報が必要なんで、これに突っ込もうかと思ってます。

↓動作確認。 オッケーです!

↓前のラムダに使ってたフィッシュアイレンズもつけれた。レンズマウントのねじピッチ同じでした。

フィッシュアイレンズ、サバゲのロボにつんだらいいよね。 視界広がって。 でも、マウントが合わないな。残念。

9月19日

ラムダ・マーキュリーの腕を使って、受動関節の検討

  

ま、全然うまく行ってないんですけどね。 関節連動動作を組み込んで外力を加えて動きを楽しむ。 目的とは全然違うけど動きは面白いです。

今日は、PICライターを受け取りにオサルくんが遊びに来ていました。 動作確認のつもりが、アセンブリと書き込みまでやっちゃって、当面やることなくなってしまったんだけど、まぁいいよね。 これを機にPICの勉強してください。

オサルくんに請われて、シグマを動かしてみる。 オサルハハが

「今出てきてるロボットと遜色ない仕上がりじゃないですか!ぜひサバゲに参戦してくださいよ」

って、あなたはいつから主催者側に!? (^_^;)

人には分からない不満があるんですよ。 今部品発注してますんでもうちょっと待ってくださいね、ハハ殿。 (アミエ殿よろしくっ)

 

スティフネス(stiffness)って単語があって、剛性とか硬さを表します。 関節制御でも関節のスティフネス制御ってのがあります。 関節の堅さをアクチュエータ(筋肉)で制御することです。  対する単語にコンプライアンス(compliance)ってのがあって、動きやすさとか受動性とかって感じに訳せばよいかなと思うのですが、 このコンプライアンスって分野が変わると「法令遵守」と訳される。

コンプライアンスって単語は、最初サーボの制御パラメータのでどれだけ目標角度からずれても良いかっていうパラメータだったもので「許される」ってイメージで認識していたので、その後に仕事で出てきたコンプライアンスにはものすごく違和感がありました。

でも、法令遵守ってのは「法令を守る=堅い」って意味じゃなくて「法令に沿って活動する」って意味なんですね。つまり、「(法令に)従って動く」ということで受動性と同じニュアンスと。 言葉って深いですねー。 (あ、みんな知ってた? すんませんです (^^ゞ )

 

そのスティフネスとコンプライアンスをどのように扱うか。 遊脚が接地するときは衝撃を吸収するためにコンプライアンスが、しかし、次の瞬間には支持脚になっているわけでスティフネスが必要になる。

そして、それは垂直方向だけでなく、進行方向にも必要です。 剛性と受動性の切り替えがいまだ問題です。

 

西さんが新型開発を表明。 どんなの作るのか楽しみだなー。 不整地歩行ですよね。 早くそこんとこをクリアして次のステージに行きたいです。 ですが、ラムダはまだ平地を対象にやっていくことにします。 歩行に対するフィードバックのかけかたについてもうちょっと目線を広げて考えたいと思ってます。

9月20日

今日は「ブラックリスター」の試写会の日。 初回である午後1時の回で観てきました。

ハイビジョン動画が撮れる一眼レフデジカメで撮影したとか。 映画もお手軽に撮れるようになったものだ。 映画の出来はというと、内輪ねたを織り交ぜながらの、比較的分かりやすい話でした。

舞台挨拶のロボっこのムチャぶり以外は概ね好印象。

試合に臨むくままさんの精神状態が的確に描写されてました。 あと、道楽さんがモデルになってるらしいロボスポの客が出てきますけど、道楽さんはもっと愛想いいですよね。(^.^)

上映後、ロビーでキノピーが大暴れ。 キノピーはアクティブだなー。

その後、秋葉原へ行って部品購入。 昨日、家の部品倉庫をチェックして、ステレオグラフ化するための不足部品を買ってきた。 三連休のうち二日も秋葉原とは自分としては珍しい。 それより、三連休とも休めた上に三日ともロボット三昧。 ただし、開発はさっぱり進んでいませんが。

新ラムダの足構造が大体決まってきたのでそろそろ構造設計に入ります。 これからは冗長自由度についての研究(いや、勉強か)が必要になりそうです。 同定の手段が難しいんですよね。 冗長って。

9月21日

ふつふつと新型ラムダについて考えていて、ふと言葉を思いつく。 なんとなくイメージだけしていたことが言葉になると途端に具現化するような気がします。 思いついた言葉が正しいかをこれから検討します。 とっかかりが出来たようでうれしい。

 

家に帰ると、発注していたシグマ強化パーツがアミエさんから届いていた。

開けると、、

丸山さん宛だったぁ〜 (>_<)

 

丸山さん、今日が誕生日だったみたいです。(-_-;)

 

ラムダの両目化を進めるはずだったが、シグマの改良に作業切り替え。

↓強化されたシグマ。 まだ動けないですが。

おそらくは、サバゲ的には弱くなったのではないかと(^_^;) 美しく動けるかどうかはプログラム次第です。

9月23日

ラムダの両目化を推進。

午後から夜まではんだ付け。 ユニバーサル基板で回路組むのって時間かかる。 でも、基板起こして発注するよりは時間も金もかからないけど。

気が付くと、ICは全部DIPだったから抵抗やコンデンサもIMD部品でもよかったな。 コネクタがハーフで小さくまとまったってのが唯一の利点か。(^_^;)

ODD/EVEN分離も、ビデオスイッチ回路もちゃんと動いているらしい。 あとは二つのカメラを同期して動かすための同期信号を作るだけ。

これはPICで作るんだけど、アセンブラだなー。 ものものすごく久しぶりのアセンブラです。

9月26日

昨日の話。

PICでVD信号を作ります。 PICは12F675。 もやねさんの回路図でもこれを使ってる。 今回のお題にADCは要らないけど流通しているせいか、十分に安いのでこれを採用したのかな。 うちにも何かのために買ったのが家にありましたのでこれを使います。 プログラムはLED点滅用のプログラムがネットにいっぱい転がっているのでそれを修正すれば簡単にできました。 アセンブラはおまじないが多くてよーわからん。

VD信号は60Hzの信号なんだけど、デューティー比がものすごくでかい(いや、ちっさいかな?) 1周期16.7msに対してパルス幅は200μsほど。 クロックは、4MHzが内臓されているけど、16MHzのレゾネータをつけた。 これももやねさんの回路そのまま。 多分精度が必要なんだろうなと。

ところが、このレゾネータが発振しない!? そんなことあるのか? と調べてみたら負荷容量しだいでは発振しない場合があるとか。 部品をこねこねと指でいじっているとたまーに発振を始めたりする。 不思議なのは4MHzくらいのクロックで動いちゃっていること。 内臓クロックが動いてるんじゃなくてレゾネータが4MHzで発振しちゃってるのかな?

きっとなんかあるんだろうけど、時間がもったいなかったので内臓4MHzで進めることに。 これから「できんのか」を観るために秋葉原行くつもりなのでそのときに水晶発振子かオシレータを買ってこよう。 なによりデューティー比がおかしくても動くかも。

オシロで信号を調整して、NTSCをPCにキャプチャーモニターして観てもなんか動いているような動いていないような。。。

もしやと思ってPCのディスプレイのコンポジット入力につないで表示させてみると。

ちゃんとできてた。(^^♪

これは奇数の走査線にカメラ1画像、偶数の走査線にカメラ2画像を入れて1つのフレームに2画像を入れてます。 3Dテレビの場合は走査線の本数が倍になってるのだけど、これは本数そのままなので、情報としては垂直方向に半分の情報量に間引いていることになります。

ところが、やってる途中に気づいたのだが、RPU-100のキャプチャーって320ドット×240ドット限定でした。 つまり垂直分解能はすでにNTSCの半分に間引かれてる。 ってことはせっかく多重化したのにおそらく片側のカメラ情報はすべて間引かれてしまうと思われる。

しょうがない。 では1フレームに2画面ではなく、1フレームおきに2画面を切り替えるようにするしかないか。 これだとどちらの画面データなのかの区別がつかないって問題があるんですね。 あと、こま落ちなしで15FPSにしかならないこと。 それはあとで考えることとして、まずはEVEN/ODD信号を分周してフレーム毎にH→L→H→Lとなる信号を作ります。SOPのフリップフロップが手元にないので秋葉原で、、、 がーーーん orz  買い忘れたのに今気づいた。。 せっかく秋葉原まで行ったのに。。 DIPならあったかなぁ。

 

予定を大幅に遅れて秋葉原に向かいました。 目指すは秋月経由ロボスポット。 なぞの店員に惑わされつつ買い物を終わらせ(実は終わってなかったんだけど)ロボスポットに向かいました。

ロボスポットに入ると引間さんに「いま、メインが終わったとこです(にこっ)」 あうー、間に合わなかったか。 イベント後の余韻と後片付けを楽しんできました。

前々から告知のあった「できんのかリストバンド」 合言葉は「愛してます」

舞台裏からビスコさんが手招きするので行ってみると、「小俣さんに『愛してます!』って大声で言ってください(にこっ)」 いやいや、お手伝いもできなかったし、終わってから来てグッズだけもらえないですよ。

その後も外山香、じゃなくてくままさんが「小俣さんに抱きついて言うんですよ!」とか、神矢先生まで一緒になって煽ります。(ーー;)

なんとなく場の期待感も育ってきてしまったので、「小俣さん! 愛してます!」 がっつりハグってきました。

後で聞くと抱きつかなくても良かったとか。 「しまけんさんのせいでハードル上がっちゃったんです。」 って、、オレじゃねー!

 

打ち上げでは、ブラックさんが成長中の話とかブラックさんがゲイにもてそうって話とか、ブラックさんが神な話とかで盛り上がりました。

あと、トコトコ丸を飛ばす話。 高度や速度測定の前に姿勢制御ですよね。 遅れ量が大きい制御なのでどうやりゃいいのか分かりませんが、トライしてみたいネタです。

9月26その2日

今日の話。

一応、確認のため、フレーム多重の状態でPRU-100とつないでみました。 結果は×。 片側の画像しか取得できない上に画像取得に失敗しまくり。 PCのキャプチャーと同じ状態です。

家に部品があったので、even/odd信号を分周してフレーム毎切り替え信号を作りました。

画像で見ると昨日の1フレームに多重画像と変わりませんけど、実際にはフレーム毎に切り替わっているのでビカビカします。ディスプレイが傷みそう(^_^;)

思惑通りに動いているみたいだけど、RPU-100につなぐと「Segmentation fault」と出て、プログラムが終了してしまいます。なにかが気に入らないらしい。 思えば昨日の1フレーム多重化でも「Segmentation fault」はぼちぼちと出ていたので昨日の構成でも気に入らないことはあったらしい。

するとVD信号の精度かな? もっと正確に29.97fpsにしなきゃならないのか? キャプチャーLSIのことをもうちょっと調べた方がいいのかも。

9月27日

ちょっとでも正確なVD信号を出すために、PICのクロックを外付けの水晶発振器にしました、20MHz。

クロック計算して、信号の精度を上げてトライ。 結果は〜、昨日よりはマシだけどまだダメです。

色々と試したところ、肝心の画面切り替えをやめると外部DV信号での画像信号は問題なくキャプチャーできているようで、問題はカメラ切り替えによる信号のなんらかの不具合のようです。

色々こねくりまわしているとたまーにカメラ切り替えしていてもキャプチャできることがあるのですが、カメラがぱらぱらと切り替わることはなく、どちらかのカメラ映像がキャプチャーされています。

ううん、、どうもうまくないなぁ。 調べると、ODD/EVEN信号の切り替わりはフィールドの先頭にある等価パルスの直後になっている。キャプチャーLSIがタイミングを取るためにこれを使っているとすれば失敗する道理となるのか? 

10月2日

(仕事で)いいことが有って飲みに。

いいことって思ってるのは自分だけらしくって、フルボッコにされる。 挙句の果てに「シマケンはもてない」やら「だからダメなんだ」、反論すると「ほら、それそれ(笑)」

飲みに行くんじゃなかった。

 

家に帰ってもいいことはなくって、 ラムダの両目化は相変わらず。 画面スイッチのタイミングが問題なのかもしれないと思い、第一フィールドと第二フィールドの間で切り替えるようにしてみたがなんにも変わらない。 (いままではEVEN→ODDで切り替えていたのをODD→EVENで切り替えるようにした)

たまーーーーに成功するが、フィールドはズレているし、片側のカメラからしかキャプチャーしない。なんか八方ふさがりだなー。 

RPU-100は、OSもドライバーもバイナリー供給でソースは公開されていません。 なのでキャプチャーLSIであるSAA7113の動きも調べられないし、変更できない。コンフィグ設定できるようにしといて欲しかったです。

簡単に両目化しようと思ってこれを進めて来たが、これ以上進めるのは得策じゃないかなーと思いはじめました。

じゃーフリーズにしようかなと思ったが、もう少し、、 と思ってVD信号についてもう一度調べてみました。 昔調べた時にMSM5258という簡易同期信号発生LSIのシグナルタイミングを参考に信号を作っていたが、もっと検索していくと色々違う情報も出てきた。

パルス幅は191.07usだったり27usだったり、マイナス電圧のものもあり、TTLもあり、更には正論理のも負論理のもあり、同期制御装置によっては切り替えられるものもあったりしました。 今回使っているカメラがどんなVD信号を期待しているのか分からないのでタイミングを変更してみるのもよいかも知れない。

ただ、VD主導で動かしているのでパルス幅が影響しない限りは問題ないはずなんですけどね。 つまり期待薄。

MSM5258のタイムチャート

10月2日その2

そういや、NTSCの波形を見てないな。フレームが切り替わるところを見ておこう。 と思ってオシロで観察してみたところ、どうにもVD信号と同期した動きになっていない。色々と調べたところ、二つのカメラのうちひとつはVD信号での同期動作をしていないことがわかった。

困ったなー、この壊れた方から同期信号抜き出してもう片方のカメラに入れるかなー、とか考えていたのだが、 今日はカメラを買ってちょうど2週間。 秋月の初期不良交換期間が2週間、 今日なら交換できるんだーってのに気づいて急遽秋葉原まで行って来ました。

「ふたつのうちのひとつが外部信号同期しなくて、、、」 と事情を説明したら、すぐさま「なるほど、二つで比べて違う動作なんですね。 わかりましたどうもすいません。」 と、購入日も聞かれず、領収書も示さずすぐに交換してくれました。

いっぱい故障品あるのかな。 帰って動作を確認したところ同期動作してくれました。 よかった。

帰ったのが遅かったのでそれ以上は明日に持ち越し。 なかなかシグマに手が回らないなぁ。

10月3日

カメラは二つとも正常に外部同期信号と同期するようにはなったのですが、事態は一向に進捗しません。

オシロで信号を眺めていると、どうやらVD信号は負論理が正解のようで、立下りで動作しているように見えます。VD信号立下り後の水平走査線1本分の時間後にフレームが開始されるようです。

よくよく眺めていると、カメラ1とカメラ2でフレームの開始タイミングが違うことに気づきました。そこで考えてみると、VD信号は奇数フレームと偶数フレームでの差がないわけで、カメラ1とカメラ2が半周期ずれている場合がありえることに気づきました。開始タイミングが違うように見えたのは奇数フレームと偶数フレームで水平同期信号の位相が半周期分ずれているためだと考えられます。

そこで、カメラ1とカメラ2の電源が同時に入るように気をつけて、DV信号との同期の様子を確認し、フレームのズレがないことを確認してからキャプチャーに接続したところ、、、 ビンゴー!! 正常にキャプチャーできました。

うまく行きそうな感じになってきたのでもう一度フレーム多重化から確認しなおし。 結局、奇数フレームしかキャプチャーしていない(データ化していない)ようで、フレーム多重化はできそうにないことが分かりました。

カメラ切り替えを30Hzにし、連続して2回キャプチャーすればカメラ1とカメラ2の画像が取得できそうな感じです。 問題はカメラ1と2のデータの区別がつかないことです。

ちなみにVD同期信号を30Hzにしてみたところ、同期信号と認めてもらえず、内部同期信号で動きました。 (もしかしたらこれでEVEN/ODD同期が取れるかと思った)

  

↑上がビデオ信号、下がVD信号。 立下りポイントでのビデオ信号のタイミングが違います。 これが混在してしまうとキャプチャーLSIはパニックを起こす。

さて、ちょっとだけ目処がついたからシグマに移ろうかな。

10月10日

昨日は練習会だったけど、 シグマの進捗がない、 雨が降っている、 ってことで練習会参加は断念。 プログラムを進めることにしました。 

昨日から今日にかけて、改良型シグマを動かすプログラムを作っていたのだけど、デバッグ環境をよくするためにラムダのコマンド処理方式とコマンドライン処理を移植しておりました。

Coronにはモニターに関するライブラリがなくて、文字列をコンソールに表示するのもままなりません。 UARTの転送速度を考慮しないと、文字表示が被ったり欠けたりします。 これではプログラム開発がやりにくくて仕方ないので送信用のバッファ処理を書いたり、受信に関しては文字列入力とコマンドヒストリーの実装をやってました。

急がば回れってことで。。

ところがちょっと回り過ぎ。。。

送信バッファについては、一文字送信の場合に送信中フラグを立てる前に送信が終わってしまって割り込みが発生しなかった件で数時間。 コマンド入力についてはstrtok( )関数を組み込んだ時点で動かなくなることを突き止めるのに半日つぶしました。

あとはコマンドヒストリーの移植とデバッグ。 やっとさっき完了しました。 あっと、atof( )も使えないことが分かりました。 なんなんだろね。これ (ーー;)

そして本論の改良型シグマの逆キネ計算の検証をしておりましたが、どうやら計算ミスがあるようで、うまく動いてくれません。

明日は仕事だし、そのまま大阪移動で、火曜日は大阪出張。 水曜日は飲み会で、、。 新幹線の中で逆キネ再検証だな〜。

10月12日

今日は朝から大阪で仕事だったので、昨日の夕方から移動しておりました。 仕事は早めに終わったので早めに戻ってシグマのデバッグ。 逆キネの計算ミスも発見して、改良型シグマがちょっとずつ動き出しました。

今回の変更点は、脚1本につき、3個で済むサーボを4個にしています。 つまり冗長構成をとっています。

冗長関節構成のロボット(アーム)の効用は色々あるのですが、今回シグマでは可動範囲の広さに効用を求めています。冗長構成の場合、ある脚先座標(場合によっては姿勢も)を取る解が無限にあるため、関節角度を導定することが単純ではありません。 いままで私が作ったロボットの関節構成は冗長ではなかったため逆キネ関数で解析的に求めることができたのですが、今回は条件を入れねば関節角度が決まりません。

そこんところが今回の課題になります。

どうも、この冗長構成というのが重要だなぁと思えているので、この部分は研究の価値アリだと思います。

動画は、足先座標を変えずに関節を動かす動作。 マニュアル操作ですけど。(^_^;)

10月14日

冗長関節版シグマの歩行です。 可動範囲が広くなったので、さらにうねうね具合は増した気がする。 気持ちよい。 多関節ロボット動かして初めて「うほほ」と思えた気がする。 まぁ、やりたいことの1割もできてませんが。

可動範囲が広くなったので、以前より歩幅を大きく取れるようになったはず。 試してないけど。

今は、6本の脚を、位相をずらして同期して動作しています。 これを非同期で動かして、かつ協調動作(同期動作とも取れるが)を行うという制御プログラムを書きたい。 そうすれば荒地での歩行が可能になるはずなのだ。 もちろんセンサー的な要素は必要なのだが。

10月17日

土曜日は出勤。 でも、待ち時間が多いので家からPCを持ち込んでプログラミングなぞやっておりました。

その勢いで(っていうのはちょっと説明しにくいが自分の中では「勢い」)、日曜日は新型ロボットの下半身構造設計。

今度のラムダは、シグマの改良の流れと一緒で冗長関節構成で作ってみようと考えています。 シグマでは可動範囲が欲しくて採用した冗長関節ですが、ラムダでは可動範囲の広さと、冗長性を利用した制御ができないかと考えて試してみることに。 具体的には(といっても全然具体的じゃないけど)、ラムダマーキュリーでは関節剛性を高めることで能動的は再生精度の向上を目指したのですが、今回は受動的な再生精度の向上というテーマで実験してみたいと考えています。 細かな方法は検討中。 これ、いいような気がするんだよなー。

構造設計していて今更ながらなんですが、膝関節を二重関節にしている構成ってすでに冗長関節構成ですね。 普通は二重になっているサーボに同じ値を入れることが多いのだろうから冗長じゃなくなっているのかもしれませんが。

10月29日

ひさびさの日誌更新だが、それほど書くことがあるわけじゃない。

思うところあって携帯をDOCOMOからSoftBankに変更した。 ま、アイフォンにしたわけだが、人気があるだけあってなかなか便利ですね、これ。

いろいろとアプリをダウンロードしてて、「Ragdoll Blaster2」というゲームにちょいハマり いわゆるアクションパズルゲームなんだけど、なんかすごく良いです。

 

新型ラムダの構造設計が終わって部品発注中。 それほど納得できた構造というわけでもないのだけど、とりあえず組み立てて動かしてみてアラを出したほうがいいかなと思って製作に踏み切りました。 初代のラムダはホントに考えて考えて製作したもんだが、、、。

部品ができるまでしばらくかかるそうなのでその間にシグマのプログラムでもしようかと思います。

3日は「できんのか!」なので、また芝生の上でシグマを動かせたら良いのだけどいつものとおり中途半端なままなので持っていけるかどうかは不明。

無線LANカメラ積んで徘徊させたいなぁ。 って、スタッフとして参加するつもりなのでロボット動かす時間はないか。。(^_^;)

11月7日

3日の祭日は「できんのか!7」のお手伝いで草加へ。 結局シグマのプログラムは進展がなかったのだが、こないだ動かしたプログラムは入ったままなのでそのまま持っていくことに。

いつものリング周りの補助お手伝い。 出番があるとかないとかっていう仕事じゃないのでずーっとリング脇に居なきゃならないわけだからシグマを動かす時間なんてなかったね。

それでもリハ(第一回公演?)と本番(第二回公演?)の間に少し時間があるので動かしてみようとしたのだが、、、 うまく動かないぃ〜!! 自分で作ったプログラムなのに使い方が分からない??? おかしいな〜これでいいはずなのに、というコマンドを入れても思い通りに動かない。 ソースコードは持って行ってなかったので確かめることもできずに、動かすことはできませんでした。 ふささら祭りは小さな子供が一杯くるのでシグマは結構人気が出るんですよね。土の上でも歩けるし。 それが見たかったんだけどなー。

結局おかしかったのは、サーボに設定した動作限界角度が間違えていたサーボがあったということでした。自分が作ったプログラムの使い方間違えてなくてよかったー。 もし、現地でそれに気づいてても設定するためのツールを持っていってなかったのでどちらにしても動かすことはできませんでした。

その後、仕事帰りにちょこちょこと作業を進めて、少しずつはシグマのプログラムは進めています。11月20、21日のMAKE TOKYOにはロボでサバゲを出展するって言うことなのでそれに向けてシグマ(サバゲ仕様)を仕上げて行かねば。 と思っているところ、新型ラムダの部品が届いてしまった。 あー、こっちも組み立てたいなぁ(^_^;) こまったなぁ。

11月14日

今日は1年ぶりのマジスパの会。 涅槃→悶絶 ときて、今回が3回目。 悶絶を食べた時は辛さの中から旨さを感じれてよかったなぁと思いつつも、つらいのいやなので涅槃に。 なんか、普通においしかったです。 悶絶でもよかったかも。

ブラックさんは初めての参加なのに「天空」でスタート。 どうなるか期待したのにペロリと平らげてしまった。 オモシロクナイ(^_^;) ブラックさんて名前に恥じないブラックホール胃袋っぷりでした。

来週は「Make Tokyo 6」で、ロボでサバゲを出展する予定。 シグマを仕込まなきゃならない。 今週はウィークデーにできるだけ早く帰ってプログラムを進めておりました。 難航していたコントローラのデコーダ部分もなんとか納得できるコーディングができたので、それを使って動かせるようにしておりました。

姿勢変更がキーボードからマニュアルでしかできないので、コントローラでできるようにしようとしたのが運の尽き。 なんだか知らないけどはまってしまって、関節管理用の構造体データが壊れてしまう。 最初、サーボがぶっ壊れたのかと思ったのだがよく調べるとバグでした。

音が出る作業ができるのは今日が最後。 プログラムのバグは気になるけど、まずは弾倉の増倉から。 なんせ、今は50発くらいしか仕込めないので話しにならない。どれくらいの大きさにすればいいか分からなかったので適当なサイズのタッパを2種類ほど買ってきて調べると、こいつ(買ってきた2種類のうちの小さな方)で1000発くらい入る。 

さすがにそれくらいあれば十分だろうってことで、弾倉として取り付けました。 それにしてもかっこわる〜(^_^;) さらにこの上に被弾センサーが付くのだ。

その後、女子バレーの応援をしながらデバッグ。 なんとなくハマりそうなパターンだったので心配だったけど思いのほか速やかにバグは修正できました。

もうひとつ、電源を入れると勝手にサーボトルクONコマンドが発行されてしまうっていうバグもあるんですが、これは未だにわからんのだが、あまり実害ないので後回し。

田中さんから被弾センサー枠も無事届いたし、プログラムは最低限なんとかなりそう。 来週は5日のうち、3日も飲み会が予定されているだけど大丈夫だよね。

11月21日

20日、21日と東工大大岡山キャンパスで開催されたMake Tokyo meeting 6 に、「ロボでサバゲ!」のメンバーとして参加してきました。 サバゲの方は、なんとかでっち上げたシグマで打ちまくりました。 タッパで作った弾倉は1000発くらい入るので遠慮なく打ちまくれてなかなか爽快です。

問題もいろいろありました。

照準のアナログスティック上の押しボタンスイッチをトリガーにしていたため、照準しても打つときに動いてしまうということが発覚。 2日目に向けてトリガーボタンを変更しました。 その際、もう少し早く動けるように修正したりちょこちょこと変更を加えて二日目に投入。

ところが、変更に失敗したらしく、トリガーが効かない! 二日目の最初の試合は動く的状態でした。 オサルくんにぼこぼこにやられてしまった。

その後、トリガーは修正したのだが、バッテリーがやばかったり、コントローラの電池が切れてしまうとかこまごまと問題が続いて二日目はちょっと消化不良。

最後にオサルくんの機体をぼこぼこにして終了できたからヨシとするか。(^。^)

全体的には無線カメラが混信したりして不調で、カメラ視界での試合が思うようにできませんでした。 カメラ視界がロボでサバゲの醍醐味なんだけどなぁ。 これはなんとかしないと未来がないよ。

 

MAKEというイベント自体始めて見たのですが、ものすごく楽しかったです。楽しかった様子はこんな感じ。

  

タコみたいな乗り物は名前もなんにも聞かなかったんだけど、「動くんですか?」って聞いたら「乗ってみますか?」と。 普通なら「触らないでください」ってところが、乗せてくれちゃうところがいいですね。

右の画像は、妊婦体験。 お腹や胸が膨らんで、赤ちゃんがお腹を蹴ったりする様子が体験できます。 母子手帳までもらっちゃいました。 聞くと産院で普通に体験できるとか。なーんだ。

次回は5月ということなのでまた行きたいですね。

 

さぁ、シグマの冗長関節制御はまだ中途半端なままだけど、次は、部品が届いているのにほうりっぱなしになっている新型ラムダの組み立てをやろう。

11月23日

前回の日誌の日付が間違えていたのでこっそり直しておきました。

MAKEが終わったので早速ラムダに切り替わり。

アミエさんとこで切り出してもらったアルミ部品をまげて組み立てて。 ラムダ・マーキュリーからサーボはずしたのでもうマーキュリー脚はお倉入りなんだろうなぁ。 もったいないが。

 

久しぶりに設計チョンボがあったり、さっそくネジをバカにしてしまったり、冴えないことばっかりでしたがここまで組みあがりました。 色々思惑があってこの良く見る構造にしたのですが、詳細はまだナゾです。

来週、練習会に行くとして、この作りかけラムダを持っていくか、シグマを持っていくか、迷うな。 ラムダだと確実に静展示になるね。

今週は、明日から工場へ出張で泊り込みのため打ち止め。次の作業再開は27日になってしまう。がっかりです。

11月28日

27日は練習会、草加で開催です。 草加はやっぱりちょっと遠くて躊躇するところなんですが、今回は荷物をまとめるのがいやなので車で行くことにしました。 車だと帰りに飲めないから避けてたんだけど。

でも、車なので荷物は適当に束ねてトランクに放り込むだけ。 ラムダもシグマも持っていくことができます。

今回の練習会はTDUの学生たちがたくさん参加していて賑やかといえば賑やかでした(^_^;) で、打ち上げは石川さんの馴染みの焼き鳥屋へ。 おいしかったです。

で、くぱくま夫妻を綾瀬で降ろして一路自宅へ向かいました。 荒川を越える道を2回くらい間違えたせいか、ナビが渋谷のど真ん中を選びやがって真夜中というのに渋滞に巻き込まれてしまった。

渋滞も抜けて世田谷通りを走っていたとき事件が起こりました。 信号待ちで止まっていると、ゴーーーン!! と後ろから衝撃が(ーー;) 後ろを振り向くとタクシーが追突して来ていました。

タクシーの前方不注意です。 速度が出てなかったのでとりあえず怪我らしきものはなく、車の後ろ側が凹んだだけで済みました。 あんまり車乗らないのに久しぶりに運転したらこれだもんなぁ orz。。。 来週は珍しく車を使う予定があったので代車も用意してもらわないと。。。

 

体調が悪くなることもなかったので、今日は一日ラムダの組み立て。 というか半日以上はサーボ設定プログラムの改良をやってました。 ラムダもサーボにトルクを入れて立たせるところくらいは進んだけど、トリム調整用のホームポジション姿勢しかできないので画像はなし。

昨日の追突のせいか、首筋から肩にかけて重い、、、いや、一日根を詰めて作業したせいで肩が凝ってるだけ? 明日の朝の様子をみて病院に行っとこうかと思います。

やれやれ。。。。(ーー;)

11月29日

追突から24時間以上経って、首の右側が重い感じがしたり、右腕に痺れを感じたりしてきたので念のため病院へ。

会社近所にある整形外科。 友人のかかりつけの医者です。 じゃあレントゲン取りましょうってことで撮ったんですけど、レントゲン室で、「あんた首長いねぇ〜 アハハハハ」

医者が笑っちゃうくらい首が長いらしい。(^_^;) 

診断の結果は頚椎には異常がないと、まっすぐだし、骨の間隔も等しくってよろしいそうです。 衝撃を受けたのは間違いないので一週間は様子をみないといかんとのことでした。

 

車の方も保険屋と車屋でやり取りしてもらって車は引き取りに来てもらい、代車を置いて行ってもらいました。

この車屋(トヨタのディーラー)親切なんだけど、事故にあったことを連絡したときも、「相手はタクシーですかぁ〜、タクシーは面倒になるケースがあるから気をつけて下さい!」と妙に不安をあおる。 親切からなんですけどね。

持って帰ってもらったうちの車をざっと査定すると、思いのほか傷が深く、全損の可能性が出てきたと報告されました。

「全損になってもなんとかその金額でできる限り修理します!!」

こっちは停止しているところに突っ込まれた完全な被害者なので完全回復は当然だと思っていたところにその言葉。 一気にウツになってしまった。orz。。。

親切からなんだろうけど、この場合どうなんだろうなぁ〜 もう少し事態がはっきりしてから言うことのような。 しゃべり過ぎじゃねーの?

 

デイリーポータルの動画。 田中さんとこでやっと見ました。

シグマもいい感じで映ってますねぇ〜。 流鏑馬が打たれて落ちるとこがイイ! シグマがやられるところが映ってないのが残念だ。

そういや、このシグマ。 オサルくんに「。。。。。かっこ悪いですね。」 って言われたんだよな。 なんとかせねば。

12月5日

車屋から連絡があり、相手の保険で車の修理ができることが確定したそうです。(全損にはならずに済んだ) よかったよかった(^.^) あとはめんどくさい書類を用意すれば一件落着のはず。

追突から一週間ほど経って、首には打撲的な痛みが出てきて、1時間ほど寒空の下で立たされたせいで引いた風邪(だと思う)で出る咳が首に響きます。 周りや医者の勧めもあって、負傷したことを警察に伝えると、人身事故として扱うので調書を取るために世田谷警察署まで来いと。

まぁ仕方がないので診断書を持って代車で警察署まで行きました。 行き帰りの時間が約1時間なのに、現地滞在時間は10分ほど。 「加害者に処罰を与えるべきだと思いますか?」なんて質問をされてしまった。 そのあたりは警察にお任せいたします。

 

鼻の奥がおかしな、風邪ひいたかな?と思ったのは月曜日だったか火曜日だったか。 じょじょにひどくなり、金曜日は咳も鼻も結構な状態になってしまいましたが、 金曜日は小規模ながら自分が幹事の忘年会。 もう鍋を予約しちゃってるし、誰かに引き継ぐこともできないので風邪を押しての決行です。

首を見てもらっている医者で、「3時間くらい咳と鼻水をとめてください!」って頼んだら、でっかい注射をされました。 それが、血管が逃げちゃって刺さらない。 お医者さん「あれ?ごめん。」とか言って、針を刺したままあっちこっち血管を捜して3度目くらいのトライでやっと欠陥を捕まえた。 (ToT) 抜くときえらく痛かったです。

 

そして、注射全然効かない。 熱も出てきたみたいで2次会の途中で帰らせてもらいました。 (ーー;)

熱は一晩寝たら下がりました。よかった〜。

あ、ロボット開発もちまちまやってます。新型ラムダの質点情報を作成して質点モデル構築。 これは地味でめんどくさい作業なんです。

12月12日

昨日は午前中はロボでサバゲ、夜はロボット忘年会。

忘年会はまこくんの工芸品やうっちーの工芸品を見せてもらって感動する。 あ、あとビスコさんとミツオさんの芸術品(^_^;)も。 色々画像は撮らせてもらったけどいろいろいろと差し支えありそうなので差し控えます。(~o~)

 

午前中のロボでサバゲでは、不審な動作が多発。 動き出した途端や発砲した途端に被弾センサーが反応したり、、電源監視のポートと被弾センサーを間違えたら起こりそうだけど、そんなチョンボはしてなかったように思うし。。 WLANでカメラを使っていたからコントローラの信号になんか問題があったのか???

家ではなかなか調査できないし、みんな集まっている時にデバッグ作業なんか到底できないし、トラブルシューティングがやりにくいですね。

 

宴会までの待ち時間で秋葉原をぶらぶらとしていたのですが、途中神谷先生に声をかけられました。その際の質問、「みなさんレーザーサイトはどうしてるんですか?」ってことなのでシグマ用に用意したレーザーサイトについて書いておきます。

レーザーモジュールは秋月電子で買ったレーザー発光モジュールです。 これの電源電圧が3V。Coronからは3.3Vの線がたくさん出てはいるのですが、Coronに直接つなぐのがなんとなく(危険な匂いがして)いやだったので5Vで使えるようにレギュレータをかませました。ちなみにシグマに積んでいるDCDCコンバータは出力を6Vにしているで6V→3.3Vってことになります。このレギュレータにイネーブル信号があったので、コントローラでONOFFできるようにしています。ちょうどよかった。 ONOFFコントロールを必要としない場合は3番ピンをGNDに接続すればレーザーは光りっぱなしです。

回路は簡単なんだけど素子紹介も含めて↓に。

  

レギュレータTPS76933はRSコンポーネントでいくつかまとめて買った買い置き部品です。1個40円だけど5個から販売。 送料もかかるからこれだけ買うと安くないですけどね。 ちなみに表面実装部品です。

 

新型ラムダの逆キネ関数は、第一段階は完成したらしい。 今回は初代ラムダよりは簡単だが、胴体姿勢や足裏姿勢も設定できる関節構造なので初代ラムダ並に複雑な関数になるのだが、歩くだけなら胴体姿勢も足裏姿勢も要らないのでその辺を無視した簡易バージョン。

逆キネの検証を色々やっていて、やっぱりコマンドラインにラインエディタが必要だってことで、ヒストリーに続くラインエディタの実装をやっておりました。 カーソルを戻して途中を編集できるようにする。 意外とめんどいな。 今日はライン途中でBSによる文字削除までサポート。 あと、DELのサポートと、文字のインサート入力のサポート。 めんどくさいけど、こういうのは動けば素直に動くので単純に楽しい。

12月13日

10月の終わりごろスマートフォンが欲しくなり、ドコモからソフトバンクに変えてアイフォンを持ち出したのですが、うわさに違わず電話中によく切れます。 切れたあと、すぐつながればまぁ実害無いのですが(十分問題だけど)、 つながらないらしい。

「らしい」というのは、このところ先ごろの追突事故の関係で保険会社からかかってくる電話が多くて、折り返し電話して電話代を払うのがシャクなので、あちらからかけ直してくるのを待つわけです。 待てど暮らせどかかってこないからほっておいたら、いつのまにか着信履歴が入ってて留守電にメッセージが残ってる。 相手に聞くと、かけ直しても「接続できません」といったメッセージが流れるらしく、仕方なく留守番電話に入れるらしい。

そんなことが何度もあるのできっとムダだろうとは思いつつもソフトバンクショップに苦情を言いに行きました。

対応した店員は、開口一番「できることないんです。」「ハードはアップルストアで。。」とマニュアル対応です。 多分大勢訪れるんでしょうねぇ。 でも、あんた、客の苦情聞くのが仕事なんだからちゃんと話を聞けよ。大体、さっきから見てたらこっちの言うことメモさえ取ってないじゃない。 というと、ではメモ取ります。 といった具合です。

うだうだと文句を言ったので、店員はなんか、最近のネットワーク障害の実態を調査したりしてお茶を濁していました。 最後にところで、この留守番電話って聞くのは無料なんでしょうね?と聞くと、 また問い合わせ電話をかけて調べて結果、 有料だそうです。 (ーー;) もちろん調べないでも有料だってことくらい店員は知ってたとは思うのですが。。(^_^;)

かかってきた電話だとソフトバンクはもうからないから、適当なところで切断して、かけ直すとソフトバンクのもうけ。 相手が留守番電話に入れたら、それを聞いたらソフトバンクのもうけ。そんなビジネスモデルでアイフォンでもうけをひねり出そうとしてるんじゃないかと勘ぐりたくなりました。

ちなみに留守電聞いたら有料ってのはカタログにはちゃんと書いてありました。 小さーくですけど。

アップルは前からあんまり好きな企業じゃなくてアイフォン買うときもずいぶん迷いました。 ソフトバンクはそれほど悪い印象はなかったんだけどデルに続いてマイブラックリストに載っちゃったなぁ。 これからできるだけソフトバンクにはお金を払わないように気をつけて携帯を使わないと。(^_^;)

 

腕の逆キネ手抜き版を作成。 右腕のみ。 右腕の関数を使って左腕も計算するのだが、前のラムダと腕の構造がずいぶんと違うのでそこの部分も手を入れねばならないl。 腕の制御についてはまだまだ悩み中。 ヤコビ行列を工夫してうまい制御方法がないものか。 手先姿勢まで考えると余りにも課題が多くて気が遠くなってしまう。 腕の逆キネが完成したらもう歩行パターン生成は動くはず。 動くはずなんだけど、動くのかなぁ〜。

ラインエディタはほぼ完成。 「ほぼ」というのは、普通に使う分には問題なさそうなんだけど、乱暴な編集するとおかしくなることがあるため。 そのうちおかしくなるパターンがわかったらデバッグしよう。

12月14日

最近、最寄り駅の構内に車椅子用のスロープができました。

エレベータはまだです。 いつできるのか待ち遠しいです。

このスロープ。 傾斜部分は赤くなっていて途中の平坦な部分と色が違っています。 これを見て少しショックを受けました。

人間が利用するスロープでさえ、傾斜部分と平地部分で色分けしているのです。傾斜が緩やかなうえ、車椅子で予期せずに傾斜に突入するのは危険だからなのだと思うのですが、人間用の設備でもこのような配慮が必要なのです。

何が言いたいかというと、ロボワンの予選のスロープです。 上り坂と平地と下り坂で色分けしてくれれば、カメラで傾斜突入と傾斜終了がわかってそれに合わせたモーションを生成するといったことが可能になります。 色つけりゃできるわけでもないですが(^_^;)

そういった配慮があれば出場ロボットも変わってくるんじゃないかと思うのですが。

 

ラムダ、動き出したのですが、さっぱり歩かないですね。 どうしよう。。(ーー;)

12月18日

16日。 会社の忘年会だったのですが、終電間際に2次会解散になって駅に向かっておりました。 駅前の横断歩道を渡っている時のことです。横断歩道のド真ん中で、前から来た男性が不意に抱きついてきました。

よく見ると同じ部の別グループのヤツ。 「捕まえました!もう離しませんよ〜。 へへへへ、さぁ次に行きましょう。」 (ーー;)  いや、木曜日だし、終電間際だし。。  なんと言っても離してくれません。 もうあきらめてタクシーで帰るか、朝まで飲むか(^_^;)。。。

「じゃぁ、わかったよ。どこ連れてくんだよ。 いいとこなんだろうなぁ。」 とか言いながら、抱きつれたままどこかのお店に運ばれていきました。

隣駅の駅前に差し掛かったところで、スナックの入り口からまた別グループの部長が飛び出してきて。 「いたいた。 さぁあの店に行こう!」 と言って、自分に取り付いていたヤツを引き剥がし、スナックに連れて行きました。

拘束が解かれたので、ここぞとばかり走って逃げました。 (^_^;)  終電間に合ってよかった〜、 怖かった〜。 ジュラシックパークのラストシーンでヴェロキラプトルに襲われる間一髪で、ラプトルがTレックスに食べられるシーンを思い出しました。   でも、浴びるほど紹興酒を飲んだあとだったから走ったのは効いたなぁ orz

 

歩かないラムダ。 少しずつマシにはなってきたのだけど、まだまだです。 やっぱりリンク脚はよかったのかな、と思ってみたのだけど、横にすっ飛ぶのでそれは違うような。なんとなくなのだけど、重心位置によって計算を考えないといけないような気がしてきました。 具体的には重心がロボット中央辺りにある場合、慣性モーメントが大きいので横の少しの力で回転運動を起こしやすい。 モーメント系の計算は、計算値の影響が少ないと判断して省略しているのだけど、それがよくないかもしれない。 各質点の慣性モーメントを調べるのは面倒だなぁ。重心をずらす努力をした方がよいか?

あと、やはりリンク脚よりは剛性が低いので後ろにこけやすい。 そこんところは今回の構成をとった目的にも関与するのでまだ気にしないでよいかと。

 

先日追突されて壊れた車が直ったというので取りに行って来ました。 やっぱり自分の車が運転しやすいですね。 もうすぐ追突事故事件も完全収束です。

12月19日

やっと新型ラムダの足の逆キネ関数が完成しました。 完成といっても胴体姿勢や足裏姿勢はサポートしていませんが。 サポートしたのは冗長構成関節の冗長組み合わせ指定です。

新型ラムダは膝関節が二つあるので、ある足姿勢に対して関節角度列は(幾何学上は)無数の組み合わせがあります。 その組み合わせを1次のパラメータで指定できるようにした逆キネ関数です。

膝関節が二つあり、それぞれ逆にも曲がるので、簡単に言ってもこの4つの組み合わせがあります。 さらにはそれぞれの中間にも無数の組み合わせがあります。

どうやって使うかは、これからですが。(~o~)

 

うっかりこけたところに鉄アレイがあり、左肩を強打してしまいました。(ラムダがね) その拍子なのかどうかわからないけど左腕が運動不全に。 左腕はUART5に接続していたのでUART7に切り替えてたところ動き出した。 ちなみにUART6もダメでした。 調べたところSEMBは大丈夫らしいので、おそらくはUART5とUART6の信号線がショートしているのではないかと。 SSOPチップだから修理大変だなぁ〜(ーー;)

 

だんだんと慣らしができてきたらしく、プログラムはなんの変更もしていないのに1歩は歩けるようになりました。 この調子でがんばればもうすぐ歩けるかも!?

12月21日

どうもラムダが歩かない。 いくつか原因を考えてみる。

@ 剛性不足 これもリンクダブルだった前回よりは落ちているのは当然なのだが、そんなに致命的なのか? 関節のがたつきが問題なのか、フレームの剛性が足りないのか、スロー再生で確かめてみる必要がある。

A トルク不足 ロール軸はリンク脚の時と同じなのだが、ピッチ軸はリンクダブルだった前回よりはトルクは少なくなっている。 動きを見ているとなんとなく、足の出が遅れているような気がする。 モーションを調整するならまだよいのだが、計算歩行だとちょっと厳しい。

B 精度不足 サーボの直線性が怪しい。 もともとフタバのサーボに比べたら直線性には不安があったのだが、リンクダブルだった前回はその構造から二つのサーボで直線性のひずみを打ち消しあってうまく行ってたという可能性もあるか。

まず、@なのだが、フレームの剛性が問題ならば補強する必要があるが、関節の剛性については、それをフォローするための冗長構成のつもりだったので、それが原因とすれば冗長構成の運用の仕方で解決していかなければならない問題。

Aが問題ならば、トルクをあげなければならないのだが、ロール軸ならばテンショナーみたいなのを追加する方法が考えられる。 問題はピッチ軸で、ダブルにするか6003にするかってところか。6003は避けたいな。出費が。。。

Bが問題の場合が一番難問。 キャリブレーションが可能なら試したいが、まずは精度がどんなものなのかを知らねばならない。測定器作らなけりゃならないな。

 

こうしてみると、計算歩行に対してリンクダブルというのはなかなかの完全体だったのだなと思う。 リンク構造の問題である自由度の低さを別の手段で解決するのが早道かもしれない。 もっとも、今回のテーマは「冗長構成とコンプライアンス構造を使ったフィードバック系の構築」というところなので別の話ではあるが。

フィードバック系といっても、そこそこ歩けなければフィードバック用のデータを取得できないわけで、1歩歩いたらこけるような状態でフィードバックもあったものではない。 なんとかせねば。

 

関節角度キャプチャーとスロー撮影で確認したところ、@のフレームのひずみというのはなさそう。 あと、Aのピッチ軸のトルク不足も問題なさそう。送り足が遅れているということはなさそうだった。

ただ、決定的にロール軸のトルクが足りていない。 オーバーシュートがひどい。 この部分は、股関節ロール軸をダブルにする前のラムダ・マーキュリーと同じなのだが、負荷による補正値を調整しても改善しない様子。 やっぱりどうもおかしいのでこの辺りに間違いが潜んでいる可能性は高い。

あと、できそうなのはZMPの調整とモーメント系の計算。 ZMPの調整というのは、今は足裏の真ん中を目標ZMPにおいているが、この点を調整できるようにすること。 これはマーキュリーの時からやりたかったのだがちょっとめんどうそうなので後回しにしていたもの。 やってみるかー。 モーメントは、初代ラムダの時に一度プログラムしたのでそれをもってくれば。。 と思ったが、マトリクスクラスを作って処理していたのでC言語に移植せねばならないか。。。

あとはロール軸にテンショナーを追加し、関節負荷による補正を行わない。

あと、Bの測定ができるようにしようかな。 色々時間かかりそうです。

12月26日

昨日今日と開催されたロボワンHHPを観戦してきました。 二日とも観に行ったというのはなかなか珍しい話で、いつもなら土日のどちらかにするところです。 今年は帰省しないので年末年始の休みがロボット開発に充てられるということで楽観的に土日をすべて観戦に使うことができました。(^.^)

正直「ロボット」を語る上ではバトルよりも生活の方が自分の目的には合ってるのでなかなか興味深い時間を過ごさせてもらいました。

  調整中のドカはるみ 本番とは衣装が違う

  ドカはるみ解体ショー の一幕

 二足歩行部門に出た勇者たち4機(4体?4台?4人?)

 

いつも観る機会を逃していたフロスティもやっと見せてもらえることができました。 網ちゃんから「重力方向と進行方向の分離を実現している」(表現は違いましたけど)と聞いていたけど、正確には「多重リンクで極座標系を実現している」ではないかと見受けました。 実物見て、動画を見直してやっと構造が理解できた。アホです(ーー;) あ、でも間違えてたら指摘お願いします。

リンクのいいとこを残しつつリンクの不便なところを排除したすばらしい構造でした。 ただし相当な工作精度が要求されるので誰でも真似できるものじゃないです。

さぁ、みなさんから受けた刺激をモチベーションに変えて来年は大きな成果が出せるようにがんばろう。

 

マイクロソフトが10年がかりで開発した(とNHKで言ってた)キネクト。 Windows用ドライバーやSDKが公開されているってことなので興味そそられたので買ってみました。

これすっごいですねー。 関節構造解析じゃなくて、地形観測とかにそのまま使えそう。 これ積めばシグマの不整地歩行や、路面のテクスチャー認識なぞしなくても済みそう。 これまた網ちゃんは解像度低くて使えないと言ってたが、今の段階ならば十分だと思うな。 LinuxのドライバーもあるみたいなのでLinuxで受ければ結構簡単にいろんなセンサー情報が手に入りそう。安いし。 それより50cmより近い距離は測れないらしいからシグマの不整地歩行には使えないかも。 ヒューマノイドなら少し大きめに作れば50cm以上はクリアできます。

チルトの調整が硬いなぁと思いながらガチガチ動かしてたら、これはアプリかドライバーの制御でモーターで動くもので手で動かすものじゃないらしい。もう壊れちゃったかな?(^_^;)

12月29日

今日から休みです。

昨日は仕事納めで、納会に少し参加してから秋葉原に出向きました。 主な目的はマイクロSDカードが欲しかったからなんですけど、まぁあちこちぶらぶらしようかと。

買い物終わってRTやらロボスポやらに立ち寄ったのだけど、RTは「営業中」になってたけど大掃除か模様替えかわからんことをやってました。 ロボスポは新年向け福袋つくりに余念がないような感じ。 今年は帰省しないので、年明けにロボスポで福袋を買っちゃおうかとか思っていたのだけど、ロボスポの開店日が仕事始めと同じってことで残念でしたということで。

今日は「できんのか!」忘年会なので夕方から新宿へ。

それまでの時間はビーグルボードへのOSインストールと、ラムダの構造修正を平行作業。

ビーグルボードは新しい版がなかなか良いという話を聞いたのでデジキーで買いました。先のマイクロSDはこれに使うつもりで買った。

新しいビーグルボードは、
・COMポートがDsub9ピンになった。 → 前のはヘッダーピンが出てるだけで変換ケーブルが必要だった。
・内臓LANポートが付いた。 → 前のはUSB-Etherアダプタが必要だった。
・USBポートが4ポートになった。 → 前のは1ポートしかなかったのでHUBが必須だった。

てな具合で、基板サイズが少し大きくなっただけであれやらこれやら大盤振る舞いのすばらしいボードに仕上がってます。

でも、OSインストールするまでに結構な障壁があったので記録のつもりで書いておきます。

ビーグルボードにUbuntuをインストールするのに、Ubuntuが動くPCが必要になります。 VMwarePlayerをインストールして、そこにUbuntuをインストールします。 VMwareを想定したディスクイメージが配布されているのだけど、バージョンが古くて8.X.Xです。グレードアップできるのでポチリをボタンを押したら、しばらくしてキーボードを聞かれます。 ところが109キーボードが選択肢に無い。色々調べてGeneric105keyを選択しました。 いいのか悪いのかよくわからん。

SDCARDが使えるようになるはずなのに使えない。 どうやらUSBを使えるようにするサービスが止まってしまって動かない。 調べてみるとATI USB filter driverなるものが入っていて邪魔になっているらしい。 これをアンインストールすればよいということらしい。 で、アンインストールするにはATI Catalyst Install Managerから選択してアンインストールすれば良いらしいのだが、エラーを起こしてしまってダメ。 結局、ここの情報から手動でアンインストールしました。

やっとUSBデバイスが使えるようになった。 次に、SDCARDデバイスがUbuntu上でなんというデバイスを使っているのか。 (ここからはUNIXの知識が浅いための勘違いです)

オートでマウントするデバイスは/dev/sdb1らしい。 これを使ってマイクロSDカードを初期化しようとしたらダメだと言われる。なんでかなー?? 色々調べて dmesg | tail でどのように認識されているのかを調べると、/dev/sdb あーそうか、/dev/sdb1はスライスをマウントするためのデバイスだったんだ。ディスク全体は /dev/sdb でした。

PC-UNIXは386BSDからFreeBSDくらいまで結構遊んで勉強していたんだけど、すっかり遠ざかって忘れてしまったうえにLinuxの世界はさっぱりわからん。 歴史も色々あって複雑です。

あ、そうだ。 インストールはここを参考にしたのだけど、「parted, fdisk, wget, mkfs.*, mkimage, md5sum, pv, p7zip-full をインストールしておきなさい」と書いている。

sudo apt-get install [アプリ名] でインストールしていくんだけど、mkimageがインストールできない。 正解は、アプリ名は「uboot-mkimage」らしい。 業界の常識のようだけど知らないから(^_^;)

おもしろいのは、which mkimage としても返事がない、 apt-get しても該当するものがないと言われる。 どうしてよいか分からないので、コマンドラインでmkimage とタイプしてみると、「mkimageはインストールされていません。 uboot-mkimageをインストールしてください。」というメッセージが出た。 親切にするならもうちょっと手前でお願いしたい。

 

ラムダ歩き出しました。 もともと今回の構造は着地時の衝撃を吸収する上に計算歩行を行える構造を提供することでした。 衝撃吸収用のサーボとして第一膝関節を4013に変更してみたところとぼとぼと歩くようになりました。 やっぱ衝撃吸収は大事です。 うまく行く兆しが見えてよかった〜(^.^)

12月30日

足のフレームに梁を追加。 設計当初からつける予定だったのだけど、なんかいけそうだからつけてなかった。 つけてみると剛性が全然違う。 付けてよかった。

その他、画像では見えないけど、股関節ロール軸にテンショナーフレームを追加。 設計チョンボしてて手間取った上にいまいちな仕上がり。

ではそろそろ歩行のプログラムに着手。。。 と思ったけど、壊れているUARTが気になって仕方ない。 ここに手を出すとおそらくは今日一日はこれで潰れるだろう。

今は実害ないから、、、 と自分を言い聞かせたがやっぱり気になって仕方ないのでUART修理に着手。

レベルシフタはSSOPだからルーペでの作業になる。 2ポートだけ壊れるのってどう考えてもおかしいからやっぱり配線かはんだが問題でしょう。と思ってじっくりチェックしてみたけどおかしいところは見つからない。 結局はICを交換することに。

SSOPをはずして付け替えるのだから想像を絶する修羅場に落ち込むのではないかと思ったけど、意外と簡単に作業終了。 配線はすべて裏側なので、表のICをうまくはずしてうまく付けれれば簡単といやぁ簡単。

はんだミスがあって、なかなか動かなかったけど、とうとう全ポート動作し始めた。  IC変えても同じポートがつながらなかったので、やっぱりICは壊れていなくて、どこかのはんだ付けがおかしかったみたい。 付け替えのどさくさで動くようになったらしい。  状況証拠だけで判断しちゃダメですね。 ちゃんとオシロで信号確認すべきでした。 ← 前にも書いた覚えがある文章だな。(^_^;)

さぁ、UARTは直ったぞ! と思って全部組み立ててロボット動かしてみると今度は無線コントローラが不調。 がっくり。。。 これは電源線が断線してるっぽいのでさっさと修理しました。 疲れた。。。

 

もうこれからプログラムを組む元気は無かったので、昨日の続きのbeagle boardの設定の続きをすることに。

今日はPC側でプログラムをコンパイルするクロスコンパイル環境と、簡単なプログラムをbeagle board側に送り込むところまでやってみる。

Webで調べてみると、なんか難しそう。 apt-cross で依存関係を調整してインストールするとか?? ドツボにはまりそうな予感がしたので「ロボでサバゲ」仲間のノボリサカさんに聞いてみた。 するとCodeSourcery社から無料で配布されているらしい。 早速ダウンロードしてインストール。

いつまでもコンソールで操作するのもなんなのでtelnetに切り替えようとすると、Marverickは(というかubuntuは、なのかな?)telnetもftpも入ってない。 調べると最近はsshでリモートログインですよ、と書いてあるのでsshを使うことに。 いつもと同じようにapt-getではうまくいかないので調べるとなんか色々手順があるようで、ココに丁寧に書いてました。

EtherをDHCP設定にしておくと、立ち上げるたびにIPが変わってしまうので、固定IPに設定。 これも、DHCPでもIPが変わらなくする方法があるんだろうね、きっと。

これでやっとPCからログインしてファイルを転送できるようになりました。

ディスプレイはPCでVMwareで立ち上がっているUbuntu キーボードの手前のがbeagle boardで、画面の右側のコンソールはsshでbeagleboardにログインしてます。 なんかもうVMwareもUbuntuもすごいです。至れり尽くせりです。

これ使ってロボット動かすのはまだまだ先だなぁ〜。

12月31日

さすがに大晦日。 部屋の片付けやら買い物をしていてロボット開発になかなか取り掛かれない。 でも、がんばって股関節ロール軸のテンショナーのテスト。

適当に設計したのがやっぱりアダになって、動作範囲が狭まったり、あちこち干渉したり。 いいスプリングの手持ちがなかったので、いつ買ったか分からない大きめのOリングでテスト。

↓これはテンショナーを使ってない時の左足股関節ロール軸

↓テンショナーをつけるとここまで補正される。 イイネ!

↓軸荷重からの補正だとこんな感じ。  ・・・悪くないな。ちょっと暴れちゃうのが問題か。。。

それよりも、衝撃吸収を目的に設けた二つの膝関節。 第一関節をサスペンション関節にしようと考えていたのだけど、

↓これが第一膝関節

↓そしてこれが足首ピッチ関節

同じスケールで表示しているので、見た目がそのまま差です。 計算じゃ足首はほとんど負荷がないんですけど、再生精度の問題で重心がずれた分、負荷がかかるんですね、きっと。

というわけで、足首ピッチ関節をサスペンション関節として進めてみます。 直立の時が問題かも。

 

今年は仕事がおおわらわでロボット開発はままならず。 なんの成果も上げられないままに終わってしまいました。 仕事は少しだけ落ち着いてきたし、やるべきことも少しずつ見えてきたので、来年はできるだけ以前のペースを取り戻し、できるならばそれ以上の開発を進めたいと思います。

さて、続き続き。。。

このページの先頭へ
トップへ戻る