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 Nov 23, 2023
2 parents 356a8a1 + ca161d7 commit 26e9c4f
Show file tree
Hide file tree
Showing 8 changed files with 143 additions and 63 deletions.
4 changes: 3 additions & 1 deletion docs/ergocub_operating_systems/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ This manual describes how to install and customize the linux operating systems r

The ergoCub robot relies on two machines: `ergocub-head`, a [`NVIDIA Jetson Xavier AGX`](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-xavier-series/) used to control the realsense camera, the lidar and the OLED display, and `ergocub-torso`, which is a [`COM express type 10`](https://www.advantech.com/en-eu/products/0a009637-4f9d-4541-8624-a55de3ffb2a6/som-7583/mod_17ca9251-bdf5-4f74-9256-edd63a373b39) that controls the motors.

These machines are nodes of the [ergoCub network](network.md).

# OS configurations

The following guides will help you to properly configure the OS for the specific board.
The following guides will help you properly configure the OS for the specific board.

- [ergocub-head](../icub_operating_systems/icubos/jetpack.md)
- [ergocub-torso](ergocub_torso/install_from_scratch.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/hands/fingertip_and_mma_mk5.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,4 +266,4 @@ The values for the mk2 fingertip are reported here, to be implemented in **.xml
[^2]: The No load value can be choosen to be lower than 0xF0 (240) to allow for some room for opposite polarity signals to be recorded. In this case, the set level must be forwarded to high level tools such as SkinGUI etc. for a proper managing of events. A nice choice could be a value of about 0xC0 (192) to have ~60 ADC counts of headroom for opposite sign forces, i.e., shear forces, to be measured with the lateral taxels or elastic effects for non-touched taxels to improve force measurement.

### Encoders mapping in the configuration files
TO BE FILLED AFTER FW WORK DONE.
🚧 WIP 🚧
26 changes: 14 additions & 12 deletions docs/icub_operating_systems/icubos/user-env.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,34 +42,36 @@ the above files must be renamed to `.bashrc_iCub` and saved in the user home dir
## How to setup the enviroment properly

To use the `~/.bashrc_iCub` file to setup the environment, the following lines:
```
#Load the iCub custom bashrc
if [ "$HOME" != "" ]; then
ICUBRC_FILE="${HOME}/.bashrc_iCub"
else
ICUBRC_FILE="/home/icub/.bashrc_iCub"
fi
if [ -f "$ICUBRC_FILE" ]; then
source $ICUBRC_FILE
```bash
if [[ $- == *i* ]] || [[ -n "$SSH_CLIENT" ]] || [[ -n "$SSH_TTY" ]]; then
#Load the iCub custom bashrc
if [ "$HOME" != "" ]; then
ICUBRC_FILE="${HOME}/.bashrc_iCub"
else
ICUBRC_FILE="/home/icub/.bashrc_iCub"
fi
if [ -f "$ICUBRC_FILE" ]; then
source $ICUBRC_FILE
fi
fi
```
should be added at the beginning of file `~/.bashrc` just _BEFORE_ the following lines:
```
```bash
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
```

The reason why the `.bashrc_iCub` needs to be added at the beginning of `~/.bashrc` is that file must be loaded every time a bash session is started, no matter if the session is interactive or not (this is required when we want to start our programs remotely), and the line of code after `# If not running interactively, don't do anything` make the `~/.bashrc` file exit if executed in a non-interactive shell.
The reason why the `.bashrc_iCub` needs to be added at the beginning of `~/.bashrc` is that file must be loaded every time an interactive or ssh bash sessions are started. The lines of code after `# If not running interactively, don't do anything` make the `~/.bashrc` file exit if executed in a non-interactive shell.

## Required configuration

To customize the above user environment, you ought to manually make some changes:

- The **YARP_ROBOT_NAME** - you must insert your robot name, in the following line and remove the leading "#"
```
```bash
#export YARP_ROBOT_NAME=
```

Expand Down
96 changes: 49 additions & 47 deletions docs/icub_operating_systems/pc104/the-icub-live-details.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ The following files, available in the root filesystem contains various informati
## iCub startup scripts
Some scripts must to be executed at startup time, so we need to modify the rc.local file as follows

```
```bash
#!/bin/sh
#
# rc.local
Expand Down Expand Up @@ -129,7 +129,7 @@ exit 0

The above scrits only executes the following script in background

```
```bash
#!/bin/sh
sleep 30
for TRIALS in 0 1 2 3 4 5 6 7 8 9 ; do
Expand All @@ -150,7 +150,7 @@ exit 1

This script is used to mount the remote NFS shares _only when the icub-server that exports them is reachable_

```
```bash
#! /bin/bash
# Mount remote filesystems
MOUNTS_FILE="/etc/rciCub.d/mounts.list"
Expand Down Expand Up @@ -303,50 +303,52 @@ And the file `/etc/hosts` is as follows
The SKEL `/etc/skel` files are used to generate the desired user environment for the icub user modifying the following files

### .bashrc
```
#Load the iCub custom bashrc
ICUBRC_FILE="${HOME}/.bashrc_iCub"
if [ -f "$ICUBRC_FILE" ]; then
source $ICUBRC_FILE
fi
.bashrc_iCub
# .bashrc_iCub
# setup the iCub enviroment
if [ "$ICUBRC_FILE_LOADED" ]; then
return
fi
export ICUBRC_FILE_LOADED="true"
if [ "$PS1" ]; then
echo "Setting up yarp and iCub env vars"
fi
# YARP and iCub enviroment variables
export ROBOT_CODE=/usr/local/src/robot
export ICUBcontrib_DIR=$ROBOT_CODE/iCubContrib
export YARP_ROOT=$ROBOT_CODE/yarp
export YARP_DIR=$YARP_ROOT/build
export ICUB_ROOT=${ROBOT_CODE}/icub-main
export ICUB_DIR=${ICUB_ROOT}/build
export icub_firmware_shared_DIR=${ROBOT_CODE}/icub-firmware-shared/build
export YARP_DATA_DIRS=${YARP_DIR}/share/yarp:${ICUB_DIR}/share/iCub:${ICUBcontrib_DIR}/share/ICUBcontrib
export FIRMWARE_BIN=${ROBOT_CODE}/icub-firmware/build
# Set the name of your robot here.
# Please change also the root user password
export YARP_ROBOT_NAME=
if [ "$YARP_ROBOT_NAME" = "" ] && [ -f "${ROBOT_CODE}/yarp_robot_name.txt" ]
then
export YARP_ROBOT_NAME=$( head --lines=1 ${ROBOT_CODE}/yarp_robot_name.txt )
fi
# Set-up optimizations
export CMAKE_BUILD_TYPE=Release
export PATH=$PATH:$ICUB_DIR/bin:$YARP_DIR/bin
# DebugStream customization
export YARP_VERBOSE_OUTPUT=0
export YARP_COLORED_OUTPUT=1
export YARP_TRACE_ENABLE=0
export YARP_FORWARD_LOG_ENABLE=0
# To enable tab completion on yarp port names
if [ -f $YARP_ROOT/scripts/yarp_completion ]; then
source $YARP_ROOT/scripts/yarp_completion
```bash
if [[ $- == *i* ]] || [[ -n "$SSH_CLIENT" ]] || [[ -n "$SSH_TTY" ]]; then
#Load the iCub custom bashrc
ICUBRC_FILE="${HOME}/.bashrc_iCub"
if [ -f "$ICUBRC_FILE" ]; then
source $ICUBRC_FILE
fi
.bashrc_iCub
# .bashrc_iCub
# setup the iCub enviroment
if [ "$ICUBRC_FILE_LOADED" ]; then
return
fi
export ICUBRC_FILE_LOADED="true"
if [ "$PS1" ]; then
echo "Setting up yarp and iCub env vars"
fi
# YARP and iCub enviroment variables
export ROBOT_CODE=/usr/local/src/robot
export ICUBcontrib_DIR=$ROBOT_CODE/iCubContrib
export YARP_ROOT=$ROBOT_CODE/yarp
export YARP_DIR=$YARP_ROOT/build
export ICUB_ROOT=${ROBOT_CODE}/icub-main
export ICUB_DIR=${ICUB_ROOT}/build
export icub_firmware_shared_DIR=${ROBOT_CODE}/icub-firmware-shared/build
export YARP_DATA_DIRS=${YARP_DIR}/share/yarp:${ICUB_DIR}/share/iCub:${ICUBcontrib_DIR}/share/ICUBcontrib
export FIRMWARE_BIN=${ROBOT_CODE}/icub-firmware/build
# Set the name of your robot here.
# Please change also the root user password
export YARP_ROBOT_NAME=
if [ "$YARP_ROBOT_NAME" = "" ] && [ -f "${ROBOT_CODE}/yarp_robot_name.txt" ]
then
export YARP_ROBOT_NAME=$( head --lines=1 ${ROBOT_CODE}/yarp_robot_name.txt )
fi
# Set-up optimizations
export CMAKE_BUILD_TYPE=Release
export PATH=$PATH:$ICUB_DIR/bin:$YARP_DIR/bin
# DebugStream customization
export YARP_VERBOSE_OUTPUT=0
export YARP_COLORED_OUTPUT=1
export YARP_TRACE_ENABLE=0
export YARP_FORWARD_LOG_ENABLE=0
# To enable tab completion on yarp port names
if [ -f $YARP_ROOT/scripts/yarp_completion ]; then
source $YARP_ROOT/scripts/yarp_completion
fi
fi
```

Expand Down
72 changes: 72 additions & 0 deletions docs/sw_versioning_table/2023.11.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
📦 Distro 2023.11.0
===

| CMake Packages | Repositories | Versions |
| :--- | :--- | :--- |
| [**`YCM`**](https://github.com/robotology/ycm.git) | https://github.com/robotology/ycm.git | `v0.15.3` |
| [**`YARP`**](https://github.com/robotology/yarp.git) | https://github.com/robotology/yarp.git | `v3.8.1` |
| [**`ICUB`**](https://github.com/robotology/icub-main.git) | https://github.com/robotology/icub-main.git | `v2.4.0` |
| [**`robots-configuration`**](https://github.com/robotology/robots-configuration.git) | https://github.com/robotology/robots-configuration.git | `v2.5.2` |
| [**`icub-firmware`**](https://github.com/robotology/icub-firmware.git) | https://github.com/robotology/icub-firmware.git | `v1.37.0` |
| [**`icub-firmware-models`**](https://github.com/robotology/icub-firmware-models.git) | https://github.com/robotology/icub-firmware-models.git | `v1.37.0` |
| [**`icub_firmware_shared`**](https://github.com/robotology/icub-firmware-shared.git) | https://github.com/robotology/icub-firmware-shared.git | `v1.37.0` |
| [**`icub-firmware-build`**](https://github.com/robotology/icub-firmware-build.git) | https://github.com/robotology/icub-firmware-build.git | `v1.37.0` |
| [**`ICUBcontrib`**](https://github.com/robotology/icub-contrib-common.git) | https://github.com/robotology/icub-contrib-common.git | `v1.19.0` |
| [**`icub-basic-demos`**](https://github.com/robotology/icub-basic-demos.git) | https://github.com/robotology/icub-basic-demos.git | `v1.24.0` |
| [**`icub-tests`**](https://github.com/robotology/icub-tests.git) | https://github.com/robotology/icub-tests.git | `v1.25.0` |
| [**`GazeboYARPPlugins`**](https://github.com/robotology/gazebo-yarp-plugins.git) | https://github.com/robotology/gazebo-yarp-plugins.git | `v4.9.0` |
| [**`icub-models`**](https://github.com/robotology/icub-models.git) | https://github.com/robotology/icub-models.git | `v2.4.1` |
| [**`iDynTree`**](https://github.com/robotology/idyntree.git) | https://github.com/robotology/idyntree.git | `v10.0.0` |
| [**`qpOASES`**](https://github.com/robotology-dependencies/qpOASES.git) | https://github.com/robotology-dependencies/qpOASES.git | `v3.2.0.1` |
| [**`osqp`**](https://github.com/oxfordcontrol/osqp.git) | https://github.com/oxfordcontrol/osqp.git | `v0.6.3` |
| [**`manif`**](https://github.com/robotology-dependencies/manif.git) | https://github.com/robotology-dependencies/manif.git | `0.0.4.103` |
| [**`qhull`**](https://github.com/qhull/qhull.git) | https://github.com/qhull/qhull.git | `2020.2` |
| [**`CppAD`**](https://github.com/coin-or/CppAD.git) | https://github.com/coin-or/CppAD.git | `20230000.0` |
| [**`casadi`**](https://github.com/casadi/casadi.git) | https://github.com/casadi/casadi.git | `3.6.3` |
| [**`ergocub-software`**](https://github.com/icub-tech-iit/ergocub-software.git) | https://github.com/icub-tech-iit/ergocub-software.git | `v0.6.0` |
| [**`yarp-matlab-bindings`**](https://github.com/robotology/yarp-matlab-bindings.git) | https://github.com/robotology/yarp-matlab-bindings.git | `v3.8.0` |
| [**`RobotTestingFramework`**](https://github.com/robotology/robot-testing-framework.git) | https://github.com/robotology/robot-testing-framework.git | `v2.0.1` |
| [**`blocktestcore`**](https://github.com/robotology/blocktest.git) | https://github.com/robotology/blocktest.git | `v2.3.7` |
| [**`blocktest-yarp-plugins`**](https://github.com/robotology/blocktest-yarp-plugins.git) | https://github.com/robotology/blocktest-yarp-plugins.git | `v1.1.4` |
| [**`BlockFactory`**](https://github.com/robotology/blockfactory.git) | https://github.com/robotology/blockfactory.git | `v0.8.3` |
| [**`WBToolbox`**](https://github.com/robotology/wb-toolbox.git) | https://github.com/robotology/wb-toolbox.git | `v5.6.0` |
| [**`OsqpEigen`**](https://github.com/robotology/osqp-eigen.git) | https://github.com/robotology/osqp-eigen.git | `v0.8.1` |
| [**`UnicyclePlanner`**](https://github.com/robotology/unicycle-footstep-planner.git) | https://github.com/robotology/unicycle-footstep-planner.git | `v0.7.0` |
| [**`walking-controllers`**](https://github.com/robotology/walking-controllers.git) | https://github.com/robotology/walking-controllers.git | `v0.8.0` |
| [**`icub-gazebo-wholebody`**](https://github.com/robotology/icub-gazebo-wholebody.git) | https://github.com/robotology/icub-gazebo-wholebody.git | `v0.1.0` |
| [**`whole-body-controllers`**](https://github.com/robotology/whole-body-controllers.git) | https://github.com/robotology/whole-body-controllers.git | `v2.5.6` |
| [**`whole-body-estimators`**](https://github.com/robotology/whole-body-estimators.git) | https://github.com/robotology/whole-body-estimators.git | `v0.10.0` |
| [**`walking-teleoperation`**](https://github.com/robotology/walking-teleoperation.git) | https://github.com/robotology/walking-teleoperation.git | `v1.3.4` |
| [**`yarp-devices-forcetorque`**](https://github.com/robotology/yarp-devices-forcetorque.git) | https://github.com/robotology/yarp-devices-forcetorque.git | `v0.3.1` |
| [**`wearables`**](https://github.com/robotology/wearables.git) | https://github.com/robotology/wearables.git | `v1.8.0` |
| [**`HumanDynamicsEstimation`**](https://github.com/robotology/human-dynamics-estimation.git) | https://github.com/robotology/human-dynamics-estimation.git | `v3.0.0` |
| [**`human-gazebo`**](https://github.com/robotology/human-gazebo.git) | https://github.com/robotology/human-gazebo.git | `v1.1.0` |
| [**`yarp-device-xsensmt`**](https://github.com/robotology/yarp-device-xsensmt.git) | https://github.com/robotology/yarp-device-xsensmt.git | `v0.3.0` |
| [**`yarp-device-ovrheadset`**](https://github.com/robotology/yarp-device-ovrheadset.git) | https://github.com/robotology/yarp-device-ovrheadset.git | `v1.0.0` |
| [**`speech`**](https://github.com/robotology/speech.git) | https://github.com/robotology/speech.git | `v1.2.0` |
| [**`funny-things`**](https://github.com/robotology/funny-things.git) | https://github.com/robotology/funny-things.git | `v2.2.0` |
| [**`bipedal-locomotion-framework`**](https://github.com/ami-iit/bipedal-locomotion-framework.git) | https://github.com/ami-iit/bipedal-locomotion-framework.git | `v0.16.1` |
| [**`LieGroupControllers`**](https://github.com/ami-iit/lie-group-controllers.git) | https://github.com/ami-iit/lie-group-controllers.git | `v0.2.0` |
| [**`event-driven`**](https://github.com/robotology/event-driven.git) | https://github.com/robotology/event-driven.git | `v2.1` |
| [**`matioCpp`**](https://github.com/ami-iit/matio-cpp.git) | https://github.com/ami-iit/matio-cpp.git | `v0.2.3` |
| [**`diagnosticdaemon`**](https://github.com/robotology/diagnostic-daemon.git) | https://github.com/robotology/diagnostic-daemon.git | `v1.0.0` |
| [**`osqp-matlab`**](https://github.com/ami-iit/osqp-matlab-cmake-buildsystem.git) | https://github.com/ami-iit/osqp-matlab-cmake-buildsystem.git | `v0.6.2.3` |
| [**`robometry`**](https://github.com/robotology/robometry.git) | https://github.com/robotology/robometry.git | `v1.2.2` |
| [**`gym-ignition`**](https://github.com/robotology/gym-ignition.git) | https://github.com/robotology/gym-ignition.git | `v1.3.1` |
| [**`matlab-whole-body-simulator`**](https://github.com/ami-iit/matlab-whole-body-simulator.git) | https://github.com/ami-iit/matlab-whole-body-simulator.git | `v3.3.0` |
| [**`casadi-matlab-bindings`**](https://github.com/ami-iit/casadi-matlab-bindings.git) | https://github.com/ami-iit/casadi-matlab-bindings.git | `v3.6.3.0` |
| [**`idyntree-yarp-tools`**](https://github.com/robotology/idyntree-yarp-tools.git) | https://github.com/robotology/idyntree-yarp-tools.git | `v0.0.8` |
| [**`pyqtconsole`**](https://github.com/pyqtconsole/pyqtconsole.git) | https://github.com/pyqtconsole/pyqtconsole.git | `v1.2.3` |
| [**`meshcat-python`**](https://github.com/rdeits/meshcat-python.git) | https://github.com/rdeits/meshcat-python.git | `v0.3.2` |
| [**`robot-log-visualizer`**](https://github.com/ami-iit/robot-log-visualizer.git) | https://github.com/ami-iit/robot-log-visualizer.git | `v0.7.1` |
| [**`OpenXR`**](https://github.com/KhronosGroup/OpenXR-SDK.git) | https://github.com/KhronosGroup/OpenXR-SDK.git | `release-1.0.31` |
| [**`OpenVR`**](https://github.com/ami-iit/openvr.git) | https://github.com/ami-iit/openvr.git | `v1.16.8.1` |
| [**`yarp-device-openxrheadset`**](https://github.com/ami-iit/yarp-device-openxrheadset.git) | https://github.com/ami-iit/yarp-device-openxrheadset.git | `v0.0.3` |
| [**`yarp-openvr-trackers`**](https://github.com/ami-iit/yarp-openvr-trackers.git) | https://github.com/ami-iit/yarp-openvr-trackers.git | `v0.0.1` |
| [**`find-superquadric`**](https://github.com/robotology/find-superquadric.git) | https://github.com/robotology/find-superquadric.git | `v1.1.1` |
| [**`tomlplusplus`**](https://github.com/marzer/tomlplusplus.git) | https://github.com/marzer/tomlplusplus.git | `v3.4.0` |
| [**`proxsuite`**](https://github.com/Simple-Robotics/proxsuite.git) | https://github.com/Simple-Robotics/proxsuite.git | `v0.6.0` |
| [**`BayesFilters`**](https://github.com/robotology/bayes-filters-lib.git) | https://github.com/robotology/bayes-filters-lib.git | `0.10.0` |
| [**`mujoco`**](https://github.com/ami-iit/mujoco.git) | https://github.com/ami-iit/mujoco.git | `2.3.5.1` |
| [**`mujoco-simulink-blockset`**](https://github.com/ami-iit/mujoco-simulink-blockset-cmake-buildsystem.git) | https://github.com/ami-iit/mujoco-simulink-blockset-cmake-buildsystem.git | `v3.0.0` |
| [**`resolve-robotics-uri-py`**](https://github.com/ami-iit/resolve-robotics-uri-py.git) | https://github.com/ami-iit/resolve-robotics-uri-py.git | `v0.1.0` |
3 changes: 2 additions & 1 deletion docs/sw_versioning_table/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@ $ git clone https://github.com/robotology/icub-main.git -b v1.17.0
```

## Table
This table has been generated automatically by processing data available in [`robotology/robotology-superbuild@v2023.08.0/releases`](https://github.com/robotology/robotology-superbuild/tree/v2023.08.0/releases).
This table has been generated automatically by processing data available in [`robotology/robotology-superbuild@v2023.11.0/releases`](https://github.com/robotology/robotology-superbuild/tree/v2023.11.0/releases).

Click on the distros below to explore their package versions:

- [📦 Distro **2023.11.0**](./2023.11.0.md){:target="_blank"}
- [📦 Distro **2023.08.0**](./2023.08.0.md){:target="_blank"}
- [📦 Distro **2023.05.2**](./2023.05.2.md){:target="_blank"}
- [📦 Distro **2023.05.1**](./2023.05.1.md){:target="_blank"}
Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ not_in_nav: |
nav:
- 🟦 iCub Tech Docs:
- 🏠 Home Page: index.md
- 0️⃣ Home Page: index.md

- 1️⃣ iCub Starter Kits:
- First steps with the Humanoid iCub: icub_starter_kits/first_steps.md
Expand Down
1 change: 1 addition & 0 deletions scripts/linkchecker/linkcheckerrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
threads=20
timeout=300
sslverify=0
maxrequestspersecond=5

[output]
warnings=0
Expand Down

0 comments on commit 26e9c4f

Please sign in to comment.