This website uses browsing/session and functional cookies to ensure you get the best experience. Learn More

Can addresses and associated firmware

From Wiki for iCub and Friends
Jump to: navigation, search

Contents

Can Networks

The iCub 1.0.0 four can bus network are used (ids range from 0 to 3)

  • 0 head network, device pcan
  • 1 left arm network, device pcan
  • 2 right arm network, device pcan
  • 3 legs network, device pcan

On iCub 1.1.0 two ecan devices are added to the existing pcans.

  • 0 head network, device pcan
  • 1 left arm network, device pcan
  • 2 right arm network, device pcan
  • 3 legs network, device pcan
  • left hand: device ecan, variable id
  • right hand: device ecan, variable id

On iCub 1.2.0 the cfw2can board is used (ids range from 0 to 8).

  • 0 head network, device cfw2can
  • 1 left arm network, device cfw2can
  • 2 right arm network, device cfw2can
  • 3 left leg network, device cfw2can
  • 4 right leg network, device cfw2can
  • 5 left hand, device cfw2can
  • 6 right hand, device cfw2can
  • 7 left hand skin network, device cfw2can
  • 8 right hand skin network, device cfw2can

On iCub 1.3.0 the cfw2can board is used (ids range from 0 to 8).

  • 0 head network, device cfw2can
  • 1 left arm network, device cfw2can
  • 2 right arm network, device cfw2can
  • 3 left leg network, device cfw2can
  • 4 right leg network, device cfw2can
  • 5 left hand, device cfw2can
  • 6 right hand, device cfw2can
  • 7 left hand and forearm skin network, device cfw2can
  • 8 right hand and forearm skin network, device cfw2can

On iCub 1.3.1 the Head V2.0 is installed on a 1.3.0 robot.

On iCub 2 the cfw2can board is used (ids range from 0 to 9).

  • 0 head network, device cfw2can
  • 1 left arm network, device cfw2can
  • 2 right arm network, device cfw2can
  • 3 left leg network, device cfw2can
  • 4 right leg network, device cfw2can
  • 5 left hand, device cfw2can
  • 6 right hand, device cfw2can
  • 7 left hand, forearm and upperarm skin network, device cfw2can
  • 8 right hand forearm and upperarm skin network, device cfw2can
  • 9 torso skin network, device cfw2can

Boards communicating on CAN and associated firmware

We here describe all the boards communicated on each of the four CAN bus lines (see Quad-CAN bus interface) connected to the PC104

iCub v1.0

We here describe the CAN-bus networks structure of the iCub v1.0. The version 1.0 uses the CFW board which has 4 canbus lines.

This version of iCub is no more supported. Firmware versions marked in red have been removed from the main repository.

V1.0
can-bus network configuration file associated robot part
pcan-0 icub_head_torso.ini head (entries 0 to 5) and torso (entries 6 to 8)
pcan-1 icub_left_arm.ini left_arm
pcan-2 icub_right_arm.ini right_arm
pcan-3 icub_legs_leg.ini left_leg (entries 0 to 5) and right_leg (entries 6 to 11)

Details on the control boards connected to each network are given below.

PCAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (pcan) 1 (2) 4DC.1.11.out.S
0B1 -> 0 (pcan) 3 (4) 4DC.1.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (pcan) 6 2BLL.1.52.out.S
0B4 -> 0 (pcan) 5 2BLL.1.54.out.S

PCAN1: Left arm

boardLabel canDeviceNum boardId firmware
1B0 -> 1 (pcan) 1 2BLL.1.50.out.S
1B1 -> 1 (pcan) 2 2BLL.1.53.out.S
1B2 -> 1 (pcan) 3 (4) 4DC.1.19.out.S
1B3 -> 1 (pcan) 5 (6) 4DC.1.18.out.S
1B4 -> 1 (pcan) 7 (8) 4DC.1.20.out.S

PCAN2: Right arm

