Main Menu

Who's Online

We have 30 guests and 4 members online
  • bluecat
  • BloodKeith
  • Bullit
  • limor

Login Form






Lost Password?
No account yet? Register

Bioloid Info

3D, CAD model and inertial properties

While the standard software MotionEditor that comes with the Bioloid provides a visual model of the robot in its common forms, many want to visualize and simulate the robot using other tools. The inertial parameters of the Bioloid kit parts allow precise physics simulation.

Links

Physics simulation

Physical simulation of the Bioloid robot of allows for testing, developing and optimize new controlling architectures for the robot platform.

Simloid allows to apply automatic unsupervised machine learning algorithms, for solving control problems, such as biped walking. Actually the Teaching and Research Group Artificial Intelligence proceeds an experimental laboratory, where students research on control problems, using machine learning algorithms. Another approach of this project is to use artificial evolution for exploring and optimizing new walking patterns. Samples of those evolved walking motions are collected on the project page: Evolution of Biped Walking.

bioloidcontrol includes an easily extensible physics simulation, and is actively maintained on sourceforge (GPL2 license).

Links

CM5 Schematics

Communications protocol

The Dynamixel communications protocol is based on master-slave concept. Master sends a request packet and slave answers with a packet. Each packet is at least 7 bytes long. It is possible to send multicast packets.

Links

AX12 Current sensing

The AX12 currently measures the current load only approximately 7 times/sec. This feature has been used to perform some level of improved balancing. btw: Currently reading the “current speed” results with same value as the current load. Several people have used current sensing feature to create stabilizing effects for the robot for example by measuring the current used by the foot servo and modifying the body to compensate for perceived instability.

Links

AX12 Info

AX12 Firmware update

clusher: I’m using the USB2Dynamixel and I decided to update the firmware of the AX-12 servos. So I used the Dynamixel Manager, asked to update the software and from here everything went wrong.

Links

Motion Editor - Speed, Accel and S-Curves

Bullit: In the bioloid firmware max velocity achieved between poses is the product of page speed and pose speed. The bioloid firmware does updates to the servos at about 8ms so in the motion editor a pose delay of 1 = 8ms, 2 = 16ms, accel time of 1 = 8ms etc... So if you have a very small move from one pose to the next having a long accel time may limit the actual velocity achieved betwen poses. A delay setting of 0 implies that there will be a 0 deceleration time to allow continuous motion from one pose to another.

Links

Interfacing with Bioloid

Windows vista

8-Aug-2007: formally Robotis doesn’t support Vista but users have been able to run the software on Vista 32 bit version.

Links

Linux and OSX

Some discussions on the forum regarding flashing the CM5 from a non-windows system can be found in the links below. Both using standard commands and via programs and scripts.

Links

Matlab / Simulink

