Giter Club home page Giter Club logo

hrpsys-base's Introduction

Build Status

Install

For Install, See INSTALL

API

For API, See API Doc

Samples

For Samples, See Samples

For related informations:

ROS integration with hrpsys-base ROS wiki hrpsys page

Example case of system configurations is written in the following paper Fig.3: Shunichi Nozawa, Eisoku Kuroiwa, Kunio Kojima, Ryohei Ueda, Masaki Murooka, Shintaro Noda, Iori Kumagai, Yu Ohara, Yohei Kakiuchi, Kei Okada, Masayuki Inaba, "Multi-layered real-time controllers for humanoid's manipulation and locomotion tasks with emergency stop", 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids), pp.381-388, 2015

Directories

Main directories are here (for more information, please see API Doc):

3rdparty

3rd party software installation cmake and settings.

ec

For execution context implementations for real-time linux used for hrpsys-base software.

python/jython

python/jython files.

lib

Library programs which can be used from outside of hrpsys-base. For example, IO libraries.

sample

Sample programs. See Samples.

util

Utilities.

doc

Doxygen files. Substantial documentation files are in each directories such as rtc/XX/XX.txt.

idl

IDL files used for each RTC.

launch

ROS related programs.

test

Test codes including python samples and rostest.

rtc

RT-Component implementations. Basically, one directory corresponds to one RT-Component.

hrpsys-base's People

Contributors

130s avatar eisoku9618 avatar fkanehiro avatar gergondet avatar haudren avatar hikun5296 avatar hsnuhayato avatar iory avatar ishigurojsk avatar jenkinshrg avatar jun0 avatar k-okada avatar kindsenior avatar mehdi-benallegue avatar mitsuharu-morisawa avatar mmurooka avatar naoki-hiraoka avatar nobu19800 avatar orikuma avatar rafaelxero avatar rkoyama1623-2021 avatar rohanpsingh avatar snozawa avatar tnoriaki avatar yoheikakiuchi avatar yosuke avatar youtalk avatar yswhynot avatar yuichiro26 avatar yutakojio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hrpsys-base's Issues

hrpsyspyなしにimport hrpsysするとhrpsys.soがないといわれる。

From [email protected] on July 25, 2012 21:52:52

hrpsyspyを使えばいいんですが、

+if(ENABLE_INSTALL_RPATH)

  • set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib:$ORIGIN/../../../lib:${OPENHRP_LIBRARY_DIRS}")
    +endif()

とか、

set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX$ORIGIN}/lib:${OPENHRP_LIBRARY_DIRS}")

とかすれば治ります。hrpsyspyを使えばいいじゃないといわれたら、まぁそうなんですが。。。

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=19

ImpedanceControllerに目標力と重みゲインを追加しました

From [email protected] on November 14, 2012 21:19:47

ImpedanceControllerに以下の項目を追加しました.

  • ref_force/ref_moment
    -- 目標位置における手先力/手先モーメントの目標値です.
    -- 単位系は[N], [Nm]です.
    -- 実装上はグローバル座標系で指定する手先力に対するオフセットの形式となっております.
  • force_gain/moment_gain
    -- 手先位置差分vel_p/手先角度差分vel_rに掛ける重みです.
    -- 3次元ベクトルで指定し, 内部で対角行列に変換されます.
    -- 各方向について1.0にすれば今までと同様に重み1でインピーダンス制御がかかり, 0.0にするとその方向についてはインピーダンス制御による手先位置/角度の変化がなくなります.

Attachment: ImpedanceController.src.patch ImpedanceControllerService.idl.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=34

CollisionDetectorの機能

From [email protected] on December 13, 2012 13:41:53

隣接するジョイントはチェックをしないようになっているでしょうか。
 無駄なリンクをチェックしないようになっていると嬉しいです。
 設定ファイルで自分でチェックするのが正しい?
 .confのcollision_pairの自動生成でそうならないようになっている?

