Can addresses and associated firmware

From Wiki for RobotCub and Friends

Jump to: navigation, search

Contents

Can Networks

The iCub 1.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 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 the cfw2 board is used (ids range from 0 to 8).

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

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

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 4DC.1.11.out.S
0B1 -> 0 (pcan) 3 4DC.1.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (pcan) 5 2BLL.1.54.out.S
0B4 -> 0 (pcan) 6 2BLL.1.52.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 4DC.1.19.out.S
1B3 -> 1 (pcan) 5 4DC.1.18.out.S
1B4 -> 1 (pcan) 7 4DC.1.20.out.S

PCAN2: Right arm

boardLabel canDeviceNum boardId firmware
1B0 -> 2 (pcan) 1 2BLL.1.50.out.S
1B1 -> 2 (pcan) 2 2BLL.1.53.out.S
1B2 -> 2 (pcan) 3 4DC.1.19.out.S
1B3 -> 2 (pcan) 5 4DC.1.18.out.S
1B4 -> 2 (pcan) 7 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

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.

V1.1
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 4DC.1.11.out.S
0B1 -> 0 (pcan) 3 4DC.1.15.out.S

Torso

boardLabel canDeviceNum boardId firmware
0B3 -> 0 (pcan) 5 2BLL.1.54.out.S
0B4 -> 0 (pcan) 6 2BLL.1.52.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 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 4DC.1.28.out.S
1B4 -> 1 (ecan) 7 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 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 4DC.1.28.out.S
2B4 -> 2 (ecan) 7 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

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

V1.2
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 (cfw2) 1 4DC.1.11.out.S
0B1 -> 0 (cfw2) 3 4DC.1.15.out.S

Torso

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


CFW2CAN1: Left arm

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

CFW2CAN5: Left hand

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

CFW2CAN2: Right arm

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

CFW2CAN6: Right hand

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

CFW2CAN3: left leg

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

CFW2CAN4: right leg

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