<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>ロボットとか</title>
    <description>ロボットとかのブログ</description>
    <link>https://nagatsuki.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>二足で不整地</title>
      <description>だいぶ前の記事だけど「&lt;a href=&quot;http://www.j-cast.com/2011/02/17088348.html?p=all&quot;&gt;自民議員の「ガンダム実現構想」 産業振興としてマニフェストに!？&lt;/a&gt;」を読んで思ったことのまとめ。&lt;br /&gt;
&lt;br /&gt;
二足歩行ロボットを思い出してみると不整地歩行は見た記憶がないかほとんどないことに気がついた。&lt;br /&gt;
詳しくないのだが、不整地歩行がないのは技術障壁なのだろうか？&lt;br /&gt;
四足以上のロボットだと静的安定性が保てるからから不整地でもよく見るのだけど。&lt;br /&gt;
論文を探してみたところ二足の不整地歩行も研究はされているようだ。&lt;br /&gt;
だけど二足歩行ロボットが不整地らしい不整地を歩いている動画は探してみた限りだとない。&lt;br /&gt;
一段程度の段差を超えている動画は見つかるが、不整地とは言いがたいな。&lt;br /&gt;
英語を駆使して探せば見つかるのかもしれないが、まだ理論の域を出ないものなのかもしれない。&lt;br /&gt;
&lt;br /&gt;
二足だと静的安定性が低いから、素早く歩こうとすれば動的に安定性を得ざるを得ない。&lt;br /&gt;
不整地は外乱だから動的に安定性を得るのが大変なんだろう。&lt;br /&gt;
計算が追い付いてもアクチュエータのパワーとスピードも追いつかないといけない。&lt;br /&gt;
強力なアクチュエータは重いし消費電力が多いし値段も高い。&lt;br /&gt;
二足の不整地歩行は色々難易度が高そうだ。&lt;br /&gt;
&lt;br /&gt;
これを10億の予算でできるのだろうか？&lt;br /&gt;
「年間予算10億円、何年間」のプロジェクトなら行けるだろうが。&lt;br /&gt;
開発を目指さないってのも思い込みのように思う。&lt;br /&gt;
実際論文はあるわけだし、作ろうとしている人はいる。&lt;br /&gt;
ここら辺はアメリカのほうが軍がらみで予算かけて取り組んでそうな気がする。&lt;br /&gt;
パワードスーツに人間の動作を学習させればできないかなとか思ったけど、探せばもう誰かが研究しているかも&lt;br /&gt;
SVMの軸を増やしまくればできないだろうかとも思ったり。</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88%E5%B0%8F%E8%A9%B1/%E4%BA%8C%E8%B6%B3%E3%81%A7%E4%B8%8D%E6%95%B4%E5%9C%B0</link> 
    </item>
    <item>
      <title>Javaの浮動小数点</title>
      <description>気がづいたら3か月も更新なしだったので小ネタを．&lt;br /&gt;
最近Javaを触る機会があったのでその時の問題．&lt;br /&gt;
&lt;br /&gt;
&lt;hr&gt;&lt;br /&gt;
Javaの二進数表現において0.1は次のような無限級数で表現される．&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;　0.1 = 1/16 + 1/ 32 + 1/128 + ……&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
時間などの問題から計算を途中で打ち切ってしまうため，0.1を浮動小数点で正しく表すことができず，打切り誤差が生じてしまう．&lt;br /&gt;
解決方法としては，BigDecimalクラスを用いたり，10で除算するなどの方法がとられる．BigDecimalクラスは計算負荷が高いが正確に計算することができる．</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/java%E3%81%AE%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9</link> 
    </item>
    <item>
      <title>割り込みは優先度を考えて</title>
      <description>CMTでの割り込みがうまくいかなかったのだけど、こちらの&lt;a href=&quot;http://homepage3.nifty.com/ARTWEB/sh2.htm&quot;&gt;サイト&lt;/a&gt;を参考に修正したところ解決。&lt;br /&gt;
&lt;br /&gt;
20msで割り込みを行っているのだけど、周期が明らかに20msじゃないんだよね。&lt;br /&gt;
まあ、デバッグ用に時間のかかるシリアル通信を割り込み中で行っているのだから当然なのだけど。&lt;br /&gt;
そういえば割り込み優先度の高い処理ほど短い時間で処理するべきって以前教わったのを思い出した。&lt;br /&gt;
&lt;br /&gt;
エンコーダの値が取れない問題もあったけど、初期化をちゃんと行ったところ解決。&lt;br /&gt;
おそらくだけど、起動直後のころは値が不定で、変な値が入っていたのだろうね。&lt;br /&gt;
&lt;br /&gt;
エンコーダといえば先日のモータの異常振動は、１周期中にエンコーダの値を２回読み込んでいたのが原因かもしれない。&lt;br /&gt;
エンコーダの値を読む関数は呼び出すたびに前回呼び出したときの差分を返すから、１周期に１回呼び出さないと想定値とは異なる値が返ってきてしまう。&lt;br /&gt;
&lt;br /&gt;
そうそう、SH7125は最大115200bpsで書き込みを行える。&lt;br /&gt;
今まで19200bpsでやっていたから、速くなって作業がはかどる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[活動103]</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E6%B4%BB%E5%8B%95/%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AF%E5%84%AA%E5%85%88%E5%BA%A6%E3%82%92%E8%80%83%E3%81%88%E3%81%A6</link> 
    </item>
    <item>
      <title>HDDお引越し</title>
      <description>先日DynabookCX47EのHDDを交換しました．&lt;br /&gt;