凸方化した後にポリゴンリダクションする方法が別にあり、それをすると
さらに干渉チェックの計算が速くなるかもしれないらしいと聞いたことがあるのですが、
その機能は実装されていますか?

toleranceで衝突までの距離を設定することができると思っていますが、きちんと機能している
サンプルはありますでしょうか。手元だと挙動が怪しい気がしています。

よろしくお願いします。

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=42

hrpsys-simulator上でのdata portのタイムスタンプについて

From [email protected] on July 29, 2012 05:10:44

What steps will reproduce the problem? 1. hrpsys-simulatorを立ち上げる
2. Timedなデータポートのtmの値を参照する
3. 例えばStateHolder.cppで以下のようにプリントすると、
if (m_q.data.length() > 0){
m_qOut.write();
std::cerr << "in SH " << m_q.tm.sec << " " << m_q.tm.nsec << std::endl;
}
3037349784 150671152といった大きな数値が表示され、また、ループを回しても値が一定のまま更新されません。 What is the expected output? What do you see instead? 以前より金広さんからシミュレーションのデータポートタイムスタンプに関してご指摘がございますが、 http://www.openrtm.org/openrtm/ja/content/openrtm-users-00960-openrtm-aist-100-rc1-c-dataport&#37;E5&#37;9E&#37;8B&#37;E3&#37;83&#37;87&#37;E3&#37;83&#37;BC&#37;E3&#37;82&#37;BF&#37;E3&#37;81&#37;AEtimestamp&#37;E4&#37;B8&#37;8D&#37;E5&#37;85&#37;B7&#37;E5&#37;90&#37;88 hrpsys-simulatorの場合は現状どのような挙動になりますでしょうか。
こちらの環境でタイムスタンプが更新されない状態となっておりますが、
何かこちらの使用方法にあやまりがありますでしょうか。

なお、実行方法は
rosrun hrpsys hrpsys-simulator $(rospack find hrpsys)/share/hrpsys/samples/HRP4C/HRP4C.xml -o "corba.nameservers:localhost:2809" -o "naming.formats:%n.rtc" -o "logger.file_name:/tmp/rtc%p.log" -o "exec_cxt.periodic.rate:100" -o "manager.shutdown_onrtcs:NO" -o "manager.is_master:YES" -o "manager.modules.load_path:$(rospack find hrpsys)/lib" -o "manager.modules.preload:HGcontroller.so" -o "manager.components.precreate:HGcontroller" -o "exec_cxt.periodic.type:SynchExtTriggerEC" -o "example.SequencePlayer.config_file:$(rospack find hrpsys)/share/hrpsys/samples/HRP4C/HRP4C.conf"

のようにしています。
具体的には、rtm-ros-roboticsで
roslaunch hrpsys hrp4c.launchとして実行しております。

よろしくお願いいたします。

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=21

CollisionDetectorで衝突したときにエラーが出る頻度を落としたい

From [email protected] on December 21, 2012 16:41:31

CollisionDetectorですが、衝突したときにエラーが出る頻度を落とせないでしょうか。
1msecで回るコンポーネントのエラー文がそのまま垂れ流し続けると、rtcdを落とせなく
なるという問題があります。
自分たちだけしか使わないなら、counterとかつけて200回に一回だけ表示するようにすれば
5Hzくらいにできる、とかでいい気がします

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=47

11.10でコンパイルが通らない

From [email protected] on December 27, 2011 17:14:40