boardLabel canDeviceNum boardId firmware
2B0 -> 2 (pcan) 1 2BLL.1.50.out.S
2B1 -> 2 (pcan) 2 2BLL.1.53.out.S
2B2 -> 2 (pcan) 3 (4) 4DC.1.19.out.S
2B3 -> 2 (pcan) 5 (6) 4DC.1.18.out.S
2B4 -> 2 (pcan) 7 (8) 4DC.1.20.out.S

PCAN3: Legs

boardLabel canDeviceNum boardId firmware
3B5 -> 3 (pcan) 5 2BLL.1.51.out.S
3B6 -> 3 (pcan) 6 2BLL.1.51.out.S
3B7 -> 3 (pcan) 7 2BLL.1.51.out.S
3B8 -> 3 (pcan) 8 2BLL.1.51.out.S
3B9 -> 3 (pcan) 9 2BLL.1.51.out.S
3B10 -> 3 (pcan) 10 2BLL.1.51.out.S

iCub v1.1.0

We here describe the CAN-bus networks structure of the iCub v1.1. The version 1.1 uses the CFW board which has 4 canbus lines and 2 esd-can device. Overall we have 6 canbus lines: 4 pcan and 2 ecan. Additionaly, the robot is equipped with MAIS and STRAIN analog sensors.

V1.1.0
can-bus network configuration file associated robot part
pcan-0 icub_head_torso.ini head (entries 0 to 5) and torso (entries 6 to 8)
pcan-1 icub_left_arm.ini left_arm (joints 0 to 7)
pcan-2 icub_right_arm.ini right_arm (joints 0 to 7)
pcan-3 icub_legs.ini left_leg (entries 0 to 5) and right_leg (entries 6 to 11)
ecan-0 or ecan-1 icub_left_hand.ini left_arm (joints 8 to 15)
ecan-0 or ecan-1 icub_right_hand.ini right_arm (joints 8 to 15)

Details on the control boards connected to each network are given below.

PCAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (pcan) 1 (2) 4DC.1.11.out.S
0B1 -> 0 (pcan) 3 (4) 4DC.1.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (pcan) 6 2BLL.1.52.out.S
0B4 -> 0 (pcan) 5 2BLL.1.54.out.S

PCAN1: Left arm

boardLabel canDeviceNum boardId firmware
1B0 -> 1 (pcan) 1 2BLL.1.50.out.S
1B1 -> 1 (pcan) 2 2BLL.1.57.out.S
1B2 -> 1 (pcan) 3 (4) 4DC.1.19.out.S
virtual FT joint sensor -> 1 (pcan) 12 - - -
Strain -> 1 (pcan) 13 strain.hex

ECAN1: Left hand

boardLabel canDeviceNum boardId firmware
1B3 -> 1 (ecan) 5 (6) 4DC.1.28.out.S
1B4 -> 1 (ecan) 7 (8) 4DC.1.30.out.S
virtual FT joint sensor -> 1 (ecan) 12 - - -
MAIS -> 1 (ecan) 14 mais.hex

PCAN2: Right arm

boardLabel canDeviceNum boardId firmware
2B0 -> 2 (pcan) 1 2BLL.1.50.out.S
2B1 -> 2 (pcan) 2 2BLL.1.57.out.S
2B2 -> 2 (pcan) 3 (4) 4DC.1.19.out.S
virtual FT joint sensor -> 2 (pcan) 12 - - -
Strain -> 2 (pcan) 13 strain.hex

ECAN0: Right hand

boardLabel canDeviceNum boardId firmware
2B3 -> 2 (ecan) 5 (6) 4DC.1.28.out.S
2B4 -> 2 (ecan) 7 (8) 4DC.1.30.out.S
virtual FT joint sensor -> 2 (ecan) 12 - - -
MAIS -> 2 (ecan) 14 mais.hex

PCAN3: legs