容量は120GB→250GBに倍増．&lt;br /&gt;
&lt;br /&gt;
これで少ない容量に不便を覚えることもなくなりました．&lt;br /&gt;
また，ベンチマークを取ってみると次の画像の通りパフォーマンスアップ．&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://s3.amazonaws.com/twitpic/photos/full/179846012.jpg?AWSAccessKeyId=0ZRYP5X5F6FSMBCCSE82&amp;Expires=1289283790&amp;Signature=ZhRJwTTFv6F3v%2FpZDy7m9k5XT30%3D&quot; width=50%&gt;&lt;br /&gt;
&lt;br /&gt;
エクスペリエンスインデックスのストレージの項目も5.1から5.6にアップしました．&lt;br /&gt;
心なしかレスポンスが向上したような気がします．&lt;br /&gt;
&lt;br /&gt;
今回HDDの引越しに使ったソフトはHDD革命Buckupです．&lt;br /&gt;
HDD革命Buckupでイメージバックアップを作成し，新しいHDDと交換後イメージリカバリをかけました．&lt;br /&gt;
パーティションの調整にはEASEUS Partition Masterを使用しています．&lt;br /&gt;
Windowsd上で動き，GUIでパーティションを簡単に操作できる優れたふりーそふとです．&lt;br /&gt;
ちなみに最初はEASEUS Disk Copyを使って複製したのですが，Vistaだと認証が厳しくなっていて，HDDが違うと警告が出て起動できませんでした．</description> 
      <link>https://nagatsuki.blog.shinobi.jp/pc%E9%96%A2%E4%BF%82/hdd%E3%81%8A%E5%BC%95%E8%B6%8A%E3%81%97</link> 
    </item>
    <item>
      <title>フリーズ問題解決、意外な原因</title>
      <description>昨日の通信中にフリーズですが、SCI1.SCSCRの許可を一時的に無効化することで解決しました。&lt;br /&gt;
しかし、VC++で作成したプログラムからの指示ではまだ動かず。&lt;br /&gt;
これは結論から言えば通信速度の不一致でした。&lt;br /&gt;
VC++で作成したプログラムは57600bpsで送信、しかしマイコンは9600bpsだったので、通信速度の不一致から通信ができていませんでした。&lt;br /&gt;
タームでテスト行っていたのですが、こちらは9600bps。&lt;br /&gt;
通信速度の違いを見落とすとは何とも…。&lt;br /&gt;
こういうことはチェックシート化とかするといいのでしょうか？&lt;br /&gt;
&lt;br /&gt;
ちなみに今週から情報共有強化のためチーム内ミーティングを週一で行うこととしました。&lt;br /&gt;
理由としては私のチームは情報共有のまずさからスケジュール管理や開発がうまくいっていなかったためです。&lt;br /&gt;
これで少しでも円滑に進むようになれば。&lt;br /&gt;
あとプレゼンの練習も兼ねてます。&lt;br /&gt;
プレゼンで伝えきれず損することが多かったので。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[活動103][]</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E6%B4%BB%E5%8B%95/%E3%83%95%E3%83%AA%E3%83%BC%E3%82%BA%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B1%BA%E3%80%81%E6%84%8F%E5%A4%96%E3%81%AA%E5%8E%9F%E5%9B%A0</link> 
    </item>
    <item>
      <title>SugarSync導入</title>
      <description>チーム内の情報共有やデータのやり取りを円滑化するためにフォルダ同期ソフトSugarSyncを導入。&lt;br /&gt;
ややとっつきにくいのですが使ってみると変更が瞬時に反映されたりとなかなか使い勝手が良い様子。&lt;br /&gt;
容量が初めから２GBあるのもいいですね。&lt;br /&gt;
&lt;a href=&quot;http://file.nagatsuki.blog.shinobi.jp/1969f71a.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://file.nagatsuki.blog.shinobi.jp/Img/1287759849/&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
しかし、しばらく使ってみるとちょっとした使いにくさも？&lt;br /&gt;
同期するフォルダを自由に選べるのがDropboxと比べた時の利点ですが、そのせいか時々同期が解除されてしまうよう。&lt;br /&gt;
そのため同期しているフォルダが空っぽになったりも。&lt;br /&gt;
まあ、まだ慣れていないからかもしれないし、ほかの同期ソフトもまともに使ったことがないので何とも言えませんが。</description> 
      <link>https://nagatsuki.blog.shinobi.jp/pc%E9%96%A2%E4%BF%82/sugarsync%E5%B0%8E%E5%85%A5</link> 
    </item>
    <item>
      <title>defineは扱いずらい？</title>
      <description>エンコーダの問題は解決。&lt;br /&gt;
