Closed RiccardoGrieco closed 2 years ago
The implementation is tracked in the implementation-application branch.
Currently I am using only the right elbow linked to the node 14 with 3 actuators.
The parameters that are in play in the module are:
/icubSim
in simulation, /icub
with the real robot/right_arm
r_elbow
These parameters are currently hard-coded, but the configuration pipeline file is already almost set up.
in order to run the code:
git clone https://github.com/ami-iit/element_weight-retargeting.git
cd element_weight-retargeting
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="./install" ..
make
make install
Add the following line to the bashrc
(for Linux):
export YARP_DATA_DIRS=$YARP_DATA_DIRS:<directory-of-weight-retargeting>/build/install/share
export PATH=$PATH:<directory-of-weight-retargeting>/build/install/bin
You can then run the weight retargeting module with:
# The following line for running with simulated iCub
WeightRetargetingModule --robot /icubSim
# The following line for running with real iCub
WeightRetargetingModule --robot /icub
The module will log the commands it sends.
In order to forward the commands to the iFeelSuit:
yarp connect /WeightRetargeting/output:o /iFeelSuit/WearableActuatorsCommand/input:i
⚠️ More documentation TBD
cc @S-Dafarra
The remote control boards, joint axes and related parameters are now to be set in configuration. An example of configuration file is WeightRetargetingElbows.ini
Once the install path is added to the environment variables, the module can be launched with the dedicated application on the yarpmanager. The installed application will use the config file above mentioned by default.
❗ Change the file according the actuator numbers on the Multi haptic nodes you wan to use.
FYK the current association is:
Left biceps: "13@1", "13@6" Left triceps: "13@2", "13@3" Right biceps: "14@6", "14@7" Right triceps: "14@4", "14@5"
An RPC service has been added. Below, the specification of the implemented methods:
Name | Parameters | Description |
---|---|---|
setMaxThreshold | Sets the maximum joint torque threshold of a joint axis | |
1: axis | The name of the joint axis (e.g. "l_elbow") | |
2: value | The value of the maximum threshold | |
setMinThreshold | Sets the maximum joint torque threshold of a joint axis | |
1: axis | The name of the joint axis (e.g. "l_elbow") | |
2: value | The value of the minimum threshold | |
setThresholds | Set the minimum and maximum joint torque thresholds | |
1: axis | The name of the joint axis (e.g. "l_elbow") | |
2: minThreshold | The value of the minimum threshold | |
3: maxThreshold | The value of the maximum threshold |
This way thresholds can be set in realtime, based on what logged on yarp by the module.
cc @S-Dafarra @lrapetti
Added some documentation about installation and usage in the implementation branch.
Opened PR #13. I will close this issue once it's merged.
This issue to document the updates on the development of the WeightRetargetingModule.