-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update YarpRobotLoggerDevice documentation (#472)
* Update YarpRobotLoggerDevice documentation
- Loading branch information
Showing
2 changed files
with
47 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,58 @@ | ||
### iCubGenova04 strain2 FT-IMU logger | ||
# YARPRobotLoggerDevice | ||
|
||
A logger device based on `YarpSensorBridge` and `matioCpp` to record dataset from strain2 sensor boards mounted on the iCubGenova04 robot. | ||
The **YARPRobotLoggerDevice** is a YARP device based on `YarpSensorBridge` and `matioCpp` to record dataset from a YARP-based robot. | ||
|
||
|
||
|
||
### Launching | ||
## :running: How to use the device | ||
|
||
- Launch yarprobotinterface on the robot with `icub_wbd_inertials.xml` | ||
- Launch `yarprobotinterface` on the robot. | ||
|
||
``` | ||
yarprobotinterface --config icub_wbd_inertials.xml | ||
``` | ||
Depending on your logger configuration file and on the data you want to collect you should run the main `yarprobotinterface` with a different option. In order to use the [defaul logger configuration files](./app/robots), use the following commands: | ||
- **iCubGenova04** | ||
|
||
launch the `yarprobotinterface` with the `root_imu` device on the robot head | ||
``` | ||
yarprobotinterface --config icub_wbd_inertials.xml | ||
``` | ||
- **iCubGazeboV3** | ||
- Launch the FT-IMU logger device, | ||
open the robot model in gazebo and launch `whole-body-dynamics` | ||
``` | ||
YARP_ROBOT_NAME=iCubGazeboV3 yarprobotinterface --config launch-wholebodydynamics.xml | ||
``` | ||
in case you started gazebo with the real-time clock option (`gazebo -slibgazebo_yarp_clock.so`) add `YARP_CLOCK=/clock` to the previous command. | ||
``` | ||
YARP_CLOCK=/clock YARP_ROBOT_NAME=iCubGazeboV3 yarprobotinterface --config launch-wholebodydynamics.xml | ||
``` | ||
- Launch the logger device. | ||
In order to use the [defaul logger configuration files](./app/robots), set the `YARP_ROBOT_NAME` environment variable and launch the `yarprobotinterface` as follow | ||
``` | ||
YARP_ROBOT_NAME=iCubGenova04 yarprobotinterface --config launch-ft-imu-logger.xml | ||
yarprobotinterface --config launch-yarp-robot-logger.xml | ||
``` | ||
- Press Ctrl+c to close the device, and the dataset is stored as the device is closed. | ||
Each dataset contains, | ||
|
||
- a `time` vector with the receive time stamps. | ||
- a struct for each strain-2 sensor attached on the robot (`l_foot_ft_imu`, `r_foot_ft_imu`, `r_leg_ft_imu`, `l_leg_ft_imu`) with each struct containing the corresponding FT sensor measurement, accelerometer, gyroscope and orientation sensor measurements. | ||
|
||
Associated sensors, | ||
- `l_leg_ft_imu` | ||
- FT: `l_leg_ft_sensor` | ||
- acc: `l_upper_leg_ft_acc_3b12` | ||
- gyro: `l_upper_leg_ft_gyro_3b12` | ||
- orientation: `l_upper_leg_ft_eul_3b12` | ||
- `l_foot_ft_imu` | ||
- FT: `l_foot_ft_sensor` | ||
- acc: `l_foot_ft_acc_3b13` | ||
- gyro: `l_foot_ft_gyro_3b13` | ||
- orientation: `l_foot_ft_eul_3b13` | ||
- `r_leg_ft_imu` | ||
- FT: `r_leg_ft_sensor` | ||
- acc: `r_upper_leg_ft_acc_3b11` | ||
- gyro: `r_upper_leg_ft_gyro_3b11` | ||
- orientation: `r_upper_leg_ft_eul_3b11` | ||
- `r_foot_ft_imu` | ||
- FT: `r_foot_ft_sensor` | ||
- acc: `r_foot_ft_acc_3b14` | ||
- gyro: `r_foot_ft_gyro_3b14` | ||
- orientation: `r_foot_ft_eul_3b14` | ||
## 💾 Data | ||
Depending on the configuration file, each dataset can contain: | ||
- `time` vector with the YARP clock time stamps. | ||
- `joint_state` that containins | ||
- `joints`: name of the joints | ||
- `joint_positions` | ||
- `joint_velocities` | ||
- `joint_torques` | ||
- `Motor_state` that contains | ||
- `motor_currents` | ||
- `motor_velocities` | ||
- `motor_positions` | ||
- `PID` | ||
- `Motor_PWM` | ||
- `Accelerometer` struct containing data for each selected source. | ||
- `CartesianWrench` struct containing data for each selected source. | ||
- `FT` struct containing data for each selected source. | ||
- `Gyros` struct containing data for each selected source. | ||
- `Orientation` struct containing data for each selected source as roll-pitch-yaw euler angles. | ||