エンコーダの返ってきたパルス数をmに変換して表示していたのだが、変換する際に桁がずれていた模様。&lt;br /&gt;
mに変換する値をdefineで定義していたのだが、double型の変数で定義したところ解決。&lt;br /&gt;
やはりdefineのように型を持たない値は扱いにくいのかもしれない。&lt;br /&gt;
&lt;br /&gt;
速度制御のようなこともできるようになったが、その場旋回を始めるようになってしまった。&lt;br /&gt;
オドメトリはちゃんとできているから、制御できるか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[活動103][プログラム]</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E6%B4%BB%E5%8B%95/define%E3%81%AF%E6%89%B1%E3%81%84%E3%81%9A%E3%82%89%E3%81%84%EF%BC%9F</link> 
    </item>
    <item>
      <title>OpenCV2.1はUVC対応なのか？</title>
      <description>何気なくUVCのWEBカメラをつないでOpenCVを使ってみたら、何の問題もなしに使えてしまった∑(・ω・ﾉ)ﾉ！&lt;br /&gt;
&lt;br /&gt;
OpenCVはUVC非対応のはずだし、OpenCV2.0も公式サイトでは対応に書かれていなかったはず。&lt;br /&gt;
ざっと検索してみたところ、OpenCV2.0でUVCのWEBカメラが使えたという報告はみつからなかった。&lt;br /&gt;
実はひっそりと対応したのかもしれない。&lt;br /&gt;
報告求む。&lt;br /&gt;
&lt;br /&gt;
ちなみに環境を書いておくと、&lt;br /&gt;
VistaSP2&lt;br /&gt;
Visual C++ 2008&lt;br /&gt;
OpenCV2.1&lt;br /&gt;
&lt;br /&gt;
[活動103][OpenCV]</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/opencv2.1%E3%81%AFuvc%E5%AF%BE%E5%BF%9C%E3%81%AA%E3%81%AE%E3%81%8B%EF%BC%9F</link> 
    </item>
    <item>
      <title>OpenCV_ROI</title>
      <description>今日はROIの使い方．&lt;br /&gt;
&lt;br /&gt;
ROIとは画像の一部を切り抜いて，そこだけ画像処理を行うことができる．&lt;br /&gt;
例えば負荷分散のために画面を分割して処理するとかができる．&lt;br /&gt;
&lt;br /&gt;
使い方は，&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;cvSetImageROI(frame_name, cvRect(x0, y0, w, h));&lt;br /&gt;
（処理）&lt;br /&gt;
cvResetImageROI(frame_name);&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
frame_name：処理をする画像名&lt;br /&gt;
x0，y0：左上を原点として，どこから切り取るか&lt;br /&gt;
w，h：切り取る範囲&lt;br /&gt;
&lt;br /&gt;
＜例＞&lt;br /&gt;
（60，60）から120ｘ120の範囲を切り抜きたいときは，&lt;br /&gt;
&lt;strong&gt;cvSetImageROI(frame, cvRect(60, 60, 120, 120));&lt;br /&gt;
（処理）&lt;br /&gt;
cvResetImageROI(frame);&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
あとは色認識との統合．&lt;br /&gt;
RGBの比率で赤青黄を分けられるようにしないとな．&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[活動103][プログラム][OpenCV]</description> 
      <link>https://nagatsuki.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/opencv_roi</link> 
    </item>
    <item>
      <title>GCCの約束事</title>
      <description>割り込みを導入してみたが，割り込んだとたんになぜかマイコンが再起動する．&lt;br /&gt;
原因を探っていくと割り込みする関数名が原因らしい．&lt;br /&gt;
GCCの場合，CMTを使って割り込みする関数名をint_cmt0（または1）にする必要があるようだ．&lt;br /&gt;
&lt;br /&gt;
サーボのほうもなんとか動くようになった．&lt;br /&gt;
サーボの制御はまともにやったことがなかったが，信号線の出力が0.4V±0.2V程度の範囲で動くのだね．&lt;br /&gt;
あとは動かしやすいよう調整するのみ．&lt;br /&gt;
&lt;br /&gt;
しかし，この調子で明日中に完成にこぎつけられるのだろうか？　サーボ制御△，ライン検出OK，AD変換－，速度制御－，PCとの連携△，オドメトリ－など．これを１日でかたつけられるか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[SH2][活動102]</description> 
      <link>https://nagatsuki.blog.shinobi.jp/sh2/gcc%E3%81%AE%E7%B4%84%E6%9D%9F%E4%BA%8B</link> 
    </item>

  </channel>
</rss>