Skip to content

Commit

Permalink
Merge branch 'icub-tech-iit:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
simeonedussoni authored Dec 22, 2023
2 parents 26e9c4f + bf46418 commit 5ff0ffe
Show file tree
Hide file tree
Showing 15 changed files with 218 additions and 70 deletions.
8 changes: 8 additions & 0 deletions docs/battery_boards/bat_board/bat_protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

## Introduction
This page describes the `BAT` board and its protocol. Basically, this board is responsible for the management of the data and signals provided by the battery pack in `R1`, `iCub`, and `ergoCub` robots. Moreover, it should be noted that in these robots it is always coupled with the `BMS` board, which is responsible for fine-tuning and managing the battery pack status.
When one aims to update the `BAT` firmware, the correct `.hex` version ought be selected from the `BAT` folder. Specifically, there are two different `BAT` executables:
- `bat.r1.hex`: it addresses R1 robot.
- `bat.hex`: it addresses `iCub` and `ergoCub` robots.

There exist two different versions of the `BAT` FW because the `dcdc_management` phase is done differently between `R1` and `iCub`/`ergoCub`.
Specifically, in `iCub` and `ergoCub` robots, CPU and motors are handled separately, and they can work detached. By contrast, in `R1`, they work always together.
Moreover, these robots do have different battery packs, hence the voltage thresholds are customized in the two FW versions.

In general, as shown in the figures below (illustrating the connection between the BAT and EMS boards in the base of `R1/SN003`), the `BAT` can be connected to an EMS board through the `CAN` connector devoted to receiving the CAN frames sent out by the `BAT`.

<center>
Expand Down
4 changes: 2 additions & 2 deletions docs/icub_operating_systems/pc104/icub-live-32bits.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ The process described here is very similar to the one used to build 64 bits imag
You can use a PC with Debian installed, but using a Virtualbox VM enables you to isolate your build fron everything else running on the computer.
To set up your VM:

- [Download and install VirtualBox](https://www.virtualbox.org/wiki/Downloads)
- [Download and install VirtualBox](https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html)
- [Download a 32bits Debian ISO](https://www.debian.org/distrib/index.html), preferably the version that you want to build
- Launch VirtualBox
- Create a new Debian 32bits VM. Make sure you give enough cores / RAM for the VM to work properly (e.g. 2 cores and 4-8 GB RAM)
- Select the VM you just created; click on "Settings > Storage", and mount a new CD/DVD. WHen asked, select the file you just downloaded.
- Turn the VM on; follow the usual Debian installation steps
- You will probably need to install the VirtualBox Extension Pack to give the guest VM USB 2/3 access. The pack can be downloaded on [the same page as VirtualBox](https://www.virtualbox.org/wiki/Downloads)
- You will probably need to install the VirtualBox Extension Pack to give the guest VM USB 2/3 access. The pack can be downloaded on [the same page as VirtualBox](https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html)

Once this is done, you have a working Debian environment. We can now build the iCub LIVE image

Expand Down
40 changes: 20 additions & 20 deletions docs/robot_sensors/ergocub_sensors.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ This page lists all the sensors mounted on ergoCub, and how to access their info
|Type |Sensor Name| Device | YARP Port | Data pattern | Publish rate (Hz) |
| --- | --- | --- | --- | --- | --- |
|**ControlBoard** | `head` | MC4PLUS | `/ergocub/head/state:o` | (joint_encoders) | 100 |
| - | - | - | `/ergocub/head/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
|**IMU** | `head/imu` | RFE, BNO055 | `/ergocub/head/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | - | - | `/ergocub/head/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift) | 100 |
|**IMU** | `head/imu` | RFE, BNO055 | `/ergocub/head/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |
|**Depth Camera** | `depthCamera` | Intel Realsense D450 | `/ergocub/depthCamera/rgbImage:o` | ( (R channel) (G channel) (B channel) ) | 30 |
| - | - | - | `/ergocub/depthCamera/depthImage:o` | (depth_pixels_list) | 30 |
|**Lidar** | `laser` | Slamtec RP Lidar S2 | `/ergocub/laser:o` | Defined in [LaserScan2D.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/LaserScan2D.thrift#L15-L34) | 100 |
Expand All @@ -18,46 +18,46 @@ This page lists all the sensors mounted on ergoCub, and how to access their info
|Type |Sensor name| Device | YARP Port |Data pattern | Publish Rate (Hz) |
| --- | --- | --- | --- | --- | --- |
|**ControlBoards** | `torso` | EMS+2FOC | `/ergocub/torso/state:o` | (joint_encoders) | 100|
| - | - | - | `/ergocub/torso/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100|
| - | - | - | `/ergocub/torso/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift) | 100|
| **Battery** | `battery` | BMS | `/ergocub/battery` | (voltage current charge temperature status) | 1 |
| **IMU** | `waist/inertials` | XSense MTi-600 | `/ergocub/waist/inertials/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| **IMU** | `waist/inertials` | XSense MTi-600 | `/ergocub/waist/inertials/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |

## Left Arm

|Type |Sensor name| Device | YARP Port |Data pattern | Publish Rate (Hz) |
| --- | --- | --- | --- | --- | --- |
|**ControlBoards** | `left_arm` | EMS+2FOC, MC4PLUS, AMC+AMCBLDC | `/ergocub/left_arm/state:o` | (joint_encoders) | 100|
| - | - | - | `/ergocub/left_arm/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100|
|**Force-Torque Sensor** | `left_arm/FT` | FT45 | `/ergocub/left_arm/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?) |100|
|**IMU** | `left_arm/imu` | STRAIN2, BNO055 | `/ergocub/left_arm/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | `left_arm/inertialMTB` | MTB4, BNO055 | `/ergocub/left_arm/inertialMTB/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | - | - | `/ergocub/left_arm/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift) | 100|
|**Force-Torque Sensor** | `left_arm/FT` | FT45 | `/ergocub/left_arm/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) |100|
|**IMU** | `left_arm/imu` | STRAIN2, BNO055 | `/ergocub/left_arm/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |
| - | `left_arm/inertialMTB` | MTB4, BNO055 | `/ergocub/left_arm/inertialMTB/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |

## Right Arm

|Type |Sensor name| Device | YARP Port |Data pattern | Publish Rate (Hz) |
| --- | --- | --- | --- | --- | --- |
|**ControlBoards** | `right_arm` | EMS+2FOC, MC4PLUS, AMC+AMCBLDC | `/ergocub/right_arm/state:o` | (joint_encoders) | 100|
| - | - | - | `/ergocub/right_arm/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100|
|**Force-Torque Sensor** | `right_arm/FT` | FT45 | `/ergocub/right_arm/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?) |100|
|**IMU** | `right_arm/imu` | STRAIN2, BNO055 | `/ergocub/right_arm/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | `right_arm/inertialMTB` | MTB4, BNO055 | `/ergocub/right_arm/inertialMTB/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | - | - | `/ergocub/right_arm/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift) | 100|
|**Force-Torque Sensor** | `right_arm/FT` | FT45 | `/ergocub/right_arm/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) |100|
|**IMU** | `right_arm/imu` | STRAIN2, BNO055 | `/ergocub/right_arm/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |
| - | `right_arm/inertialMTB` | MTB4, BNO055 | `/ergocub/right_arm/inertialMTB/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |

