gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

インピーダンス制御とコンプライアンス制御

インピーダンス制御は、目標値の計算に弾性項と粘性項の両方を加味する。一方コンプライアンス制御は、粘性項を無視して弾性項のみを使う。これにより、コンプライアンス制御は動作速度の抑制は行わないことがわかる。

roslaunchでパラメータの値を設定する方法

roslaunchにおいては、タグまたはタグのどちらかを使えば、パラメータの値を設定できる。

*下記ではの両方で記述しているが、どちらか片方だけ記述すればよいことに注意。
*下記では変数型としてstrを記述しているが、他にもint, double, bool, yamlも使える。

<launch>
    <param name="string_name" type="str" value="string_value" />
    <rosparam>
        string_name    : string_value (ex. hoge.txt) * ここでは""などで囲む必要はありません
    </rosparam>
</launch>

Canonical Scan Matcher

Canonical Scan Matcherは、連続するscanデータの移動量を推定する手法です。Visual OdometryでPnPを使って移動量を推定するのと、等価の出力といえます。まだ読み進めていないのですが、アブストラクトを読む限り、移動量が大きい場合はエラーが大きくなってしまうみたいです。つまりLoop Closureの候補を検出するには使いにくく、連続するscan間の移動量(Scanning Odometry?)を求めるのが最良の用途のようです。

Daynamo - Autodesk tool

Dynamoには「Dynamo」と「Dynamo Studio」の2種類があります。前者はAutodesk Revitの拡張ツールでOSSです。また無償でダウンロードできます(そもそものRevitが有償ですが)。後者のDynamo Studioは、スタンドアローンなツールです。こちらは有償です。ただしスタンドアローンなので、Revitが持っている機能などを使うことができます。そのためOSSではなくクローズなソフトになっています。どちらもVisual programmigを通じてデータ処理やジオメトリの生成を可能にします。

f:id:graziegrazie:20181026194620p:plain
Dynamoを使ったVisual Programmingの例[3]

またDynamoを使って、ロボットの制御用プログラムを生成することも可能です。なのでイメージとしてはGrasshopperのAutodesk版とも言えるかもしれません。KUKAのロボットについては、今年のなってKUKAが提供するKUKA|prc[7][8]のDynamo版が提供されたようです。またABBに関しては、殆ど情報がないのですが、[6]にDynamo Toroについての言及があります。ToroとはABBが提供するシミュレーション・制御用のGrasshopperプラグインのことです[9]。こちらについては情報が少ないことから、現在のサポート状況についてはわかりかねます。もしもDynamoを介してABBのロボットを制御したい場合は、AutodeskかABBにご相談されることをお勧めします。Universal robotのロボットに関しては、私は今回情報を見つけることが出来ませんでしたので、現時点ではサポート外だと思います。

またGrasshopperと同様に、Fireflyを使うことでArduino - Dynamoをつなぐことができるみたいです[6]。

RhinoVAULT - Rhinoceros plugin

ETH Zurichが開発したプラグインで、Compression-onlyな構造を創造・探求するのに使います。美しい形状を創り出すだけでなく、構造体の原理を理解するのにも使えます。興味がある方は、[1]にTutorial動画が沢山ありますので、そちらをご覧ください。

Millipede - Grasshopper plugin

Millipedeとは、Grasshopperのプラグインの1つで、構造解析や最適化を可能にします。数値解析や線形システムの解析解の算出、固有値計算、メッシュのベクトル表現化、メッシュの統合・フィルタリング、固有モード解析なども出来ます。出来ること一覧は、[https://rhino.github.io/addons/millipede.html:title=[3]]をご覧ください。商用目的には使えませんが、教育目的ならばフリーっていうのはすごいですね。ただ内容的に、デザイナーや建築家向けではなくエンジニア向けに見えます。おそらくGrasshopperや関連プラグインを使ってデザイナー・建築家が作成したデータを、同じ環境を使ってエンジニアが単体、またはデザイナー・建築家と一緒に調整するのに使うんだと思います。

ぼやっとした感じで恐縮ですが、本記事を見て何に使えるのかなんとなーくわかっていただけたら幸いです。

Firefly - Grasshopper plugin

Fireflyとは、Grasshopperプラグインの1つです。つまりは、Rhinocerosプラグインとも言えます。このプラグインを使うことで、GrasshopperとArduino, Arduinoと接続したデバイスの間でのデータの入出力が可能となります。またGrasshopperのVisual Programming Interfaceを使うことで、インタラクティブなコンテンツをソフト・ハードの両面から作れます。自分でプログラミング言語を使わずにプログラミングが出来るので、プログラミングが出来ない人でもハードウェアを使ったプロトタイプを作る上で大変便利です。Fireflyは、Arduinoと接続できる様々なデバイスに対応しています。例えばLEDやモーターの制御、通信、カメラ撮影などです。詳細については、お手数ですがご自身で検索をお願いいたします。

f:id:graziegrazie:20181026171335p:plain
Fig. Fireflyのアイコン[2]