Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WholeBodyMasterSlaveとHapticController #1302

Open
wants to merge 245 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
245 commits
Select commit Hold shift + click to select a range
78b0c2d
init commit
ishiguroJSK May 30, 2016
00b702b
test for human tracker
ishiguroJSK Jun 8, 2016
125286d
modify foot ik jump for CHIDORI
ishiguroJSK Jun 15, 2016
427febb
add service stopHumanSync
ishiguroJSK Jun 15, 2016
6674eac
add X move
ishiguroJSK Jun 29, 2016
25a860a
mod zmp ref
ishiguroJSK Jul 1, 2016
1d3de2c
mod zmp ref2
ishiguroJSK Jul 1, 2016
5ee6031
tune COM ratio as 0.55
ishiguroJSK Jul 5, 2016
ce53725
fix wrong ratio between com and ZMP
ishiguroJSK Jul 5, 2016
89d980a
fix left foot contact state
ishiguroJSK Jul 12, 2016
ebb3343
enable XY foot move
ishiguroJSK Jul 20, 2016
2e1377e
enable COM IK
ishiguroJSK Jul 25, 2016
a03aa9c
compatible to JAXON
ishiguroJSK Jul 26, 2016
e20fdd8
start constructing HumanSynchronizer class
ishiguroJSK Aug 3, 2016
2ff1512
move to use HumanSynchronizer class
ishiguroJSK Aug 4, 2016
8dc6ef5
Almostly complete moving to HumanSync and check with Xtion
ishiguroJSK Aug 5, 2016
73de3d6
make smart access to HumanPose
ishiguroJSK Aug 7, 2016
4ab63ff
fix countdown bug
ishiguroJSK Aug 7, 2016
4faeddb
apply COM safe limit
ishiguroJSK Aug 10, 2016
3a502be
fix leptrino filter
ishiguroJSK Aug 10, 2016
3357cd1
add setHumanToRobotRatio and setAllowedXYZSync
ishiguroJSK Aug 13, 2016
4c17e69
add COM to Support Region Limit with convex_hull
ishiguroJSK Sep 14, 2016
54e1eeb
fix COM limit bug
ishiguroJSK Sep 16, 2016
93b83b1
implement COMToSupportRegionLimit without dependency on latest boost
ishiguroJSK Sep 16, 2016
27886f7
merge from master
ishiguroJSK Sep 16, 2016
fdac1e4
fix h2r_ratio update dependency
ishiguroJSK Sep 17, 2016
dcc0323
add histeresis mod
jaxon-user Sep 20, 2016
db6a13b
test iir filter
ishiguroJSK Oct 12, 2016
3ae605f
merge from master
ishiguroJSK Oct 12, 2016
3d4194b
tune IIR filter and Swing leg lock function
ishiguroJSK Oct 14, 2016
18c7496
use interpolator to ZMP-COM offset
ishiguroJSK Oct 18, 2016
0ae4abb
tune for real CHIDORI
ishiguroJSK Oct 21, 2016
5a3851f
fix contact state change function
ishiguroJSK Oct 28, 2016
7ab9111
sum up contact control
ishiguroJSK Nov 1, 2016
ed522be
merge from master
ishiguroJSK Nov 1, 2016
7930498
fix tmp_foot_mid_pos
ishiguroJSK Nov 1, 2016
0b20426
add FootUpTime method
ishiguroJSK Nov 2, 2016
bb62fa1
enable ZMP/CP acc/vel safety
ishiguroJSK Dec 2, 2016
2d5e644
disable ZMP acc safety
ishiguroJSK Dec 5, 2016
16625c8
fix IIR setparam
ishiguroJSK Dec 5, 2016
fff3b7f
add foot to foot workspace limit
ishiguroJSK Dec 15, 2016
e15ba01
remove unused backup files
ishiguroJSK Dec 19, 2016
1246471
enable cv::convexhull
ishiguroJSK Dec 19, 2016
dc914c6
enable convex_hull limit CVver
ishiguroJSK Dec 20, 2016
e0c0403
fix lockSwingFootIfZMPOutOfSupportFoot() problem
ishiguroJSK Dec 20, 2016
f2694a6
add neck safe margin
ishiguroJSK Dec 22, 2016
25bfc16
add Qhull convex func and non XY independent CP limitation
ishiguroJSK Dec 23, 2016
14c4cf9
apply variable foot lifting speed
ishiguroJSK Jan 11, 2017
d26ad8c
separate source code of HumanMasterSlave
ishiguroJSK Jan 11, 2017
9591bcd
Merge branch 'master' into ht-abc
ishiguroJSK Jan 11, 2017
9456600
Merge branch 'master' into ht-abc
ishiguroJSK Jan 11, 2017
dceef5c
rm log
ishiguroJSK Jan 11, 2017
c4aa3e8
change to use std::map for HumanPose member
ishiguroJSK Jan 12, 2017
f8e30bb
add safe getter
ishiguroJSK Jan 12, 2017
98cadac
add safe getter
ishiguroJSK Jan 12, 2017
73d5ddc
merge
ishiguroJSK Jan 12, 2017
2048133
allow variable Z height
ishiguroJSK Jan 13, 2017
37b9f5b
change data type PointStamped -> PoseStamped
ishiguroJSK Jan 18, 2017
cf001cd
implement for joy stick gait
ishiguroJSK Jan 20, 2017
dcd25e9
apply auto ee rotation horizon
ishiguroJSK Jan 20, 2017
195802a
enable rotaion and rot safety
ishiguroJSK Feb 1, 2017
81ef0c4
cam -> head
ishiguroJSK Feb 8, 2017
79035b8
cam ->head2
ishiguroJSK Feb 8, 2017
94073fa
complete rot control
ishiguroJSK Feb 15, 2017
f8cbb0e
remove unused func
ishiguroJSK Feb 15, 2017
7096b49
add autoLRswap
ishiguroJSK Feb 15, 2017
84c987a
add accelaration CP
ishiguroJSK Feb 17, 2017
4e60fda
calc com height from com-to-foot
ishiguroJSK Feb 17, 2017
de108ff
parameter for real JAXON_RED
jaxon-user Feb 18, 2017
507e0b9
use setParam
ishiguroJSK Feb 24, 2017
0c634a1
change the order of LPF and CPregu, use setParam
ishiguroJSK Mar 4, 2017
7897d6c
add my invdyn implements
ishiguroJSK Apr 10, 2017
3b0aea4
merge from master
ishiguroJSK Apr 10, 2017
4281549
more independency
ishiguroJSK Apr 11, 2017
7a89eeb
transport master-slave code ABC->WBMS
ishiguroJSK Apr 21, 2017
ae3332c
complete transport ABC->WBMS
ishiguroJSK Apr 22, 2017
ea0cfc6
Merge branch 'master' of https://github.com/fkanehiro/hrpsys-base int…
ishiguroJSK Apr 22, 2017
320e790
change connection of datalogger
ishiguroJSK Apr 22, 2017
3a1be44
add interpolator
ishiguroJSK May 3, 2017
4f66232
debugging wbms-st
jaxon-user May 4, 2017
1fe4227
use if for wbms
jaxon-user May 4, 2017
38792a9
set initial COM pos to the mid of RF LF
ishiguroJSK May 5, 2017
a6d6e22
solve wbms-abc-st bug
jaxon-user May 5, 2017
f732bce
clean up debug code
ishiguroJSK May 5, 2017
a9edac3
change data types
ishiguroJSK May 5, 2017
08e4057
tune up for speed
ishiguroJSK May 6, 2017
f69f90a
tune up for speed2
ishiguroJSK May 7, 2017
9ff46e7
fi unstrict com IK
ishiguroJSK May 7, 2017
470d02c
add raw mode
ishiguroJSK May 10, 2017
429fb9d
stdout -> stderr
ishiguroJSK May 10, 2017
7ce69d4
fix contact support time
ishiguroJSK May 10, 2017
f0b3352
Merge branch 'master' into ht-abc
ishiguroJSK May 11, 2017
af58c58
tset upperbody RMC
ishiguroJSK May 12, 2017
3bb83c0
sperate m_robot
ishiguroJSK May 12, 2017
b24a2b6
clean up code
ishiguroJSK May 12, 2017
01e09a5
add manipulability limit
ishiguroJSK May 15, 2017
4d3e580
tune for demo
ishiguroJSK May 17, 2017
54ebe99
fix zmp height abou init_foot_mid_coord
ishiguroJSK May 17, 2017
f55073f
Merge branch 'master' into ht-abc
ishiguroJSK May 18, 2017
d59c542
refactor data structure
ishiguroJSK May 21, 2017
e2b022b
add manipulability test
ishiguroJSK May 25, 2017
504fd6b
imprement stop method
ishiguroJSK May 28, 2017
2b445be
complete start stop pause resume methods
ishiguroJSK May 28, 2017
7470728
complete manipulability limit
ishiguroJSK May 29, 2017
417fbcb
manipulability tune
ishiguroJSK Jun 1, 2017
c10749c
Merge branch 'master' into ht-abc
ishiguroJSK Jun 1, 2017
c6339a4
test pre IK manip limit
ishiguroJSK Jun 1, 2017
f8a267b
fix BiquadIIRFilterVec::Q_BUTTERWORTH -> invdyn_zmp_filters.Q_BUTTERW…
ishiguroJSK Jun 2, 2017
b817d6e
fix static const member problem
ishiguroJSK Jun 2, 2017
e3b4dac
update mode -> mode class
ishiguroJSK Jun 6, 2017
213add0
imprement manip singular acc
ishiguroJSK Jun 6, 2017
e314980
fix for chidori
ishiguroJSK Jun 7, 2017
b0afe01
tune for demo
ishiguroJSK Jun 30, 2017
8b5ad26
tune for demo
ishiguroJSK Jul 4, 2017
f94fda5
tune for demo
ishiguroJSK Jul 4, 2017
7f5e16d
acc test
ishiguroJSK Jul 29, 2017
781f46b
test vel limnit
ishiguroJSK Jul 29, 2017
322e7ce
vel limit ok?
ishiguroJSK Jul 29, 2017
8277be6
use HOFFARRBIB
ishiguroJSK Jul 30, 2017
1b2fdde
enable chest joint
ishiguroJSK Aug 1, 2017
1b200c0
avoid collision du to the l shoulder roll
ishiguroJSK Aug 1, 2017
ba92f9a
merge from master
ishiguroJSK Aug 1, 2017
5d76ad7
add fullbody ik
ishiguroJSK Aug 14, 2017
ea6a187
full body ik and COM constraint OK
ishiguroJSK Aug 14, 2017
9c84c14
almost complete full body ik
ishiguroJSK Aug 16, 2017
598ecc0
checked in the abc goPos
ishiguroJSK Aug 16, 2017
be1cd31
start debug
ishiguroJSK Aug 20, 2017
cdd8234
finish debugging nan
ishiguroJSK Aug 20, 2017
fa12862
tune for rhp3
ishiguroJSK Aug 21, 2017
9e37a9d
refactor
ishiguroJSK Aug 21, 2017
26b0415
change target R -> rpy and tune abc
ishiguroJSK Aug 22, 2017
135b1a4
tune for rhp3
ishiguroJSK Aug 24, 2017
f0cad60
add swing foot height wait
ishiguroJSK Aug 28, 2017
22f55be
tune awinf leg height waiting
ishiguroJSK Aug 28, 2017
a8c865a
implement LM-IK with constant lambda
ishiguroJSK Aug 31, 2017
0bd43ca
tune LM
ishiguroJSK Sep 2, 2017
589b3fd
speed down at resumeWholeBodyMasterSlave
ishiguroJSK Sep 4, 2017
6742bca
fix abc IK bug and falldown
ishiguroJSK Sep 4, 2017
ae4c856
clean up
ishiguroJSK Sep 4, 2017
9a89dd3
clean up
ishiguroJSK Sep 5, 2017
1b30383
add joint weight
ishiguroJSK Sep 8, 2017
effb446
tune param in real robot
Sep 8, 2017
9213aa9
tune params
ishiguroJSK Sep 11, 2017
a81390a
set horizontal vel limit for floor
ishiguroJSK Sep 12, 2017
dda96ee
improve ref pull back
ishiguroJSK Sep 12, 2017
3f67b89
tune
ishiguroJSK Sep 12, 2017
6d47801
tune
ishiguroJSK Sep 12, 2017
8761e8d
start capsule collision
ishiguroJSK Sep 30, 2017
3950b65
update fullnody ik
ishiguroJSK Sep 30, 2017
75bd6a6
capsule colliison ok
ishiguroJSK Sep 30, 2017
6bd9103
add avoid priority
ishiguroJSK Sep 30, 2017
a78f81e
tune capsule collision
ishiguroJSK Oct 11, 2017
7fadb70
tune capaolli
ishiguroJSK Oct 12, 2017
e8b2dfc
disable max foot height
ishiguroJSK Oct 12, 2017
a5e8d0e
add knee stretch avoidance
ishiguroJSK Oct 18, 2017
aca0df7
fix abc
ishiguroJSK Oct 23, 2017
9c07703
tune for khi
Nov 9, 2017
b4d43fd
fix Roll Pitch miss
Nov 17, 2017
433b8e2
merge from master
ishiguroJSK Mar 26, 2019
ed23a94
disable lower limbs
ishiguroJSK Apr 15, 2019
64016e2
revert AutoBalancer files to origin/master
ishiguroJSK Apr 16, 2019
5f1224a
tune for demo
ishiguroJSK Apr 16, 2019
543b63c
merge
ishiguroJSK Apr 16, 2019
9da3612
control hand from rfw lfw port for demo
ishiguroJSK Apr 17, 2019
58f4686
tume for demo
Apr 19, 2019
3cbdb93
Merge branch 'master' of github.com:fkanehiro/hrpsys-base into khi-kn…
ishiguroJSK Apr 19, 2019
a1f8e04
don't use .incerse()
ishiguroJSK Apr 19, 2019
9764206
refactor
ishiguroJSK Apr 23, 2019
f2b36e1
refactor
ishiguroJSK Apr 26, 2019
f81fbfd
refactor
ishiguroJSK Apr 26, 2019
a80858e
Update WholeBodyMasterSlave.cpp
ishiguroJSK Apr 27, 2019
5544757
refactor
ishiguroJSK Apr 28, 2019
dd80dc7
refactor
ishiguroJSK May 1, 2019
4b56076
refactor
ishiguroJSK May 2, 2019
889cdb4
refactor
ishiguroJSK May 3, 2019
e163ddc
apply boost getmetries back
ishiguroJSK May 3, 2019
cc42b25
call service from rtc
ishiguroJSK May 8, 2019
addc013
tune for JAXON
ishiguroJSK May 15, 2019
9a838ce
revert undesired commit
ishiguroJSK Aug 21, 2019
2244001
add HapticController
ishiguroJSK Aug 26, 2019
fe1a420
update
ishiguroJSK Aug 29, 2019
abe4515
Merge branch 'master' of github.com:fkanehiro/hrpsys-base into wbms-dev
ishiguroJSK Aug 29, 2019
8552219
tune for ee contact
Sep 3, 2019
8c8f808
tune for ee contact
Sep 3, 2019
6cacb80
Merge branch 'wbms-dev' of https://github.com/ishiguroJSK/hrpsys-base…
Sep 3, 2019
d3dc8df
add qref mode
ishiguroJSK Sep 4, 2019
2026c3b
add teleopOdom
ishiguroJSK Sep 4, 2019
e07b152
update foot contact
ishiguroJSK Sep 5, 2019
4568fd0
refactor
ishiguroJSK Sep 6, 2019
350d386
up
ishiguroJSK Sep 6, 2019
543327f
fix zmp height
ishiguroJSK Sep 9, 2019
8bdcde7
use act zmp and refactor
ishiguroJSK Sep 13, 2019
2e5cc87
refactor
ishiguroJSK Sep 16, 2019
7716325
add params and auto com
ishiguroJSK Sep 19, 2019
f833240
knee stretch
ishiguroJSK Sep 19, 2019
9e99b2f
delete cnt
ishiguroJSK Oct 2, 2019
f72666f
up
ishiguroJSK Oct 2, 2019
e3a10d3
up
ishiguroJSK Oct 2, 2019
f8767fa
fix q weight bug, base rpy limit bug
ishiguroJSK Oct 7, 2019
e9a515d
contact tuneing
Oct 23, 2019
60d095e
Merge branch 'wbms-dev' of https://github.com/ishiguroJSK/hrpsys-base…
Oct 23, 2019
aa4a0dc
add delay calc in wbms
ishiguroJSK Oct 23, 2019
95c7077
Merge branch 'wbms-dev' of github.com:ishiguroJSK/hrpsys-base into wb…
ishiguroJSK Oct 23, 2019
3353381
up
ishiguroJSK Oct 23, 2019
f6fde5d
delay_check echo back only if isNew
ishiguroJSK Oct 23, 2019
1a68ab9
add slave tgt pose port and shift ee force
Nov 4, 2019
20ddd25
rhp finger
ishiguroJSK Nov 5, 2019
f0b4eab
tune for demo
Nov 7, 2019
91f5765
Merge branch 'wbms-dev' of https://github.com/ishiguroJSK/hrpsys-base…
Nov 7, 2019
13ca451
zmp st tune
ishiguroJSK Nov 13, 2019
8e58f42
add dbg port
ishiguroJSK Nov 13, 2019
0ddeadf
Merge branch 'wbms-dev' of github.com:ishiguroJSK/hrpsys-base into wb…
ishiguroJSK Nov 13, 2019
4289fc1
add upper lower
ishiguroJSK Nov 13, 2019
a45ac55
tune
ishiguroJSK Nov 13, 2019
a85545a
add pose wrench to both side
ishiguroJSK Nov 15, 2019
3ae3312
remove debug message
Nov 15, 2019
e2c8cc4
add auto_floor_h_mode
ishiguroJSK Dec 6, 2019
488a8fb
Merge branch 'wbms-dev' of github.com:ishiguroJSK/hrpsys-base into wb…
ishiguroJSK Dec 6, 2019
f555b0b
use act base pose for ee pos calc
Dec 6, 2019
b1cd8a4
Merge branch 'wbms-dev' of https://github.com/ishiguroJSK/hrpsys-base…
Dec 6, 2019
88cc968
up c++11
ishiguroJSK Dec 9, 2019
2263de9
fix
ishiguroJSK Dec 9, 2019
ee30bb6
fix
ishiguroJSK Dec 9, 2019
719c06d
up
Dec 16, 2019
45cf8e3
up
Dec 16, 2019
f69b9fb
Merge branch 'wbms-dev' of https://github.com/ishiguroJSK/hrpsys-base…
Dec 16, 2019
ed02992
add new Odom func
ishiguroJSK Dec 17, 2019
083dc0b
refactor
ishiguroJSK Dec 18, 2019
55a241c
up
ishiguroJSK Dec 18, 2019
8b22ca9
slave act floor height feedbach
ishiguroJSK Jan 7, 2020
3287138
up
ishiguroJSK Jan 7, 2020
4c33e9e
tune neck limit
Jan 7, 2020
af3c8b5
up
ishiguroJSK Jan 8, 2020
f8ad0bc
foot_landing_vel
ishiguroJSK Jan 9, 2020
22b3743
add button
ishiguroJSK Jan 11, 2020
f7a2374
fix minor bugs
ishiguroJSK Jan 13, 2020
cb2150e
tune
ishiguroJSK Jan 15, 2020
8d3407b
tune
ishiguroJSK Jan 15, 2020
ba6d122
Merge branch 'wbms-dev' of github.com:ishiguroJSK/hrpsys-base into wb…
ishiguroJSK Jan 15, 2020
fba53f1
refactor
ishiguroJSK Mar 6, 2020
aa5f497
tune
ishiguroJSK Mar 9, 2020
dba674a
tune
Mar 9, 2020
a6ad722
refactor for non-biped
ishiguroJSK May 9, 2020
028957e
write_power_command sleep and floor height detection clear count
Mar 26, 2021
22c1708
merge
Mar 27, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions idl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ set(idl_files
ReferenceForceUpdaterService.idl
AccelerationFilterService.idl
ObjectContactTurnaroundDetectorService.idl
WholeBodyMasterSlaveService.idl
HapticControllerService.idl
PCDLoaderService.idl
)