## Left Leg

|Type |Sensor name| Device | YARP Port |Data pattern | Publish Rate (Hz) |
| --- | --- | --- | --- | --- | --- |
|**ControlBoards** | `left_leg` | EMS+2FOC | `/ergocub/left_leg/state:o` | (joint_encoders) | 100|
| - | - | - | `/ergocub/left_leg/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100|
|**Force-Torque Sensors** | `left_leg/FT` | FT45, FT58 | `/ergocub/left_leg/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?) |100|
|**IMU** | `left_leg/imu` | STRAIN2, BNO055 | `/ergocub/left_leg/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | `left_foot_heel_tiptoe/imu` | STRAIN2, BNO055 | `/ergocub/left_foot_heel_tiptoe/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | - | - | `/ergocub/left_leg/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift) | 100|
|**Force-Torque Sensors** | `left_leg/FT` | FT45, FT58 | `/ergocub/left_leg/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) |100|
|**IMU** | `left_leg/imu` | STRAIN2, BNO055 | `/ergocub/left_leg/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |
| - | `left_foot_heel_tiptoe/imu` | STRAIN2, BNO055 | `/ergocub/left_foot_heel_tiptoe/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |

## Right Leg

|Type |Sensor name| Device | YARP Port |Data pattern | Publish Rate (Hz) |
| --- | --- | --- | --- | --- | --- |
|**ControlBoards** | `right_leg` | EMS+2FOC | `/ergocub/right_leg/state:o` | (joint_encoders) | 100|
| - | - | - | `/ergocub/right_leg/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100|
|**Force-Torque Sensors** | `right_leg/FT` | FT45, FT58 | `/ergocub/right_leg/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?) |100|
|**IMU** | `right_leg/imu` | STRAIN2, BNO055 | `/ergocub/right_leg/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | `right_foot_heel_tiptoe/imu` | STRAIN2, BNO055 | `/ergocub/right_foot_heel_tiptoe/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift?rgh-link-date=2023-05-10T12%3A50%3A28Z) | 100 |
| - | - | - | `/ergocub/right_leg/stateExt:o` | Defined in [stateExt.thrift](https://github.com/robotology/yarp/blob/master/src/libYARP_dev/src/idl/stateExt.thrift) | 100|
|**Force-Torque Sensors** | `right_leg/FT` | FT45, FT58 | `/ergocub/right_leg/FT/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) |100|
|**IMU** | `right_leg/imu` | STRAIN2, BNO055 | `/ergocub/right_leg/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |
| - | `right_foot_heel_tiptoe/imu` | STRAIN2, BNO055 | `/ergocub/right_foot_heel_tiptoe/imu/measures:o` | Defined in [multipleAnalogSensorsSerializations.thrift](https://github.com/robotology/yarp/blob/master/src/devices/messages/multipleAnalogSensorsMsgs/multipleAnalogSensorsSerializations.thrift) | 100 |
Loading

0 comments on commit 5ff0ffe

Please sign in to comment.