What steps will reproduce the problem? 1. 11.10をインストール
2. hrpsys-baseをコンパイル What is the expected output? What do you see instead? エラーメッセージは以下になります.
[ 24%] Building CXX object rtc/RobotHardware/CMakeFiles/RobotHardwareComp.dir/RobotHardwareServiceSk.o
Linking CXX executable ../../bin/RobotHardwareComp
../../lib/libhrpIo.so: undefined reference to clock_gettime' ../../lib/libhrpIo.so:[ 24&#37;] Building CXX object rtc/RobotHardware/CMakeFiles/RobotHardwareComp.dir/RobotHardwareServiceSk.o Linking CXX executable ../../bin/RobotHardwareComp ../../lib/libhrpIo.so: undefined reference toclock_gettime'
../../lib/libhrpIo.so: undefined reference to clock_nanosleep' undefined reference toclock_nanosleep' What version of the product are you using? On what operating system? Please provide any additional information below. 以下にパッチを置きました.よろしくお願いします. http://code.google.com/p/rtm-ros-robotics/source/browse/trunk/rtmros_common/hrpsys/patch/hrpIo.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=1

RTCにportが定義されているのに使われていない場合にエラーを出すようにしてほしい

From [email protected] on November 15, 2012 18:01:18

RTCでportが定義されていますが、当然そのportの情報を使うことを想定して、
コンポーネントの中身が書かれることになると思います。

しかし、バージョンアップなどでportが増えたりする場合、接続設定を行う
hrpsys.pyなどの更新し忘れなどで、挙動が怪しくなったりします。
一見動いてしまう、のが難点だと思います。

このような場合、接続時にエラーが起きて、システムが終了するようになっていると、
デバッグしやすいな、と思いました。
(存在しないportにつなごうとしたときは、pythonがエラーで落ちるのでよくわかります)

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=35

artlinuxはインストールしてあるけど,使っていない場合はartでないhrpecをコンパイルしてほしい

From [email protected] on July 18, 2012 20:24:09

artlinuxはインストールしてあるけど,使っていないような環境を
考えて貼付のパッチをtags/3.1.3, trunkの両方に対応していただけると
助かります.よろしくお願いいたします.

Attachment: use_check_for_artlinux.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=11

外部のプラグインを簡単にコンパイルしたい

From [email protected] on August 03, 2012 11:36:51

closedなプラグインがあるとして,これを簡単にhrpsys-bsaeのソースツリーでコンパイルできるとうれしいと思っています.

  1. クローズドなハードウェアのiob.cppを使いたい
    例えば
    cmake -DIOBDIR='hogehoge'
    みたいな形で,hogehogeのディレクトリには

add_library(hrpIo SHARED iob-oreore.cpp)
if (NOT APPLE)
target_link_libraries(hrpIo rt)
endif()

set(target hrpIo)

install(TARGETS ${target}
RUNTIME DESTINATION bin CONFIGURATIONS Release Debug
LIBRARY DESTINATION lib CONFIGURATIONS Release Debug
)

見たいに書けばいいだけ,となっているといろいろ簡単になってうれしいです.

同様に,外に出せないライブラリをつかったRTCがあるとして,
cmake -DCUSTOM_PLUGINS_DIR='hogehoge'
みたいにしてついかできるとうれしいです.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=22

hrp4c が表示されているときにt(toggle robot state)を押すとエラーになる.

From [email protected] on December 13, 2012 20:19:21