Some work has been done to allow for real-time communications between a PC and the CM5 over the serial port. The interface is based on Simulink Real-Time-Windows-Target. This environment allows to define a control loop in Simulink, that is executed on the PC and communicates with the CM5 at 115kbps using a custom device driver (since the Simulink RTWT doesn’t have access to standard Windows device drivers.

Links

Programming the Bioloid

CM5 Coding

Programming the CM5 to get the most of of the robot is the “next step” for every Bioloid owner. Here are some tips and code snippets to help you get going.

Links

Programming in C++ rather than C

It is possible to program the Atmega128 in C++ but there are some general restrictions regarding GCC and C++ for AVR processors.

Links

Utilizing Current Sense

Better balancing can be achieved by tapping into the current consumption of the servos. Current consumption is normally proportional to the external torque applied on the servo shaft. However, the AX12 firmware currently only presents the current sense value 7 times/sec and these values are quite noisy. This didn’t stop people from getting the Bioloid humanoid to do some interesting balancing acts.

Links

de-Compiling the Behavior Control Language

kym: I managed to decode most of this a few weeks back and wrote a simple compiler & decompiler UNIX tools... Both tools come in gziped tar files. They include sourcecode for the tool, some examples, a GNU-style license, but presently no manual or other “install” doc.

Links

Printing the BGP file contents

idoc49fr: I wrote a little program that allows to print the BGP files. I think it is easier to debug a program on a hardcopy rather than on the screen.

Links

Alternative programming Language - URBI

URBI gives an interactive programming environment to the Bioloid. It replaces the default firmware (that executes scripts based on the Motion-Editor/Behavior-Control code) with a firmware that serves as a slave to a PC program that runs the URBI interpreter. The URBI language is neat and allows parallel processing and multiple threads that deal with different events.

Links

BioloidControl - Alternative control software

Created as part of a three months work at University of Karlsruhe (Germany). I

  • Robot controller: This μC-program reads and writes data from the servos and sensors. It supports linear and jolt-limited acceleration profiles, asynchronous, message-based communication with the pc-program via RS-232 and complete control of the Ax12s and AxS1s.
  • OpenGL-Visualisation: The viewer-program reads polygonal data from a shared memory and displays it on screen.
  • Main control program: This program controls the robot in a closed loop by sending messages to and receiving messages from the robot (the robot and pc have to be connected via the serial cable). See the feature-list below for a complete description.
  • Physics simulation: A ‘wire compatible’ bioloid bus simulation, including a virtual robot (with 3D viewer) that responds in a physically realistic way to servo commands. This can be driven by the main control program, or directly from other controllers over TCP.

C library for playing MotionEditor motions

joerg.wolf from Plymouth University developed an API that allows a PC or on-board computer to give simple text commands via the serial link to the CM5 that will trigger the motions and pages from Bioloid’s default MotionEditor program (that are stored on the CM5 EEPROM). “You can make it play pages from the Motion editor when you send a command from the PC or PDA to the CM5.” The commands are described in “BLC-Protocol.h”

Links

LibBioloid - excelent Atmega library for Dynamixel communications

A very refined implementation of the Bioloid Dynamixel protocol was developed by forum members StuartL and RandomMatt making the task of replacing the default firmware for CM5 a much more elegant and fun task.

Pic C Code for interfacing with Dynamixel AX-12

Replacing the Bootloader (dangerous)

StuartL : The exercise was all about whether we could write a bootloader and unbrick the device if the bootloader had bugs. The process uses a PC parallel port (also known as a TTL level latch) as a general purpose IO interface and (in our case, due to built in protection in the parallel port) directly connected it to the five-pin programming header on the CM-5 PCB.

Links

Connecting to the Bioloid Bus

Pepper's Sensor Board

Every Bioloid owner at some stage wants to add more sensors to the sensor bus. Mark Pepper was the first take on the challenge and designed a small inexpensive board that connects to the Bioloid bus and allows for a analog and digital sensors to be connected. Software has been written to complement the board.



http://robosavvy.com/forum/viewtopic.php?t=148728-Jul-2007:Dewey: A couple of observations on the Pepper I/O Circuit :

  1. AVRMK2 USB Programmer sometimes failed to program. It appears to be the R4/C2 timeconstant, reducing C2 from 100nF to 10nf cured the problem.
  2. C1 and C3 the 33pF Tank Oscillator capacitors were too large such that the oscillator failed to oscillate. My boards are running with no C1 and C3 installed, assume there is enough printed circuit board capacitance. In any event Atmel recommend a range of 12 to 22pF.
  3. I have extended Limor’s Demonstration software. The software makes all 6 ADC Channel available

Links:

SunSpot Controler Board

USB2Dynamixel

Direct USB to Dynamixel bus solution by Robotis. uses the popular FTDI USB/Serial chip.

Links

Linux FTDI driver has issues of latency but there’s a patch that addresses this:

Mandor published Linux source code that implements the Dynamixel protocol using low level FTDI functions. This is supposed to bypass the latency implied by using the FTDI serial emulation driver.

albertosatan found an easier way to achieve minimum latency on Linux and reported increase from 60 to 480 packet reads/sec.

DynaCommander - opensource utility to control AX12 servos

The Dynamixel Commander is a program for exploring and manipulating AX-12 Dynamixels on a Dynamixel Network using a simple property-based user interface. It is used in conjunction with the USB2Dynamixel interface from the PC to the AX12 bus (or similar home-made interfaces). Executable for Windows and source code in .NET can be found at the link below.

Links

Custom serial to USB board

usbtorobotisinterface2.jpg It is possible to link a PC’s USB port directly to the Bioloid bus by lowering the multiplier on the FTDI chip and running it at 1mbps. ArnaudBuy: “this interface can work at 1 Mbps by setting the FT2232 baud rate prescaler to a value of 3 (the reference clock is 3 Mhz)”

JonHylands: Warning: you need a tristate buffer and an inverter in addition to the FT232RL. Those parts are less than a dollar each, so you can put together something pretty easily using it, and if anyone wants, I can post part numbers and a wiring schematic... Note that in addition to Rx and Tx you also need access to the CBUS2 pin, which is pin 13 on the 28-pin SSOP package chip. The ATmega series micro-controllers can talk directly to the bus without requiring the buffering hardware, because you can enable/disable Tx and Rx individually under program control. Don’t try shorting the Tx and Rx pins on the FT232 - it will probably fry the chip...

Links

Interfacing AX12 and DiosPro Workboard

:diospro-ax12.png Excelent article at kronosrobotics.com about interfacing with the AX12 bus. They actually ignored the switch recommended by Robotis to segregate between read and write states.

..It shows how simple it is to connect an AX-12 to a DiosPro chip or board. You simply need to connect ports 8 and 9 of the DiosPro together. These are then connected to the data leads on the AX-12.

Links

Wireless Communications

SparkFun BlueSmirf

picture_2087.jpg 26/08/06/Pev : ... details a hack to add a BlueSmirf BlueTooth module to the Bioloid CM-5 in place of the Zig100 wireless link... Using this link I have now called motions in the 18 DOF humanoid from a Bluetooth enabled PC with a Vb.net program.

02/07/07/limor : pictures detailing of how to conceal the BlueSmirf inside the CM5 box

27/02/08 linux23dragon1 : details posted on the same thread about using the bluesmirf in context with Linux host rather than windows. also details of an alternative and a bit more aesthetic way of installing the bluesmirf into the CM5

Links:

Sena ESD200

Gamepad remote control

Hooking up a gamepad to the Bioloid can be done in several ways.

Links:

Customizations

Torso

2179138245_288c2c2730_m.jpg A torso can help in a Robo-One style fight.

Links

Plotter

bioloid_plotter.jpg VanHelsing: What I now do is put an ‘MSCOMM32.ocx Active X control’ (simplifies sending something through the com port) on an Excel sheet. And use broadcast strings (and manage mode) to send whatever I program in code or knock on a worksheet to the AX-12’s. With some goniometry (and patience), I even build a simple plotter this way (pen up, pen down, x-y coordinates). It could draw whatever image I wanted to process (beautiful to see the drawing appear on paper).

Links:

Lithium Polymer Batteries

Lithium Polymer Battery feet hack LiPo battery can give up to a couple of hours of life to the Bioloid humanoid.

Links

Custom Grippers

Custom Hip Rotation

Bioloid Comprehensive kit came with 19DOF during part of 2006 which had a hip servo that allowed the humanoid to bend forward. However, the 19DOF kit was replaced by an 18DOF kit that didn’t include the hip servo but supposedly had upgraded servos AX12+ instead of the AX12 (most likely this was a minor cost-cutting exercise on behalf of Robotis). Nevertheless, forum users have tried to modify their humanoids and add hip-rotation capabilities.

Links

Hamid's Module Vision 1

havimo.jpg The module is very professionally done and replaces the AX-S1 sensor head of the Bioloid. Features include: use of original AX12 case, implementation of AX12 protocol, use of tiny mobile phone camera and image processing chip.

Links

Puppy Bioloid with Nokia N770/N800 head

bioloid_n770_friend_small.jpg Guys from Finland exposed a very innovative addition to the Bioloid. The Nokia 770 tablet gives the Bioloid a new brain, wifi, and emotional expressions, voice etc. All the source code and diagrams are available.

Links

Custom Camera with tilt/pan inside AX-S1

mic2: It took me quite a while to finish this project, I’ve added 2 more DOF for the pan/tilt robot head, which has got all the ability of the AX-S1. At the moment I fitted with a wireless CCD camera..

Links

Foot pressure sensor

:Bioloid Foot Pressure Sensor Designed by Jon Highlands, this sensor adds the ability to know about shape of uneven terrain and imminent falls.

Links

AVR Boards with good potential

Any Atmega microcontroller running at 16mhz can communicated directly with the Bioloid bus. It is enough to short the RX and TX lines to the bus and run the UART at 1mhz, switching the RX/TX on/off as the synchronous communications occur.

  • MegaBitty - Mega 8 and 2 motor drive ICs as well as loads of connections and voltage regulators. It is very small too, and it has a boot loader. It would need the RS485 circuitry adding though, which is just 1 small IC.

Troubleshooting

Communication problems with CM5

Can’t communicate with CM5? It could be the USB-serial adapter, the Serial port on the PC, the serial cable, bad connections, bad flashed firmware etc.

Links

AX12 Calibration

Interesting article about calibrating the AX12

Links

 
robotis_bioloid.txt (1760 views) · Last modified: 2010/06/28 11:23 by limor
Recent changes RSS feed Creative Commons License Driven by DokuWiki

In Our Store

 

SparkFun - WiFly Shield
£87.32   £102.60 inc. VAT
 

Find us on Facebook

GoogleSearch

Google
robosavvy.com
Web


© 2010 RoboSavvy
All rights reserved. Privacy Policy.