Expand Down
53 changes: 53 additions & 0 deletions idl/HapticControllerService.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/**
* @file HapticControllerService.idl
* @brief Services for the HapticController interface
*/
//#include "OpenHRPCommon.idl"
module OpenHRP
{

interface HapticControllerService
{
typedef sequence<double, 2> DblSequence2;
typedef sequence<double, 3> DblSequence3;
typedef sequence<double, 4> DblSequence4;
typedef sequence<double, 6> DblSequence6;
typedef sequence<sequence<double, 6> , 4> DblSeqSeq6;
typedef double DblArray2[2];
typedef double DblArray3[3];
typedef double DblArray4[4];
typedef sequence<string> StrSequence;

struct HapticControllerParam
{
double dqAct_filter_cutoff_hz;
double ee_vel_filter_cutoff_hz;
double ex_gravity_compensation_ratio_lower;
double ex_gravity_compensation_ratio_upper;
double baselink_height_from_floor;
double foot_min_distance;
double force_feedback_ratio;
double gravity_compensation_ratio;
double q_friction_coeff;
double q_ref_max_torque_ratio;
double torque_feedback_ratio;
double wrench_hpf_cutoff_hz;
double wrench_lpf_cutoff_hz;
double wrench_hpf_gain;
double wrench_lpf_gain;
DblSequence2 ee_pos_rot_friction_coeff;
DblSequence2 floor_pd_gain;
DblSequence2 foot_horizontal_pd_gain;
DblSequence2 force_feedback_limit_ft;
DblSequence2 q_ref_pd_gain;
DblSeqSeq6 ex_ee_ref_wrench;
};
boolean startHapticController();
boolean stopHapticController();
boolean pauseHapticController();
boolean resumeHapticController();
void resetOdom();
void setParams(in HapticControllerParam i_param);
void getParams(out HapticControllerParam i_param);
};
};
53 changes: 53 additions & 0 deletions idl/WholeBodyMasterSlaveService.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/**
* @file WholeBodyMasterSlaveService.idl
* @brief Services for the WholeBodyMasterSlave interface
*/
//#include "OpenHRPCommon.idl"
module OpenHRP
{

interface WholeBodyMasterSlaveService
{
typedef sequence<double, 2> DblSequence2;
typedef sequence<double, 3> DblSequence3;
typedef sequence<double, 4> DblSequence4;
typedef double DblArray2[2];
typedef double DblArray3[3];
typedef double DblArray4[4];
typedef sequence<string> StrSequence;

struct WholeBodyMasterSlaveParam
{
boolean auto_com_mode;
boolean auto_floor_h_mode;
boolean auto_foot_landing_by_act_cp;
boolean auto_foot_landing_by_act_zmp;
double additional_double_support_time;
double auto_com_foot_move_detect_height;
double auto_floor_h_detect_fz;
double auto_floor_h_reset_fz;
double base_to_hand_min_distance;
double capture_point_extend_ratio;
double com_filter_cutoff_hz;
double foot_collision_avoidance_distance;
double foot_landing_vel;
double force_double_support_com_h;
double human_to_robot_ratio;
double max_double_support_width;
double upper_body_rmc_ratio;
double single_foot_zmp_safety_distance;
double swing_foot_height_offset;
DblSequence3 com_offset;
DblSequence4 actual_foot_vert_fbio;
DblSequence4 safety_foot_vert_fbio;
StrSequence use_joints;
StrSequence use_targets;
};
boolean startWholeBodyMasterSlave();
boolean stopWholeBodyMasterSlave();
boolean pauseWholeBodyMasterSlave();
boolean resumeWholeBodyMasterSlave();
void setParams(in WholeBodyMasterSlaveParam i_param);
void getParams(out WholeBodyMasterSlaveParam i_param);
};
};
90 changes: 83 additions & 7 deletions python/hrpsys_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,16 @@ class HrpsysConfigurator(object):
octd = None
octd_svc = None
octd_version = None