boardLabel canDeviceNum boardId firmware
3B5 -> 3 (pcan) 5 2BLL.1.51.out.S
3B6 -> 3 (pcan) 6 2BLL.1.51.out.S
3B7 -> 3 (pcan) 7 2BLL.1.51.out.S
3B8 -> 3 (pcan) 8 2BLL.1.51.out.S
3B9 -> 3 (pcan) 9 2BLL.1.51.out.S
3B10 -> 3 (pcan) 10 2BLL.1.51.out.S
virtual FT joint sensor (left_leg) -> 3 (pcan) 12 - - -
Strain (left_leg) -> 3 (pcan) 13 strain.hex
virtual FT joint sensor (right_leg) -> 3 (pcan) 11 - - -
Strain (right_leg) -> 3 (pcan) 14 strain.hex

iCub v1.2.0

We here describe the CAN-bus networks structure of the iCub v1.2.0. The version 1.2.0 uses the CFW2 board which has 10 can-Bus lines available.

V1.2.0
can-bus network configuration file associated robot part
0 icub_head_torso.ini head and torso
1 icub_left_arm.ini left_arm (joints 0 to 7)
2 icub_right_arm.ini right_arm (joints 0 to 7)
3 icub_left_leg.ini left_leg
4 icub_right_leg.ini right_leg
5 icub_left_hand.ini left_arm (joints 8 to 15)
6 icub_right_hand.ini right_arm (joints 8 to 15)
7 skinlefthand.ini left_hand skin
8 skinrighthand.ini right_hand skin

Details on the control boards connected to each network are given in the following.

CFW2CAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (cfw2can) 1 (2) 4DC.1.11.out.S
0B1 -> 0 (cfw2can) 3 (4) 4DC.1.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (cfw2can) 6 2BLL.1.52.out.S
0B4 -> 0 (cfw2can) 5 2BLL.1.54.out.S

CFW2CAN1: Left arm

boardLabel canDeviceNum boardId firmware
1B0 -> 1 (cfw2can) 1 2BLL.1.50.out.S
1B1 -> 1 (cfw2can) 2 2BLL.1.57.out.S
1B2 -> 1 (cfw2) 3 (4) 4DC.1.19.out.S
virtual FT joint sensor (shoulder) -> 1 (cfw2can) 12 - - -
virtual FT joint sensor (wrist) -> 1 (cfw2can) 11 - - -
Strain -> 1 (cfw2can) 13 strain.hex

CFW2CAN5: Left hand

boardLabel canDeviceNum boardId firmware
1B3 -> 5 (cfw2can) 5 (6) 4DC.1.28.out.S
1B4 -> 5 (cfw2can) 7 (8) 4DC.1.30.out.S
MAIS -> 5 (cfw2can) 14 mais.hex

CFW2CAN2: Right arm

boardLabel canDeviceNum boardId firmware
2B0 -> 2 (cfw2can) 1 2BLL.1.50.out.S
2B1 -> 2 (cfw2can) 2 2BLL.1.57.out.S
2B2 -> 2 (cfw2can) 3 (4) 4DC.1.19.out.S
virtual FT joint sensor (shoulder) -> 2 (cfw2can) 12 - - -
virtual FT joint sensor (wrist) -> 2 (cfw2can) 11 - - -
Strain -> 2 (cfw2can) 13 strain.hex

CFW2CAN6: Right hand

boardLabel canDeviceNum boardId firmware
2B3 -> 6 (cfw2can) 5 (6) 4DC.1.28.out.S
2B4 -> 6 (cfw2can) 7 (8) 4DC.1.30.out.S
MAIS -> 6 (cfw2can) 14 mais.hex

CFW2CAN3: left leg

boardLabel canDeviceNum boardId firmware
3B5 -> 3 (cfw2can) 5 2BLL.1.51.out.S
3B6 -> 3 (cfw2can) 6 2BLL.1.51.out.S
3B7 -> 3 (cfw2can) 7 2BLL.1.51.out.S
virtual FT joint sensor -> 3 (cfw2can) 12 - - -
Strain -> 3 (cfw2can) 13 strain.hex

CFW2CAN4: right leg

boardLabel canDeviceNum boardId firmware
3B8 -> 4 (cfw2can) 8 2BLL.1.51.out.S
3B9 -> 4 (cfw2can) 9 2BLL.1.51.out.S
3B10 -> 4 (cfw2can) 10 2BLL.1.51.out.S
virtual FT joint sensor -> 4 (cfw2can) 11 - - -
Strain -> 4 (cfw2can) 14 strain.hex


