[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
OpenRTM.NETはここからダウンロードできます.
簡単なサンプルを作ってみました.
ソースはこんな感じ.
#I @"C:\Program Files\SEC\OpenRTM.NET\bin";
#r "OpenRTM.Core.dll";
#r "OpenRTM.Extension.dll";
#r "OpenRTM.IIOP.dll";
#r "OpenRTM.WCF.dll";
#light
open OpenRTM.Core;
open OpenRTM.Extension;
open System;
open System.Collections.Generic;
open System.Linq;
open System.Text
[<Component(Category = "Examples", Name = "Sample")>]
[<DetailProfile(
ActivityType = "DataFlowComponent",
Description = "Hello World Component",
Language = "F#",
LanguageType = "Compile",
MaxInstance = 10,
Vendor = "Nobu",
Version = "1.0.0")>]
[<CustomProfile("CreationDate", "2010/11/20")>]
type Sample() as x =
inherit DataFlowComponent()
override x.OnExecute(exec_handle) =
Console.WriteLine("Hello World");
ReturnCode_t.RTC_OK;
let main() =
let manager = new Manager()
manager.Activate();
let comp = manager.CreateComponent("Sample");
comp.GetComponentProfile().Display();
manager.Run();
do main()
F#も悪くないかも.
にほんブログ村
・・・・なんか中途半端で終わりそうな気配がプンプンしますが.
F#とXNAでゲームを作ってみると言う新企画です.
僕自身,F#を始めたのが5時間ぐらい前で,XNAに関しても全くのド素人なのでむしろ教えて貰うことのほうが多いと思いますがよろしくお願いします.
では,さっそくインストールから始めます.
インストール方法はF#もXNAもインストーラを実行するだけです.
F#はインストール後にPathを通しといた方が良いかも.(勝手にPath通るんだっけ?)
C:\Program Files\FSharp-2.0.0.0\binみたいなところに.
とりあえず,簡単な画面を出すだけのサンプルを作ってみましょう.
ソースはこんな感じ.
#I @"C:\Program Files\Microsoft XNA\XNA Game Studio\v3.0\References\Windows\x86";
#r "Microsoft.Xna.Framework.dll";
#r "Microsoft.Xna.Framework.Game.dll";
#light
open System;
open System.Collections.Generic;
open Microsoft.Xna.Framework;
open Microsoft.Xna.Framework.Audio;
open Microsoft.Xna.Framework.Content;
open Microsoft.Xna.Framework.Graphics;
open Microsoft.Xna.Framework.Input;
open Microsoft.Xna.Framework.Storage;
type MyGame() as x =
inherit Game(IsMouseVisible=true,
IsFixedTimeStep=false)
let m_graphics = new GraphicsDeviceManager(x)
let mutable m_num = 0
let mutable m_bgc = new Color(20uy, 80uy, 80uy)
let mutable charaTexture = null
let mutable spriteBatch = null
do
x.Window.Title <- "sample0"
m_graphics.PreferredBackBufferWidth <- 640;
m_graphics.PreferredBackBufferHeight <- 480;
override x.Initialize() =
base.Initialize()
override x.Update gametime =
m_num <- m_num + 1
base.Update gametime
override x.Draw gametime =
m_graphics.GraphicsDevice.Clear(
m_bgc
)
base.Draw gametime
let main() =
let game = new MyGame()
game.Run()
do main()
作ったら,sample.fsxみたいな名前で保存して,
fsc sample.fsx
とコマンドプロンプトから打つなりしてやれば実行ファイルを作ってくれますし,右クリックしてRun with F# Interactiveをしてやっても実行できるようです.
大体,C#でやるのと同じだと思うので,他を参考にした方が良いかも.
・・・正直,C#でもやったことのない僕が上手く説明出来るとは思えないし.
とりあえず今の進捗状況
キーボードで動画に映っている鼻くそみたいなのを動かしています.
アクションゲームっぽくなってきたかな?
にほんブログ村
結果は動画を見ての通りです.
このクローラーロボットは,研究室で置物(と言うかゴミ)同然となってたものです.
xPC TargetをRTMで利用するためのツールを作りたいとは思ってますけど,大して需要もなさそうだしどうしようかと思っているところです.
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
・・・でも,考え直さないといけなさそうなところが多いですな.
ysugaさんのRTC-scilabみたいな感じでやれるのが良さそうだけどね.
xPC Targetのプログラムは基本Simulinkで作るので,それと連携できるのは便利そうですが,xPC Target自体が有料だし,微妙に使いづらいような気もするしなぁ.(僕だけ?)
なお今回は,MATLABによるリアルタイム制御入門 : xPC Targetを使ったモデル・ベース開発(大川善邦著,CQ出版,2007)の15章を参考にしました.
リンク先のページで立ち読みできるみたいです.
<追記>
ちょっと考えてみたんだが,こうしてはどうだろうか?
1.RTC-scilabみたく,Simulink上にデータポートのブロックを用意
2.モデルをビルドするとRTCを自動的に作成
3.RTCを起動したら,ターゲットPCに実行ファイルが送られる
4.RTCをアクティブにするとターゲットPCの実行ファイルが起動
ただ,ディアクティブにしたときはどうしような・・・・
どうやって,モデルのビルドとRTCの作成を同時にやるかも問題だな.
別に同時にやる必要もないかもだけど.
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
産総研、CGキャラを扱うような感覚で安定した動作軌道を作成できる統合ソフト開発(ロボナブル)
産業技術総合研究所 知能システム研究部門 ヒューマノイド研究グループの中岡慎一郎研 究員らは、ヒューマノイドの動作軌道を編集できる統合ソフトウエア「Choreonoid(コレオノイド)」を開発した。入力した「キーポーズ」と呼ばれ る動作姿勢を力学的に安定した動作に自動変換することができ、CGキャラクターを扱うような感覚で編集することができる。ロボット制御の専門知識を持たな いようなクリエイターでも容易に扱えることから、ヒューマノイドを活用したコンテンツ制作に向け広く配布する。同ソフトの詳細は、10月18~22日開催 の「IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS2010)」で発表する。
ユーザーが入力するキーポーズをつなぎ合わせることで力学的に安定した動作姿勢に変換しつつ、一連の動作軌道を構成する。キーポーズの入力や修正をするた びに、これらを補正したりつなぎ合わせたりすることで動作姿勢を自動的に安定させるため、様々な動作軌道を容易に生成することができる。 Humanoid(人間型ロボット)にChoreograph(振り付けをする)ことから、Choreonoidと命名した。
具体的には、まず入力したキーポーズの接地状態を確認し、足裏が地面にめり込んだり接地すべき足が浮き上がっていたりしないよう足裏を床面に接地 する補正がなされる。次に、接地状態を滑らかに推移できるよう、目標ZMP(Zero-Moment Point、床反力の圧力中心)の遷移と、それに伴う各関節の角度および軌道などを決定する。このとき足裏の地面への接地や離反を滑らかに行うための補助 的なキーポーズを自動的に挿入したり追加したりされる。さらに、必要に応じてキーポーズの腰の位置が自動的に補正されることで、安定した動作軌道が生成さ れる(写真下)。
「デジタルコンテンツEXPO2010」にて、東京大学IRT研究機構の石川勝特任研究員とダンスクリエイターのSAM氏のプロデュースのもと、同ソフトで生成したプログラムを「HRP-4C」に実装し、ダンスを披露した。
ロボット制御の専門知識がなくても様々な動作軌道を容易に生成できることから、専用ホームページを通じて、一般にも公開することを予定する(ただ しライセンスなどの詳細は未定)。また、クリエイターと共同でヒューマノイドを活用したコンテンツ制作にも取り組む。なお、同ソフトの一部である動作パ ターン設計ツールは「次世代ロボット知能化技術開発プロジェクト」(NEDO)で開発した。
・・・・そっちが本体?
コレオノイドというソフトはヒューマノイド以外でも出来ると言うことなのでしょうか?
動作パターン設計ツールはたしかヒューマノイド以外でもできたと思いますので.
この記事読む限りではヒューマノイド専用みたいですが.
う~む,この記事だけではよくわかりませんな.論文が出回り次第,読んでみますけど.
ところで,操作パターン設計ツールのテスト公開ページの更新が滞ってるのは何故でしょうね?
去年の7月ぐらいでしたっけ?最後に更新されたの.
その他の話題
東大・中村研究室、NAOを30体導入、自由にコミュニケーションできるロボの研究に活用(ロボナブル)
そんな資金力の違いを見せつけるようなことしなくても.
今の環境で東大や東工大に勝つ,そんな風に考えていた時期が俺にもありました
こっから完全に個人的な話ですけど.
何というか,「君はどうせ大した研究成果出せないから,金のかからない研究やりなさい」と遠回しに言われて今の研究やってるようにしか思えないんだよな.
最初に希望は出すけど,いつの間にか別の研究にすり替えられてるし.
留学生がやたらでかいロボット作ってるのを端で見ながら,「お前に出す金はねぇ!!」みたいな感じで数式をひたすら書いてるというそんなに他へ移って欲しいのかと言わんばかりの状況なので,勝ち目0ですね.
どうせ,今の制御法が実機で試せるレベルになった頃には,博士の人とかに研究取られてるんでしょうし.
・・・まあ,ほとんど被害妄想ですけど.
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・