# WholeBodyMasterSLave
wbms = None
wbms_svc = None
wbms_version = None

# HapticController
hc = None
hc_svc = None
hc_version = None

# rtm manager
ms = None
Expand Down Expand Up @@ -379,14 +389,39 @@ def connectComps(self):
connectPorts(self.seq.port(sen + "Ref"),
self.sh.port(sen + "In"))

# connection for wbms
if self.wbms:
connectPorts(self.sh.port("qOut"), self.wbms.port("qRef"))
connectPorts(self.rh.port("q"), self.wbms.port("qAct"))
connectPorts(self.sh.port("zmpOut"), self.wbms.port("zmpIn"))
connectPorts(self.sh.port("basePosOut"), self.wbms.port("basePosIn"))
connectPorts(self.sh.port("baseRpyOut"), self.wbms.port("baseRpyIn"))
connectPorts(self.sh.port("optionalDataOut"), self.wbms.port("optionalData"))
connectPorts(self.rmfo.port("off_lfsensor"), self.wbms.port("local_lleg_wrench"))
connectPorts(self.rmfo.port("off_rfsensor"), self.wbms.port("local_rleg_wrench"))
connectPorts(self.rmfo.port("off_lhsensor"), self.wbms.port("local_larm_wrench"))
connectPorts(self.rmfo.port("off_rhsensor"), self.wbms.port("local_rarm_wrench"))

