忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[11]  [12]  [13]  [14]  [15]  [16]  [17]  [18]  [19]  [20]  [21
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

RTM講習会に参加してきましたが、正直見込みが甘かったように思います。


とにかく色々なトラブルが発生して、自作のRTCでロボットを操作できた人はほとんどいませんでした。



まず困ったのがTkJoyStickComp.pyが動作できない問題です。
これは起こるのではないかと思ってはいましたが、「多分大丈夫だろう」と思って対策はしませんでした。


ざっと数えただけでも6~7人ぐらいはいました。

原因として考えられるのは以下の通りです。


・Pythonインストール時にTkのチェックを外している


わざわざこんなことをする人はほとんどいないとは思いますが、Tkinterのインポートエラーが出るとしたらこれぐらいです。Python 2.7.0から2.7.10までのインストーラー、32bitと64bitの両方を実行して確認してみましたが、Tkinterはデフォルトでインストールされるようなので自分で設定を変更する以外にはあり得ません。


・OpenRTM-aistのPython版がインストールされていない

これが一番多かったのではないかと思います。
まあ確かに1.1.2にしろと強制したわけではないので、C++版の1.1.1以下をインストールしただけの人もいたのでしょう。
ただ講習会のページでPython版のインストールも指示しているようなので僕は悪くありません。


・Python版のRTCが実行できない

Pythonは64bit、OpenRTM-aistは32bitをインストールした場合などに発生します。
これは割とありがちなのかもしれないです。






あとEV3のネームサーバーが勝手に落ちるという現象がいくつか発生したそうです。

どうにも一度も接続したことのないPCとEV3が最初に接続したときの動作が怪しいように思います。
Ubuntuで接続できるか動作確認した際に似たような現象が発生しましたが、最初の一回発生しただけでそれ以降は発生しませんでした。

EV3を一回再起動すれば直る可能性もあるかもしれないです。

デバイスドライバの更新などを考えると、EV3は無線で接続した方がよかったかもしれないです。
ただそれをやるには人数が多すぎるので無理がありそうです。
IEEE802.11aとか使えばいけるかもしれませんが、それはそれで別の問題が発生しそうなのでやりたくありません。





参加した人には気の毒ですが、もう疲れたのでこの辺にしておきます。








にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
ネットワークアダプタが複数あると上手く通信できない事があるわけですが、31人もいると多分誰かはやらかすと考えています。

説明用スライドとチュートリアルのページにも書いてはいますが、一見して不具合が発生しているかが分かりづらいのが問題です。


一応OpenRTP 1.1.2ではIORからオブジェクトの情報を表示してくれるので、それを見れば確認はできます。








表示されたIPアドレスがEV3の場合は192.168.0.2、ラズパイマウスの場合は192.168.11.2(多分)になっていなければおそらく不具合が発生しています。

例えば無線LANで接続したネットワークでIPアドレス152.160.33.2が割り振られているとします。
この場合はEV3やラズパイからは到達できないIPアドレスなので、EV3やラズパイマウスからの通信は失敗します。

解決方法としては無線LAN等を切るか、あるいはrtc.confでエンドポイントを明示的に指定するかの方法があります。


corba.endpoint: 192.168.0.2:



ただ講習会に参加する方は初心者だと思うので、rtc.confをいじるのはあまりおすすめしません。
素直に無線LANを切断してください。






それからRTCをexitせずに×を押してプロセスを終了してRTシステムエディタが固まるということも絶対に誰かはやらかします。これは断言します。


相手のRTCとの通信が途切れている場合、PortBaseクラスのupdateConnectors関数が呼び出された時にコネクタが削除されます。updateConnectors関数はget_port_profile関数、get_connector_profiles関数、get_connector_profiles関数で呼び出されるので、RTシステムエディタでRTCを表示しているとこれらの操作を呼び出して勝手に削除します。


これが別のマシンのRTCと接続している場合に時間がかかる場合があるみたいです。

とりあえずrtc.confでCORBA通信のタイムアウトを設定したら切断するまでの時間が速くなったのですが、これはデフォルト値0のはずなのでむしろ遅くなるように思うので謎です。



corba.args: -ORBclientConnectTimeOutPeriod 5000




まあ普通にexitするかCtrl+Cで消せば大丈夫なのでそうしてください。






にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
来週のRTM講習会のプログラミング実習の手順をまとめたので参考にしてください。

チュートリアル(EV3)
チュートリアル(Raspberry Pi Mouse)



読んでもらえば分かる通りRaspberry Pi、EV3を無線LANアクセスポイントにして接続する予定でしたが有線での接続に変更になりました。

一応無線でも接続できるので、やりたい人はそれでも構いません。



レゴマインドストームEV3が16台、Raspberry Pi Mouseが15台の計31台あるので、1人1台で実習を行います。

個人的にはラズパイマウスをお勧めします。
何故かと言うとチュートリアルを見てもらえば分かる通りEV3は動かすまでにやることが多いからです。
まず箱に入りきらなかったので分解した状態で参加者の皆さんに配ります。一応組み立てる手順は記載してあるので自分で組み立ててもらいます。
あと環境によっては手動でドライバーの更新を行う必要があるかもしれません。



どうせ2時間しかないのだから動いたと言うだけでも充分だと思った方がよさそうです。

一番気を付けなければならないのはネットワークアダプタが複数ある場合で、トラブルに発展する可能性が非常に高いです。
チュートリアルにも書いてありますが、ネームサーバーやRTCを起動する前に無線LANは切っておくことをお勧めします。







にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
本題に入る前に、OpenRTM-aist-1.1.2がリリースされました。

今回からC++版、Python版、Java版が一気にインストールできるようになりました。
また過去のバージョンのdllもインストールできるようになったわけですが、そのディレクトリへのパスは通していないので手動で設定してください。


set PATH=%RTM_BASE%1.1.1\vc12\bin;%PATH%





別に1.1.2に限った問題ではないのですが、環境変数PATHでOpenRTM-aistへのパスよりもPythonへのパスの方が先にある場合にIDLファイルのコンパイルに失敗します。

これはOpenRTM-aistをインストールしたディレクトリのomniidl.exeではなくPythonディレクトリのomniidl.exeを使おうとするためなのでPythonのパスがOpenRTM-aistのパスより後になるようにしてください。

本当はこれを使いたいのですが、
C:\Program Files (x86)\OpenRTM-aist\1.1.2\omniORB\4.2.1_vc12\bin\x86_win32\omniorb.exe
間違ってこっちを使ってしまいます。
C:\Python27\omniorb.exe

ちなみにどちらもomniidl.exe自体の動作は全く同じです。周りのファイルが違うだけです。





もしくはC:\Program Files (x86)\OpenRTM-aist\1.1.2\omniORB\4.2.1_vc12\lib\python\omniidl_beにあるcxxフォルダをC:\Python27\Lib\site-packages\omniidl_beにコピーすればPython以下のomniidl.exeでC++、Python両方のIDLコンパイルができるようになります。



C:\Program Files (x86)\OpenRTM-aist\1.1.2\omniORB\4.2.1_vc12\lib\python\omniidl_be\cxx

C:\Python27\Lib\site-packages\omniidl_be
にコピーします。


omniidlの-b***オプションはomniidl_beフォルダ内のPythonファイル***.pyのrun関数を実行するだけのようなので、OpenRTM-aistをインストールしたディレクトリのomniidl_be内のcxxをコピーするだけで大丈夫なはずです。






ここからが本題です。
ROBOMECH2016で開催されるRTM講習会ですが、プログラミング実習は予習必須です。
理由は察してください。僕がそもそも講習会初参加なので、教えられるか不安です。




以下のページを穴が開くぐらい読んでおいてください。

Raspberry Pi Mouse 活用事例
LEGO Mindstorms EV3 活用事例




実習ではEV3、Raspberry Piを無線LANアクセスポイントにしてそこに接続するわけですが、ネットワークを切り替える際にトラブルが起こると予想しています。
困ったらネーミングサービスを再起動してください。それで何とかなる場合もあります。




とにかく無事に終わることを願うばかりです。
失敗してもあまり怒らないでください。







にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
現在のところ、RTCビルダでPythonのRTCのソースコードを出力するとデータの変数の初期化が正しく行われないものがあります。
以下のように記述すれば大丈夫なのでコピペして使ってください。




RTC.Time(0,0)
RTC.TimedState(RTC.Time(0,0), 0)
RTC.TimedShort(RTC.Time(0,0), 0)
RTC.TimedLong(RTC.Time(0,0), 0)
RTC.TimedUShort(RTC.Time(0,0), 0)
RTC.TimedULong(RTC.Time(0,0), 0)
RTC.TimedFloat(RTC.Time(0,0), 0.0)
RTC.TimedDouble(RTC.Time(0,0), 0.0)
RTC.TimedChar(RTC.Time(0,0), chr(0))
RTC.TimedWChar(RTC.Time(0,0), u"00")
RTC.TimedBoolean(RTC.Time(0,0), False)
RTC.TimedOctet(RTC.Time(0,0), 0)
RTC.TimedString(RTC.Time(0,0), "")
RTC.TimedWString(RTC.Time(0,0), u"")
RTC.TimedShortSeq(RTC.Time(0,0), [])
RTC.TimedLongSeq(RTC.Time(0,0), [])
RTC.TimedUShortSeq(RTC.Time(0,0), [])
RTC.TimedULongSeq(RTC.Time(0,0), [])
RTC.TimedFloatSeq(RTC.Time(0,0), [])
RTC.TimedDoubleSeq(RTC.Time(0,0), [])
RTC.TimedCharSeq(RTC.Time(0,0), [])
RTC.TimedWCharSeq(RTC.Time(0,0), [])
RTC.TimedBooleanSeq(RTC.Time(0,0), [])
RTC.TimedOctetSeq(RTC.Time(0,0), "")
RTC.TimedStringSeq(RTC.Time(0,0), [])
RTC.TimedWStringSeq(RTC.Time(0,0), [])
RTC.RGBColour(0.0,0.0,0.0)
RTC.Point2D(0.0,0.0)
RTC.Vector2D(0.0,0.0)
RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0)
RTC.Velocity2D(0.0,0.0,0.0)
RTC.Acceleration2D(0.0,0.0)
RTC.PoseVel2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), RTC.Velocity2D(0.0,0.0,0.0))
RTC.Size2D(0.0, 0.0)
RTC.Geometry2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), RTC.Size2D(0.0, 0.0))
RTC.Covariance2D(*([0.0]*6))
RTC.PointCovariance2D(0.0,0.0,0.0)
RTC.Carlike(0.0,0.0)
RTC.SpeedHeading2D(0.0,0.0)
RTC.Point3D(0.0,0.0,0.0)
RTC.Vector3D(0.0,0.0,0.0)
RTC.Orientation3D(0.0,0.0,0.0)
RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0))
RTC.Velocity3D(*([0.0]*6))
RTC.AngularVelocity3D(0.0,0.0,0.0)
RTC.Acceleration3D(0.0,0.0,0.0)
RTC.AngularAcceleration3D(0.0,0.0,0.0)
RTC.PoseVel3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Velocity3D(*([0.0]*6)))
RTC.Size3D(0.0,0.0,0.0)
RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0))
RTC.Covariance3D(*([0.0]*21))
RTC.SpeedHeading3D(0.0, RTC.Orientation3D(0.0,0.0,0.0))
RTC.OAP(*([RTC.Vector3D(0.0,0.0,0.0)]*3))
RTC.TimedRGBColour(RTC.Time(0,0), RTC.RGBColour(0.0,0.0,0.0))
RTC.TimedPoint2D(RTC.Time(0,0), RTC.Point2D(0.0,0.0))
RTC.TimedVector2D(RTC.Time(0,0), RTC.Vector2D(0.0,0.0))
RTC.TimedPose2D(RTC.Time(0,0), RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0))
RTC.TimedVelocity2D(RTC.Time(0,0), RTC.Velocity2D(0.0,0.0,0.0))
RTC.TimedAcceleration2D(RTC.Time(0,0), RTC.Acceleration2D(0.0,0.0))
RTC.TimedPoseVel2D(RTC.Time(0,0), RTC.PoseVel2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), RTC.Velocity2D(0.0,0.0,0.0)))
RTC.TimedSize2D(RTC.Time(0,0), RTC.Size2D(0.0, 0.0))
RTC.TimedGeometry2D(RTC.Time(0,0), RTC.Geometry2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), RTC.Size2D(0.0, 0.0)))
RTC.TimedCovariance2D(RTC.Time(0,0), RTC.Covariance2D(*([0.0]*6)))
RTC.TimedPointCovariance2D(RTC.Time(0,0), RTC.PointCovariance2D(0.0,0.0,0.0))
RTC.TimedCarlike(RTC.Time(0,0), RTC.Carlike(0.0,0.0))
RTC.TimedSpeedHeading2D(RTC.Time(0,0), RTC.SpeedHeading2D(0.0,0.0))
RTC.TimedPoint3D(RTC.Time(0,0), RTC.Point3D(0.0,0.0,0.0))
RTC.TimedVector3D(RTC.Time(0,0), RTC.Vector3D(0.0,0.0,0.0))
RTC.TimedOrientation3D(RTC.Time(0,0), RTC.Orientation3D(0.0,0.0,0.0))
RTC.TimedPose3D(RTC.Time(0,0), RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)))
RTC.TimedVelocity3D(RTC.Time(0,0), RTC.Velocity3D(*([0.0]*6)))
RTC.TimedAngularVelocity3D(RTC.Time(0,0), RTC.AngularVelocity3D(0.0,0.0,0.0))
RTC.TimedAcceleration3D(RTC.Time(0,0), RTC.Acceleration3D(0.0,0.0,0.0))
RTC.TimedAngularAcceleration3D(RTC.Time(0,0), RTC.AngularAcceleration3D(0.0,0.0,0.0))
RTC.TimedPoseVel3D(RTC.Time(0,0), RTC.PoseVel3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Velocity3D(*([0.0]*6))))
RTC.TimedSize3D(RTC.Time(0,0), RTC.Size3D(0.0,0.0,0.0))
RTC.TimedGeometry3D(RTC.Time(0,0), RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)))
RTC.TimedCovariance3D(RTC.Time(0,0), RTC.Covariance3D(*([0.0]*21)))
RTC.TimedSpeedHeading3D(RTC.Time(0,0), RTC.SpeedHeading3D(0.0, RTC.Orientation3D(0.0,0.0,0.0)))
RTC.TimedOAP(RTC.Time(0,0), RTC.OAP(*([RTC.Vector3D(0.0,0.0,0.0)]*3)))
RTC.Quaternion(*([0.0]*4))
RTC.TimedQuaternion(RTC.Time(0,0), RTC.Quaternion(*([0.0]*4)))
RTC.ActArrayActuatorPos(RTC.Time(0,0), 0, 0.0)
RTC.ActArrayActuatorSpeed(RTC.Time(0,0), 0, 0.0)
RTC.ActArrayActuatorCurrent(RTC.Time(0,0), 0, 0.0)
RTC.Actuator(0.0,0.0,0.0,0.0, RTC.ACTUATOR_STATUS_IDLE)
RTC.ActArrayState(RTC.Time(0,0), [])
RTC.ActArrayActuatorGeometry(RTC.ACTARRAY_ACTUATORTYPE_LINEAR, 0.0, RTC.Orientation3D(0.0,0.0,0.0), RTC.Vector3D(0.0,0.0,0.0), 0.0, 0.0, 0.0, 0.0, False)
RTC.ActArrayGeometry(RTC.TimedGeometry3D(RTC.Time(0,0), RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)), [])
RTC.BumperGeometry(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0), 0.0)
RTC.BumperArrayGeometry(RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)), [])
RTC.CameraImage(RTC.Time(0,0), 0,0,0,"",0.0,"")
RTC.CameraInfo(RTC.Vector2D(0.0,0.0), RTC.Point2D(0.0,0.0), 0.0,0.0,0.0,0.0)
RTC.FiducialInfo(0, RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0), RTC.Size3D(0.0,0.0,0.0))
RTC.Fiducials(RTC.Time(0,0), [])
RTC.FiducialFOV(0.0,0.0,0.0)
RTC.GPSTime(0,0)
RTC.GPSData(RTC.Time(0,0), RTC.GPSTime(0,0), 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0, RTC.GPS_FIX_NONE)
RTC.GripperState(RTC.Time(0,0), RTC.GRIPPER_STATE_UNKNOWN)
RTC.INSData(RTC.Time(0,0), 0.0,0.0,0.0,0.0, RTC.Velocity3D(*([0.0]*6)), RTC.Orientation3D(0.0,0.0,0.0))
RTC.LimbState(RTC.Time(0,0), RTC.OAP(*([RTC.Vector3D(0.0,0.0,0.0)]*3)), RTC.LIMB_STATUS_IDLE)
RTC.Hypothesis2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), RTC.Covariance2D(*([0.0]*6)), 0.0)
RTC.Hypotheses2D(RTC.Time(0,0), [])
RTC.Hypothesis3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Covariance3D(*([0.0]*21)), 0.0)
RTC.Hypotheses3D(RTC.Time(0,0), [RTC.Hypothesis3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Covariance3D(*([0.0]*21)), 0.0)])
RTC.OGMapConfig(0.0,0.0,0,0, RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0))
RTC.OGMapTile(0,0,0,0,"")
RTC.PointFeature(0.0, RTC.Point2D(0.0,0.0), RTC.PointCovariance2D(0.0,0.0,0.0))
RTC.PoseFeature(0.0, RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), RTC.Covariance2D(*([0.0]*6)))
RTC.LineFeature(0.0,0.0,0.0, RTC.PointCovariance2D(0.0,0.0,0.0), RTC.Point2D(0.0,0.0), RTC.Point2D(0.0,0.0), False, False)
RTC.Features(RTC.Time(0,0), [],[],[])
RTC.MultiCameraImages(RTC.Time(0,0), [])
RTC.MulticameraGeometry(RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)), [RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0))])
RTC.Waypoint2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), 0.0,0.0, RTC.Time(0,0), RTC.Velocity2D(0.0,0.0,0.0))
RTC.Path2D(RTC.Time(0,0), [RTC.Waypoint2D(RTC.Pose2D(RTC.Point2D(0.0,0.0), 0.0), 0.0,0.0, RTC.Time(0,0), RTC.Velocity2D(0.0,0.0,0.0))])
RTC.Waypoint3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), 0.0,0.0, RTC.Time(0,0), RTC.Velocity3D(*([0.0]*6)))
RTC.Path3D(RTC.Time(0,0), [])
RTC.PointCloudPoint(RTC.Point3D(0.0,0.0,0.0), RTC.RGBColour(0.0,0.0,0.0))
RTC.PointCloud(RTC.Time(0,0), [])
RTC.PanTiltAngles(RTC.Time(0,0), 0.0,0.0)
RTC.RangerGeometry(RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)), [])
RTC.RangerConfig(*([0.0]*7))
RTC.RangeData(RTC.Time(0,0), [], RTC.RangerGeometry(RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)), []), RTC.RangerConfig(*([0.0]*7)))
RTC.IntensityData(RTC.Time(0,0), [], RTC.RangerGeometry(RTC.Geometry3D(RTC.Pose3D(RTC.Point3D(0.0,0.0,0.0), RTC.Orientation3D(0.0,0.0,0.0)), RTC.Size3D(0.0,0.0,0.0)), []), RTC.RangerConfig(*([0.0]*7)))
Img.ImageData(0,0, Img.CF_UNKNOWN, "")
Img.CameraIntrinsicParameter([0.0]*5, [])
Img.CameraImage(RTC.Time(0,0), Img.ImageData(0,0, Img.CF_UNKNOWN, ""), Img.CameraIntrinsicParameter([0.0]*5, []), [[0.0]*4]*4)
Img.TimedCameraImage(RTC.Time(0,0), Img.CameraImage(RTC.Time(0,0), Img.ImageData(0,0, Img.CF_UNKNOWN, ""), Img.CameraIntrinsicParameter([0.0]*5, []), [[0.0]*4]*4), 0)
Img.MultiCameraImage([],0)
Img.TimedMultiCameraImage(RTC.Time(0,0), Img.MultiCameraImage([],0), 0)
Img.NamedValue("","")
Img.CameraDeviceProfile("","",0,"","",Img.CameraIntrinsicParameter([0.0]*5, []),[])




にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
<< 前のページ 次のページ >>
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
35
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]