CFW2CAN7: Skin Left hand

boardLabel canDeviceNum boardId firmware
1B7 -> 7 (cfw2can) 15 skin.hex

CFW2CAN8: Skin Right hand

boardLabel canDeviceNum boardId firmware
2B7 -> 8 (cfw2can) 15 skin.hex

iCub v1.3.0

We here describe the CAN-bus networks structure of the iCub v1.3.0. The version 1.3.0 uses the CFW2 board which has 10 can-Bus lines available.

V1.3.0
can-bus network configuration file associated robot part
0 icub_head_torso.ini head and torso
1 icub_left_arm.ini left_arm (joints 0 to 7)
2 icub_right_arm.ini right_arm (joints 0 to 7)
3 icub_left_leg.ini left_leg
4 icub_right_leg.ini right_leg
5 icub_left_hand.ini left_arm (joints 8 to 15)
6 icub_right_hand.ini right_arm (joints 8 to 15)
7 skin_left_arm.ini left hand and forearm skin
8 skin_right_arm.ini right hand and forearm skin

Details on the control boards connected to each network are given in the following.

CFW2CAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (cfw2can) 1 (2) 4DC.1.11.out.S
0B1 -> 0 (cfw2can) 3 (4) 4DC.1.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (cfw2can) 6 2BLL.1.52.out.S
0B4 -> 0 (cfw2can) 5 2BLL.1.54.out.S

CFW2CAN1: Left arm

boardLabel canDeviceNum boardId firmware
1B0 -> 1 (cfw2can) 1 2BLL.1.50.out.S
1B1 -> 1 (cfw2can) 2 2BLL.1.57.out.S
1B2 -> 1 (cfw2) 3 (4) 4DC.1.19.out.S
virtual FT joint sensor (shoulder) -> 1 (cfw2can) 12 - - -
virtual FT joint sensor (wrist) -> 1 (cfw2can) 11 - - -
Strain -> 1 (cfw2can) 13 strain.hex

CFW2CAN5: Left hand

boardLabel canDeviceNum boardId firmware
1B3 -> 5 (cfw2can) 5 (6) 4DC.1.28.out.S
1B4 -> 5 (cfw2can) 7 (8) 4DC.1.30.out.S
MAIS -> 5 (cfw2can) 14 mais.hex

CFW2CAN2: Right arm

boardLabel canDeviceNum boardId firmware
2B0 -> 2 (cfw2can) 1 2BLL.1.50.out.S
2B1 -> 2 (cfw2can) 2 2BLL.1.57.out.S
2B2 -> 2 (cfw2can) 3 (4) 4DC.1.19.out.S
virtual FT joint sensor (shoulder) -> 2 (cfw2can) 12 - - -
virtual FT joint sensor (wrist) -> 2 (cfw2can) 11 - - -
Strain -> 2 (cfw2can) 13 strain.hex

CFW2CAN6: Right hand

boardLabel canDeviceNum boardId firmware
2B3 -> 6 (cfw2can) 5 (6) 4DC.1.28.out.S
2B4 -> 6 (cfw2can) 7 (8) 4DC.1.30.out.S
MAIS -> 6 (cfw2can) 14 mais.hex

CFW2CAN3: left leg

boardLabel canDeviceNum boardId firmware
3B5 -> 3 (cfw2can) 5 2BLL.1.51.out.S
3B6 -> 3 (cfw2can) 6 2BLL.1.51.out.S
3B7 -> 3 (cfw2can) 7 2BLL.1.51.out.S
virtual FT joint sensor -> 3 (cfw2can) 12 - - -
Strain -> 3 (cfw2can) 13 strain.hex

CFW2CAN4: right leg