# connection for st
if rtm.findPort(self.rh.ref, "lfsensor") and rtm.findPort(
self.rh.ref, "rfsensor") and self.st:
connectPorts(self.kf.port("rpy"), self.st.port("rpy"))
connectPorts(self.sh.port("zmpOut"), self.abc.port("zmpIn"))
connectPorts(self.sh.port("basePosOut"), self.abc.port("basePosIn"))
connectPorts(self.sh.port("baseRpyOut"), self.abc.port("baseRpyIn"))
connectPorts(self.sh.port("optionalDataOut"), self.abc.port("optionalData"))
if self.wbms:
# connectPorts(self.wbms.port("q"), self.ic.port("qRef")) // really needed ?
connectPorts(self.st.port("actCapturePoint"), self.wbms.port("actCapturePoint"))
connectPorts(self.st.port("zmp"), self.wbms.port("zmp"))
connectPorts(self.wbms.port("zmpOut"), self.abc.port("zmpIn"))
connectPorts(self.wbms.port("basePosOut"), self.abc.port("basePosIn"))
connectPorts(self.wbms.port("baseRpyOut"), self.abc.port("baseRpyIn"))
connectPorts(self.wbms.port("optionalDataOut"), self.abc.port("optionalData"))
connectPorts(self.wbms.port("AutoBalancerService"), self.abc.port("AutoBalancerService"))
connectPorts(self.wbms.port("StabilizerService"), self.st.port("StabilizerService"))
else:
connectPorts(self.sh.port("zmpOut"), self.abc.port("zmpIn"))
connectPorts(self.sh.port("basePosOut"), self.abc.port("basePosIn"))
connectPorts(self.sh.port("baseRpyOut"), self.abc.port("baseRpyIn"))
connectPorts(self.sh.port("optionalDataOut"), self.abc.port("optionalData"))

