ISR Bioloid Humanoid: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:
This servos feature a precise position and speed control, an alarm system for different malfunctions, holding torques up to 18.6 Kgf.cm and communication speeds up to 1Mbps. It uses a simple communications protocol that allows writing and reading different status values (current and goal position, current and goal speed, LED status, torque, voltage, temperature, etc). Each servo has a different ID and this network doesn't allow multiple packets to be exchanged at the same time.
This servos feature a precise position and speed control, an alarm system for different malfunctions, holding torques up to 18.6 Kgf.cm and communication speeds up to 1Mbps. It uses a simple communications protocol that allows writing and reading different status values (current and goal position, current and goal speed, LED status, torque, voltage, temperature, etc). Each servo has a different ID and this network doesn't allow multiple packets to be exchanged at the same time.
An instruction and status packet must have the following structure:
An instruction and status packet must have the following structure:
{|border=1
{|border=1 align="center"
|Instruction||0xFF||0xFF||ID||LENGHT||INSTRUCTION||PARAMETERS||CHECKSUM
!colspan=7 style="background:#efefef"|Instruction
|-
|-
|Status||0xFF||0xFF||ID||LENGHT||ERROR||PARAMETERS||CHECKSUM
|0xFF||0xFF||ID||LENGTH||INSTRUCTION||PARAMETERS||CHECKSUM
|-
!colspan=7 style="background:#efefef"|Status
|-
|0xFF||0xFF||ID||LENGTH||ERROR||PARAMETERS||CHECKSUM
|}
 
*The first two bytes are the header, both 0xFF
*The third byte is the ID to whom the instruction is being sent to or where the reply comes from
*The forth byte is the length of the rest of the message (2+number of parameters)
*The instruction or error byte have the following values and meanings:
{|border=1 align="center"
!colspan=7 style="background:#efefef"|Instruction
|-
|0xFF||0xFF||ID||LENGTH||INSTRUCTION||PARAMETERS||CHECKSUM
|-
!colspan=7 style="background:#efefef"|Status
|-
|0xFF||0xFF||ID||LENGTH||ERROR||PARAMETERS||CHECKSUM
|}
|}


*The parameters are extra values required for some instructions or replies.
*The Checksum byte is calculated as ~(ID+LENGTH+INSTRUCTION/ERROR+PARAMETERS)


Datasheet: [http://robosavvy.com/site/docs/Bioloid/AX-12(english).pdf AX-12+]
Datasheet: [http://robosavvy.com/site/docs/Bioloid/AX-12(english).pdf AX-12+]


=== The Dynamixel AX-S1 ===
=== The Dynamixel AX-S1 ===
The AX-S1 device has several abilities. In addition to the distance sensor in three directions, it also has a sound emitter and receiver, an infrared remote control receiver and a light sensor. The communications protocol and construction is very similar to the ones of AX-12+
Datasheet: [http://robosavvy.com/site/docs/Bioloid/AX-S1(english).pdf AX-S1]
Datasheet: [http://robosavvy.com/site/docs/Bioloid/AX-S1(english).pdf AX-S1]

Revision as of 14:44, 29 July 2009

Characteristics

The Bioloid Kit features a CM-5 controller, Dynamixel AX-12+ servos and a Dynamixel AX-S1 distance sensor. The CM-5 is connected to the servos and sensors using a bus connecting all devices through a daisy-chain network. It can also be connected to a computer using a serial connection, giving access to many different ways of dealing with the robot.

The CM-5

The controller used on this robot is a CM-5, which uses the processing ability of an ATMega128. It runs at 16MHz, 128Kb of Flash memory, 4Kb of EEPROM and 4Kb of Internal SRAM. It has two available UARTS, which are designed for communicating with the servos at 1Mbps and with the PC at 57600bps. The original firmware allows different programming methods using the Software from Robotis (more details further down), but it is possible to build our own firmwares, programming in C or C++ and compiling using the right libraries (more details further down).can You can find the

The Dynamixel AX-12+

This servos feature a precise position and speed control, an alarm system for different malfunctions, holding torques up to 18.6 Kgf.cm and communication speeds up to 1Mbps. It uses a simple communications protocol that allows writing and reading different status values (current and goal position, current and goal speed, LED status, torque, voltage, temperature, etc). Each servo has a different ID and this network doesn't allow multiple packets to be exchanged at the same time. An instruction and status packet must have the following structure:

Instruction
0xFF 0xFF ID LENGTH INSTRUCTION PARAMETERS CHECKSUM
Status
0xFF 0xFF ID LENGTH ERROR PARAMETERS CHECKSUM
  • The first two bytes are the header, both 0xFF
  • The third byte is the ID to whom the instruction is being sent to or where the reply comes from
  • The forth byte is the length of the rest of the message (2+number of parameters)
  • The instruction or error byte have the following values and meanings:
Instruction
0xFF 0xFF ID LENGTH INSTRUCTION PARAMETERS CHECKSUM
Status
0xFF 0xFF ID LENGTH ERROR PARAMETERS CHECKSUM
  • The parameters are extra values required for some instructions or replies.
  • The Checksum byte is calculated as ~(ID+LENGTH+INSTRUCTION/ERROR+PARAMETERS)

Datasheet: AX-12+

The Dynamixel AX-S1

The AX-S1 device has several abilities. In addition to the distance sensor in three directions, it also has a sound emitter and receiver, an infrared remote control receiver and a light sensor. The communications protocol and construction is very similar to the ones of AX-12+

Datasheet: AX-S1