boardLabel canDeviceNum boardId firmware
3B8 -> 4 (cfw2can) 8 2BLL.1.51.out.S
3B9 -> 4 (cfw2can) 9 2BLL.1.51.out.S
3B10 -> 4 (cfw2can) 10 2BLL.1.51.out.S
virtual FT joint sensor -> 4 (cfw2can) 11 - - -
Strain -> 4 (cfw2can) 14 strain.hex


CFW2CAN7: Skin Left Arm

boardLabel canDeviceNum boardId firmware
1B7 (HAND) -> 7 (cfw2can) 14 skin.hex
1B9 (FOREARM UPPER) -> 7 (cfw2can) 13 skin.hex
1B8 (FOREARM LOWER) -> 7 (cfw2can) 12 skin.hex

CFW2CAN8: Skin Right Arm

boardLabel canDeviceNum boardId firmware
2B7 (HAND) -> 8 (cfw2can) 14 skin.hex
2B9 (FOREARM UPPER) -> 8 (cfw2can) 13 skin.hex
2B8 (FOREARM LOWER) -> 8 (cfw2can) 12 skin.hex

iCub v1.x.1 ( x>1 )

We here describe the CAN-bus networks structure of the iCub v1.x.1 ( x>1 ). The version 1.x.1 uses the Head V2. For CAN-bus network different from NET0 refer to relative iCub version

V1.x.1
can-bus network configuration file associated robot part
0 icub_head_torso.ini head and torso

Details on the control boards connected to network 0 are given in the following.

CFW2CAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (cfw2can) 1 2BLLDC.1.62.out.S
0B1 -> 0 (cfw2can) 2 (3) 4DC.2.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (cfw2can) 6 2BLL.1.52.out.S
0B4 -> 0 (cfw2can) 5 2BLL.1.54.out.S

iCub v2

We here describe the CAN-bus networks structure of the iCub v2

CFW2CAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (cfw2can) 1 2BLLDC.1.62.out.S
0B1 -> 0 (cfw2can) 2 (3) 4DC.2.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (cfw2can) 6 2BLL.2.52.out.S
0B4 -> 0 (cfw2can) 5 2BLL.2.54.out.S
6SG (optional) -> 0 (cfw2can) 14 6sg.hex

CFW2CAN1: Left arm

boardLabel canDeviceNum boardId firmware
1B0 -> 1 (cfw2can) 1 2BLL.2.50.out.S
1B1 -> 1 (cfw2can) 2 2BLL.2.57.out.S
1B2 -> 1 (cfw2) 3 (4) 4DC.2.19.out.S
virtual FT joint sensor (shoulder) -> 1 (cfw2can) 12 - - -
virtual FT joint sensor (wrist) -> 1 (cfw2can) 11 - - -
Strain -> 1 (cfw2can) 13 strain.hex
6SG Shoulder (optional) -> 1 (cfw2can) 9 6sg.hex

CFW2CAN5: Left hand

boardLabel canDeviceNum boardId firmware
1B3 -> 5 (cfw2can) 5 (6) 4DC.2.28.out.S
1B4 -> 5 (cfw2can) 7 (8) 4DC.2.30.out.S
MAIS -> 5 (cfw2can) 14 mais.hex

CFW2CAN2: Right arm

boardLabel canDeviceNum boardId firmware
2B0 -> 2 (cfw2can) 1 2BLL.2.50.out.S
2B1 -> 2 (cfw2can) 2 2BLL.2.57.out.S
2B2 -> 2 (cfw2can) 3 (4) 4DC.2.19.out.S
virtual FT joint sensor (shoulder) -> 2 (cfw2can) 12 - - -
virtual FT joint sensor (wrist) -> 2 (cfw2can) 11 - - -
Strain -> 2 (cfw2can) 13 strain.hex
6SG Shoulder (optional) -> 1 (cfw2can) 9 6sg.hex

CFW2CAN6: Right hand

boardLabel canDeviceNum boardId firmware
2B3 -> 6 (cfw2can) 5 (6) 4DC.2.28.out.S
2B4 -> 6 (cfw2can) 7 (8) 4DC.2.30.out.S
MAIS -> 6 (cfw2can) 14 mais.hex