connectPorts(self.abc.port("zmpOut"), self.st.port("zmpRef"))
connectPorts(self.abc.port("baseRpyOut"), self.st.port("baseRpyIn"))
connectPorts(self.abc.port("basePosOut"), self.st.port("basePosIn"))
Expand All @@ -397,6 +432,7 @@ def connectComps(self):
connectPorts(self.seq.port("qRef"), self.st.port("qRefSeq"))
connectPorts(self.abc.port("walkingStates"), self.st.port("walkingStates"))
connectPorts(self.abc.port("sbpCogOffset"), self.st.port("sbpCogOffset"))

connectPorts(self.abc.port("toeheelRatio"), self.st.port("toeheelRatio"))
if self.es:
connectPorts(self.st.port("emergencySignal"), self.es.port("emergencySignal"))
Expand All @@ -409,6 +445,15 @@ def connectComps(self):
connectPorts(self.rfu.port("refFootOriginExtMomentIsHoldValue"), self.abc.port("refFootOriginExtMomentIsHoldValue"))
if self.octd:
connectPorts(self.abc.port("contactStates"), self.octd.port("contactStates"))

# connection for hc
if self.hc:
connectPorts(self.sh.port("qOut"), self.hc.port("qRef"))
connectPorts(self.rh.port("q"), self.hc.port("qAct"))
connectPorts(self.rh.port("dq"), self.hc.port("dqAct"))
connectPorts(self.hc.port("tau"), self.rh.port("tauRef"))
# connectPorts(self.hc.port("q"), self.rh.port("??????"))
# connectPorts(self.hc.port("teleopOdom"), self.rh.port("??????"))