[hrpsys-5] process has finished cleanly.
log file: /home/k-okada/.ros/log/b405a016-4516-11e2-8c00-081196cda840/hrpsys-5*.log
hrpsys-simulator: /usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:391: Eigen::DenseCoeffsBase<Derived, 1>::Scalar& Eigen::DenseCoeffsBase<Derived, 1>::operator[](Eigen::DenseCoeffsBase<Derived, 1>::Index) [with Derived = Eigen::Matrix<double, -0x00000000000000001, 1>, Eigen::DenseCoeffsBase<Derived, 1>::Scalar = double, Eigen::DenseCoeffsBase<Derived, 1>::Index = long int]: Assertion `index >= 0 && index < size()' failed.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=43

rh_svc.servo(joint, SwitchStatus.SWITCH_ON)

From [email protected] on September 27, 2012 11:59:44

rh_svc.servo(joint, SwitchStatus.SWITCH_ON)

を実行すると

servoOn()
Traceback (most recent call last):
File "", line 1, in
File "hgoe.py", line 18, in servoOn
rh_svc.servo("all", RobotHardwareService.SwitchStatus.SWITCH_ON)
AttributeError: Enum instance has no attribute 'SWITCH_ON'
rh_svc.servo("all", SwitchStatus.SWITCH_ON)
Traceback (most recent call last):
File "", line 1, in
NameError: name 'SwitchStatus' is not defined

というエラーになるのですが、どういう書き方がただしいでしょうか?

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=27

preempt版でperiodic.rateを反映させる

From [email protected] on July 24, 2012 20:30:43

汚いでしょうか?

Index: lib/io/iob.h

--- lib/io/iob.h ( revision 406 )
+++ lib/io/iob.h (working copy)
@@ -600,6 +600,8 @@

 int wait_for_iob_signal();
  • //
  • void set_global_period_ns(long period_ns);

ifdef __cplusplus

}

endif

Index: lib/io/iob.cpp

--- lib/io/iob.cpp ( revision 406 )
+++ lib/io/iob.cpp (working copy)
@@ -18,7 +18,7 @@
static bool isLocked = false;
static int frame = 0;
static timespec g_ts;
-static long g_period_ns=5000000;
+static long g_period_ns=3000000;

define CHECK_JOINT_ID(id) if ((id) < 0 || (id) >= number_of_joints()) return E _ID

define CHECK_FORCE_SENSOR_ID(id) if ((id) < 0 || (id) >= number_of_force_senso rs()) return E_ID

@@ -591,3 +591,9 @@
}
return 0;
}
+
+#include <stdio.h>
+void set_global_period_ns(long period_ns) {

  • g_period_ns = period_ns;
  • printf("period %d %d\n", g_period_ns, period_ns);
    +}

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=16

右腕用seq, 左腕用seqを作りたい

From [email protected] on November 16, 2012 00:19:14

seqに歩行パターンを送っている間に,
右腕・左腕だけの指令を送くれればいいと思っていますが,
具体的には,どう実装するのがよいでしょうか?

seq->larm_seq->rarm_seq
みたいにして,
seqにloadPatternして軌道を再生しながら,
larm_seqにSetJointAnglesWithMaskで関節指令を
おくれればいのですが,
いまのseqは軌道が再生されているときだけ,qRefに出力されるので,
例えばseqでloadPatternしても,larm_seqに指令を送るまでは
larm_seqからqRefに出力がなされていないと思います.
これを実現するにはseqで常にqRefに出力するように変更するのもあるか
と思いますが,かなり大きい変化な気もします.

もう一つは,上のように3つseq RTCをつくらず,一つだけにして,
maskに応じてm_seqを作る,というのもあるかとおもいますが,
複雑にしすぎでしょうか.

あるいは,stateholderでqInを複数作る

あるいは,SequencePlayerではなくSequenceOverwriter, SequenceOverrider
みたいな上書き専用プラグインをつくるというのもあるかとも思いました.

よい方向性があれば,アドバイスをいただければと思います.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=36

gainを変更するIFが欲しい

From [email protected] on October 01, 2012 12:28:35

各関節のgainを変化さえるインターフェースが欲しいと思っています.
添付のようなデフォルトの値に対するパーセンテージをセットする方法を
作ってみたんですが,これとは別にゲインの値そのものをget/setする方法
もあるかと思いました.どちらがよさそうでしょうか?

Attachment: setServoGainPercentage.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=28

impedance controllerのvirtual forceを6軸力計がある状態でも使いたい

From [email protected] on December 24, 2012 13:50:30

6軸力計のある腕でインピーダンス制御をやっているのですが、
関節トルクも計測できるようになってきたので、そちらのセンサ
も見ながら制御をかけたいと思っています。

virtual force sensorがそれに相当すると聞いているのですが、
具体的にどのようにすれば両方使えるようになるかよくわかっていません。
ソースを見ると、
if(sensor){
6軸力計があればその値をとってくる
}else if( m_sensors.find(sensor_name) != m_sensors.end()) {
仮想力をとってくる
}
みたいな感じで書いてあり、どちらか一方を使うというようになっている
気もします。

とりあえず、6軸点いていない状態で動かしてみたいのですが、
どのように設定すれば動かせますでしょうか。
pythonでの設定の仕方などサンプルを見せていただけると助かります。

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=48

loadPatternで経由点の速度が0にならないように

From [email protected] on December 31, 2011 03:23:22

What steps will reproduce the problem? 1. rtmros-robotics環境だと添付のプログラムを展開し./run.shとする.
2. openhrp-model-loadを立ち上げる
3. SequencePlayer.shを立ち上げる
4. qRefIn.pyの最初のimport roslibを消してこれを立ち上げる
5. hrpsyspy経由でsample.pyを立ち上げる What is the expected output? What do you see instead? 入力をinput.png,出力をoutput.pngに添付しましたが,
経由点で速度が0になっているかと思います.前後の位置から
速度を計算して補間してあげるのがよさそうです. What version of the product are you using? On what operating system? 64bit Ubuntu 11.10 Please provide any additional information below. あと,時々interpolator::get vs = NULL, q.size() = 3878, length = 3878
というエラーが出ます.

pythonのプログラムを添削してくれるとうれしいです.

hrpsyspyを使わない書き方のサンプルがあれば教えてください.

qRefがTimedDoubleSeqですがtimeのデータが常に0です.何らかの
値(現在の時刻?あるいはなんらかのtick?)が入っていてもいいかな
と思いました.

Attachment: input.png output.png hrpsys-test.tgz

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=2

SetupCollisionPairで除外するペアを指定できるようにしてほしい

From nakaokat on December 18, 2012 20:02:31

SetupCollisionPairでは除外するリンクを指定できるようになっていますが、
あらかじめ衝突しないことが分かっているリンクのペアを指定し、除外できるようにしていただきたいです。

添付のパッチを適用すると、Link Pairを作るときにblacklistに指定されたpairを除外するようになると思います。
コマンドラインで実行するときに、SetupCollisionPair --model /path/to/model JOINT0:JOINT1などとして指定できます。

Attachment: SetupCollisionPair.cpp.cpp

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=46

32bitマシン上でCollision Detectorの動作がおかしい

From nakaokat on December 25, 2012 19:43:36

32bitマシン上でシミュレーションを動かしているのですが、CollisionDetectorを組み込んで起動すると、
なにもしなくても関節がめちゃくちゃに動いてしまいます。
同じ構成でCollisionDetectorだけ外すと、正常に動作します。

後段のコンポーネントでqRefが巨大な値になってしまっていることから、
このコンポーネントの出力のqが初期化されていないような気がします。

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=49

deleteImpedanceControllerのNoWait化

From [email protected] on November 20, 2012 11:49:40

deleteImpedanceControllerはcontrollerのdeleteが完了する, 即ちインピーダンス制御により変化したエンドエフェクタ位置姿勢が元に戻るまで待ってから関数から返る仕様になっていましたが, これだと複数のcontrollerを一度にdeleteしようととした場合に一つづつdeleteを待つことになるため,
deleteの完了を待たずに関数から返るdeleteImpedanceControllerNoWaitを実装しました.
また待機関数としてwaitDeletingImpedanceControllerを実装しております.
これは指定したImpedanceControllerがdeleteされるまでusleepする関数です.

Attachment: ImpedanceController.deleteNoWait.idl.patch ImpedanceController.deleteNoWait.src.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=37

Simulator.rtcとhrpsys-baseの同期について

From [email protected] on July 06, 2012 18:49:19

Simulator.rtcとhrpsys-baseの同期について質問がございます。
SimulationECをloadしてClockGeneratorに同期していたと思います。 http://www.openrtp.jp/openhrp3/jp/howtomakertc.html Simlator.rtcとhrpsys-baseの同期はどのようにとればよろしいでしょうか。
現在こちらでは、Simulator.rtcをCompで、hrpsysのRTC群をrtcdを用いて起動しております。
具体的なソースはこちらですが、ROSのlaunchの記法になっております。 http://code.google.com/p/rtm-ros-robotics/source/browse/trunk/rtmros_common/hrpsys/launch/hrpsys.launch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=9

hrpsys-simulatorが動いているようにみえて、activate状態にならない

From [email protected] on July 27, 2012 16:58:12

金広さん
東京大学の野沢です。
お世話になっております。

hrpsys-simulatorを使用させていただいております。
シミュレータ自体は走っていて、RTCとしてactivate
されていない状況になっており、ご相談させていただきたく存じます。

実行は ubuntu 10.04 (32bit, 64bit)で、rtm-ros-roboticsの
roslaunch hrpsys hrp4c.launch
を実行しております。

症状は、hrpsys Viewerがたちあがり、Fps およびTimeの数値が動いており、
シミュレーション自体はされているように見えます。
一方、rtm.pyをimportしたpythonスクリプトで
rtm.serializeComponents([sim, seq, sh, log, hgc])
sim.start() # simがsimulatorのインスタンです
のようにすると、start()関数が返ってきません。
止まっている箇所は
while self.isInactive():
time.sleep(0.01)
の部分で、hrpsys-simulatorがactivateしても
active状態になっていないようです。

hrp4c.launchの中でのhrpsys-simulatorの実行の際の引数と出力を以下に付します。
気になるのは、出力の中で
factory name for HRP4C(Robot)0 is not defined
と一行でています。

他にチェックすべき項目・送るべきエラーメッセージ等ございましたらご連絡ください。
よろしくお願いいたします。

  • hrpsys-simulatorの実行時引数
    rosrun hrpsys hrpsys-simulator $(rospack find hrpsys)/share/hrpsys/samples/HRP4C/HRP4C.xml -o "corba.nameservers:localhost:2809" -o "naming.formats:%n.rtc" -o "logger.file_name:/tmp/rtc%p.log" -o "exec_cxt.periodic.rate:100" -o "manager.shutdown_onrtcs:NO" -o "manager.is_master:YES" -o "manager.modules.load_path:$(rospack find hrpsys)/lib" -o "manager.modules.preload:HGcontroller.so" -o "manager.components.precreate:HGcontroller" -o "exec_cxt.periodic.type:SynchExtTriggerEC" -o "example.SequencePlayer.config_file:$(rospack find hrpsys)/share/hrpsys/samples/HRP4C/HRP4C.conf"
  • hrpsys-simulatorの出力
    HGcontroller0: onInitialize()
    createBody(HRP4C(Robot)0,file:///home/leus/ros/electric/rtm-ros-robotics/rtmros_common/hrpsys/share/hrpsys/samples/HRP4C/HRP4Cmain.wrl)
    SequencePlayer::onInitialize()
    Warning: Model HRP4 has empty joint ID in the valid IDs.
    Warning: Model HRP4 has empty joint ID in the valid IDs.
    Loading body customizer "/home/leus/ros/electric/rtm-ros-robotics/rtmros_common/openhrp3/share/OpenHRP-3.1/customizer/libSampleCustomizer.so" for springJoint
    HGcontroller1: onInitialize()
    StateHolder: dt = 3.67105e-312
    DataLogger0: onInitialize()
    Warning: Model HRP4 has empty joint ID in the valid IDs.
    Warning: Model HRP4 has empty joint ID in the valid IDs.
    createBody(longfloor,file:///home/leus/ros/electric/rtm-ros-robotics/rtmros_common/openhrp3/share/OpenHRP-3.1/sample/project/../model/longfloor.wrl)
    HGcontroller0:0.005
    factory name for HRP4C(Robot)0 is not defined
    making a connection between HGcontroller0.qOut and HRP4C(Robot)0.qRef
    making a connection between HGcontroller0.dqOut and HRP4C(Robot)0.dqRef
    making a connection between HGcontroller0.ddqOut and HRP4C(Robot)0.ddqRef
    number of receivers:1
    timestep = 0.005, total time = 50
    HGcontroller0: onActivated(0)

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=20

VirtualForceSensorでm_tauの値をフィルタリングして利用するようにしました

From [email protected] on November 06, 2012 16:07:23

今まで関節角度目標値q_refと関節角度qの差分からトルクを導出して利用していましたがm_tauをフィルタリングした値を利用したほうが動作中の力推定が正しく出来そうだったので更新しました.
データは取ってあるので必要があれば提示可能です.

Attachment: IIRFilter.cpp IIRFilter.h VirtualForceSensor.20121105.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=32

VirtualForceSensorにおけるQuaternionの取り扱い

From [email protected] on December 27, 2012 17:54:44

VirtualForceSensorの座標系がrviz等のrosの世界でx軸周りに180度回転してしまうバグを修正しました.

原因はros/rtmにおけるクォータニアンの順番が(x, y, z, w)であるのに対してVirtualForceSensor内部で使用しているeigenのクォータニアンの引数の順番が(w, x, y, z)であり, かつconfファイルへの記述がeigenの仕様でなされていたことが原因でした.
添付のpatchによりVirtualForceSensorがconfファイルで(x, y, z, w)の順序で記述されたクォータニアンを正しく処理できるように修正を致しました.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=50

エンコーダをキャリブレーションする関数

From [email protected] on July 06, 2012 16:12:08

RobotHardwareで,
void initializeJointAngle(in string name, in string option);
みたいなものを追加するというのはありえるでしょうか?
optionはoverwriteとかを入れるようです.

この関数の中で,関節を動かしてリミットにあたったところを覚えて,
さらに,元に戻す,という作業をしているようです.私はちょっと
やりすぎでは,という気もします.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=8

Impedanceコントローラの起動時の出力波形がなめらかに繋がってほしい

From [email protected] on November 20, 2012 15:40:10

現在のImpedanceControllerを使うときに、

setImpedanceControllerParam関数を送ると、onExecuteの中で
制御計算が始まりますが、最初の波形が汚くなっています。
(添付ic-out.png参照)
ゲインの高いロボットの場合、ここで「がくっ」と動くのであまり良くない状況です。

原因は他にもあるかと思うのですが、少なくとも、
計算に使っている
param.target_p1, r1 , param.current_p1,p2, r1 , r2 が一番最初は何もセットされていないので不思議な挙動になっていると思います。
少なくとも最初の一回は、これらをparam.target_p0, r0 param.current_p0, r0 からコピーするようにすると、少し滑らかになるようになりました。
(添付ic-out-mod.png参照)

ImpedanceController.cpp, ImpedanceController.h
に以下のパッチを当てて対応していますが、もっと良い方法があれば、対応お願いします。
(かなり対処療法的)

Attachment: ic-out.png ic-out-mod.png ImpedanceController.cpp.patch ImpedanceController.h.patch

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=38

速度リミットを越えないように補間する

From [email protected] on January 13, 2012 13:01:19

What steps will reproduce the problem? 1. ロボットモデルには速度リミットがはいっているので,これを見ながら超えないように補完する機能が必要です. What is the expected output? What do you see instead? SequencePlayerにいれるか,RobotHardwareか,あるいは,新しく作るかの議論はありそうです.

SequencePlayerで行うとすると,
interpolator::hoffarbib
interpolator::linear_interpolation
で,vvがリミットを越えたらvvをさちらせて remain_tを引かない,
というのを考えましたが,どうでしょうか?

速度リミットを超えましたよ,というフラグを立てるべきでしょうか?

ModelLaderの変更も必要になりますが,加速度リミットも対応したいですね.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=3

preempt版でもnumber_of_substeps()を反映させる.

From [email protected] on July 24, 2012 20:33:11

Index: ec/hrpEC/hrpEC.cpp

--- ec/hrpEC/hrpEC.cpp ( revision 406 )
+++ ec/hrpEC/hrpEC.cpp (working copy)
@@ -43,10 +43,14 @@

 bool hrpExecutionContext::waitForNextPeriod()
 {
  •    if (wait_for_iob_signal()){
    
  •   int nsubstep = number_of_substeps();
    
  •    while(1) {
    
  •     if (wait_for_iob_signal()){
         perror("wait_for_iob_signal()");
         return false;
    
  •    }
    
  •     }
    
  •     if ( read_iob_frame() &#37; nsubstep == 0 ) break;
    
  •   }
     return true;
    
    }

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=17

CollisionDetectorをVclip(凸包)なしで動かしたい

From nakaokat on December 14, 2012 17:05:13

setupVClipModel(m_robot);
をコメントアウトしたら
以下のようにエラーになりました。
[hrpsys_simulator-3] process has died [pid 21688, exit code -11, cmd /home/leus/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/build/hrpsys-base/bin/hrpsys-simulator /home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.xml -o corba.nameservers:localhost:2809 -o naming.formats:%n.rtc -o logger.file_name:/tmp/rtc%p.log -endless -realtime -o exec_cxt.periodic.rate:1000000 -o manager.shutdown_onrtcs:NO -o manager.is_master:YES -o manager.modules.load_path:/home/leus/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/lib -o manager.modules.preload:HGcontroller.so -o manager.components.precreate:HGcontroller -o exec_cxt.periodic.type:SynchExtTriggerEC -o example.SequencePlayer.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf -o example.ImpedanceController.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf -o example.StateHolder.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf -o example.KalmanFilter.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf -o example.Stabilizer.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf -o example.CollisionDetector.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf -o example.SoftErrorLimiter.config_file:/home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0.conf __name:=hrpsys_simulator _log:=/home/leus/.ros/log/b3553ef0-4418-11e2-833b-0019b911210f/hrpsys_simulator-3.log].
log file: /home/leus/.ros/log/b3553ef0-4418-11e2-833b-0019b911210f/hrpsys_simulator-3
.log
[hrpsys-4] process has died [pid 21702, exit code 1, cmd /home/leus/ros/fuerte/rtm-ros-robotics/rtmros_common/hrpsys/scripts/hrpsys.py A0Controller(Robot)0 /home/leus/ros/fuerte/schaft-ros-pkg/schaft_common/schaft_description/models/A0/A0main.wrl __name:=hrpsys _log:=/home/leus/.ros/log/b3553ef0-4418-11e2-833b-0019b911210f/hrpsys-4.log].
log file: /home/leus/.ros/log/b3553ef0-4418-11e2-833b-0019b911210f/hrpsys-4
.log

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=45

Viewer.rtcへの表示の追加

From [email protected] on July 06, 2012 18:50:32

(急ぎの案件ではありませんが)GrxUIでのシミュレーションのように
Viewer.rtc上に接触力の表示がありますと、シミュレーションの様子が
わかり大変助かります。

また、ダイナミクスありかなしか、simulation時間等も
Viewer.rtcのウィンドウバーのfps表示のように追加していただけると
助かります。

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=10

hrpsys-simulatorの使い方

From [email protected] on August 20, 2012 15:35:10

基本的なことですいません.
hrpsys-simulatorを使ったサンプルはどれになるでしょうか?

として立ち上げた後, http://code.google.com/p/rtm-ros-robotics/source/browse/trunk/rtmros_common/hrpsys/scripts/hrpsys.py でポートを接続しているのですが,この場合HGcontrollerが2つ立ち上がるのですが,これであっていますでしょうか?

ただ,
ms.load("HGcontroller");
hgc = ms.create("HGcontroller")
ではなく,
hgc = findRTC("HGcontroller0")
としてから,walk2mをplayPatternすると,
ロボットが飛んでいきます.

Original issue: http://code.google.com/p/hrpsys-base/issues/detail?id=24

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.