CFW2CAN3: left leg

boardLabel canDeviceNum boardId firmware
3B5 -> 3 (cfw2can) 5 2BLL.2.51.out.S
3B6 -> 3 (cfw2can) 6 2BLL.2.51.out.S
3B7 -> 3 (cfw2can) 7 2BLL.2.51.out.S
virtual FT joint sensor -> 3 (cfw2can) 12 - - -
Strain -> 3 (cfw2can) 13 strain.hex
6SG Upper Leg (optional) -> 3 (cfw2can) 1 6sg.hex
6SG Lower Leg (optional) -> 3 (cfw2can) 2 6sg.hex

CFW2CAN4: right leg

boardLabel canDeviceNum boardId firmware
3B8 -> 4 (cfw2can) 8 2BLL.2.51.out.S
3B9 -> 4 (cfw2can) 9 2BLL.2.51.out.S
3B10 -> 4 (cfw2can) 10 2BLL.2.51.out.S
virtual FT joint sensor -> 4 (cfw2can) 11 - - -
Strain -> 4 (cfw2can) 14 strain.hex
6SG Upper Leg (optional) -> 4 (cfw2can) 1 6sg.hex
6SG Lower Leg (optional) -> 4 (cfw2can) 2 6sg.hex

CFW2CAN7: Skin Left Arm

boardLabel canDeviceNum boardId firmware
1B7 (HAND) -> 7 (cfw2can) 14 skin.hex
1B8 (LEFT LOWER FOREARM) -> 7 (cfw2can) 12 skin.hex
1B9 (LEFT UPPER FOREARM) -> 7 (cfw2can) 13 skin.hex
1B10 (LEFT UPPER EXTERNAL) -> 7 (cfw2can) 10 skin.hex
1B11 (LEFT UPPER BOTTOM) -> 7 (cfw2can) 11 skin.hex
1B12 (LEFT UPPER INTERNAL) -> 7 (cfw2can) 9 skin.hex
1B13 (LEFT LOWER UPPERARM) -> 7 (cfw2can) 8 skin.hex

CFW2CAN8: Skin Right Arm

boardLabel canDeviceNum boardId firmware
2B7 (HAND) -> 8 (cfw2can) 14 skin.hex
2B8 (LEFT LOWER FOREARM) -> 8 (cfw2can) 12 skin.hex
2B9 (LEFT UPPER FOREARM) -> 8 (cfw2can) 13 skin.hex
2B10 (RIGHT UPPER EXTERNAL) -> 8 (cfw2can) 10 skin.hex
2B11 (RIGHT UPPER BOTTOM) -> 8 (cfw2can) 11 skin.hex
2B12 (RIGHT UPPER INTERNAL) -> 8 (cfw2can) 9 skin.hex
2B13 (RIGHT LOWER UPPERARM) -> 8 (cfw2can) 8 skin.hex

CFW2CAN9: Skin Torso

boardLabel canDeviceNum boardId firmware
0B7 -> 9 (cfw2can) 7 skin.hex
0B8 -> 9 (cfw2can) 8 skin.hex
0B9 -> 9 (cfw2can) 9 skin.hex
0B10 -> 9 (cfw2can) 10 skin.hex

iCub v2 - Talking Head

We here describe the CAN-bus networks structure of the iCub v2 - Talking Head

CFW2CAN0: Head and Torso

Head

boardLabel canDeviceNum boardId firmware
0B0 -> 0 (cfw2can) 1 2BLLDC.1.62.out.S
0B1 -> 0 (cfw2can) 2 (3) 4DC.2.15.out.S
0B7 -> 0 (cfw2can) 7 (8) 4DC.2.15.out.S
0B9 -> 0 (cfw2can) 9 (10) 4DC.1.11.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (cfw2can) 6 2BLL.2.52.out.S
0B4 -> 0 (cfw2can) 5 2BLL.2.54.out.S
6SG (optional) -> 0 (cfw2can) 14 6sg.hex
Personal tools
Namespaces

Variants
Actions
Navigation
Print/export
Toolbox