# ref force moment connection
for sen in self.getForceSensorNames():
Expand Down Expand Up @@ -502,7 +547,6 @@ def connectComps(self):
if self.rmfo:
for sen in filter(lambda x: x.type == "Force", self.sensors):
connectPorts(self.rmfo.port("off_" + sen.name), self.octd.port(sen.name))

# connection for gc
if self.gc:
connectPorts(self.rh.port("q"), self.gc.port("qCurrent")) # other connections
Expand Down Expand Up @@ -749,6 +793,8 @@ def getRTCListUnstable(self):
['octd', "ObjectContactTurnaroundDetector"],
['es', "EmergencyStopper"],
['rfu', "ReferenceForceUpdater"],
['wbms', "WholeBodyMasterSlave"],
['hc', "HapticController"],
['ic', "ImpedanceController"],
['abc', "AutoBalancer"],
['st', "Stabilizer"],
Expand All @@ -767,8 +813,8 @@ def getJointAngleControllerList(self):
'''!@brief
Get list of controller list that need to control joint angles
'''
controller_list = [self.es, self.ic, self.gc, self.abc, self.st, self.co,
self.tc, self.hes, self.el]
# controller_list = [self.es, self.ic, self.gc, self.abc, self.st, self.co, self.tc, self.hes, self.el]
controller_list = [self.es, self.wbms, self.ic, self.gc, self.abc, self.st, self.co, self.tc, self.hes, self.el]
return filter(lambda c: c != None, controller_list) # only return existing controllers

def getRTCInstanceList(self, verbose=True):
Expand Down Expand Up @@ -882,6 +928,36 @@ def setupLogger(self, maxLength=4000):
self.connectLoggerPort(self.sh, 'zmpOut')
if self.ic != None:
self.connectLoggerPort(self.ic, 'q')
if self.hc != None:
self.connectLoggerPort(self.hc, 'tau')
self.connectLoggerPort(self.hc, 'debugData')
self.connectLoggerPort(self.hc, 'master_rleg_pose')
self.connectLoggerPort(self.hc, 'master_lleg_pose')
self.connectLoggerPort(self.hc, 'master_rarm_pose')
self.connectLoggerPort(self.hc, 'master_larm_pose')
self.connectLoggerPort(self.hc, 'master_com_pose')
self.connectLoggerPort(self.hc, 'master_head_pose')
self.connectLoggerPort(self.hc, 'master_rleg_wrench_dbg')
self.connectLoggerPort(self.hc, 'master_lleg_wrench_dbg')
self.connectLoggerPort(self.hc, 'master_rarm_wrench_dbg')
self.connectLoggerPort(self.hc, 'master_larm_wrench_dbg')

if self.wbms != None:
self.connectLoggerPort(self.wbms, 'q')
self.connectLoggerPort(self.wbms, 'basePosOut')
self.connectLoggerPort(self.wbms, 'baseRpyOut')
self.connectLoggerPort(self.wbms, 'zmpOut')
self.connectLoggerPort(self.wbms, 'baseTformOut')
self.connectLoggerPort(self.wbms, 'slave_rleg_wrench')
self.connectLoggerPort(self.wbms, 'slave_lleg_wrench')
self.connectLoggerPort(self.wbms, 'slave_rarm_wrench')
self.connectLoggerPort(self.wbms, 'slave_larm_wrench')
self.connectLoggerPort(self.wbms, 'slave_rleg_pose')
self.connectLoggerPort(self.wbms, 'slave_lleg_pose')
self.connectLoggerPort(self.wbms, 'slave_rarm_pose')
self.connectLoggerPort(self.wbms, 'slave_larm_pose')
self.connectLoggerPort(self.wbms, 'slave_com_pose')
self.connectLoggerPort(self.wbms, 'slave_head_pose')
if self.abc != None:
self.connectLoggerPort(self.abc, 'zmpOut')
self.connectLoggerPort(self.abc, 'baseTformOut')
Expand Down
Loading