Em primeiro lugar, efetue o download 
neste link e logo após efetue o comando unzip para descompactar o arquivo contendo os binários Windows/Linux e o código fonte.
$ unzip bioloidcontrol_v_0_2_1_src_and_win32_binaries.zip
$ cd bioloidcontrol/
Ao entrar na pasta bioloidcontrol, veremos a pasta controller,  main,  parser e  viewer. Para não tornar este documento extenso, mencionarei apenas como utilizar o simulador.
Para compilar o visualizador 3D, entre na pasta viewer e execute os comandos make clean e make all como no exemplo a seguir:
$ make clean
O procedimento de compilação do programa principal de controle é similar ao mencionado acima, exceto que para os usuários que desejam por algum motivo remover a interface ncurses, basta modificar na linha 39 do arquivo src/cmd.cpp o seu conteúdo de _SIMPLECONSOLE para SIMPLECONSOLE. 
Agora basta novamente utilizar os comandos make clean e make all:
$ make clean
$ make all
O arquivo XML de configuração do ROBÔ:
O programa principal carrega um arquivo XML de configuração do robô. No arquivo de configuração pode ser selecionado a execução do programa main com o parâmetro -config, logo a seguir um exemplo deste arquivo.
<?xml version="1.0" ?> 
<Configuration> 
   <General> 
      <SaveOnExit>false</SaveOnExit> 
   </General> 
   <Hardware> 
      <WriteTorobôt>true</WriteTorobôt> 
      <Ax12> 
         <CWMargin id="1 2 3 4 5 6 7 8 9 10" >1</CWMargin> 
         <CCWMargin id="1 2 3 4 5 6 7 8 9 10" >1</CCWMargin> 
         <CWSlope id="1 2 3 4 5 6 7 8 9 10" >32</CWSlope> 
         <CCWSlope id="1 2 3 4 5 6 7 8 9 10" >32</CCWSlope> 
         <Punch id="1 2 3 4 5 6 7 8 9 10" >32</Punch> 
         <Status id="1 2 3 4 5 6 7 8 9 10" >4</Status> 
         <Speed id="1 2 3 4 5 6 7 8 9 10" >100</Speed> 
         <Torque id="1 2 3 4 5 6 7 8 9 10" >1023</Torque> 
      </Ax12> 
      <AxS1> 
      </AxS1> 
      <ControlTorque>true</ControlTorque> 
      <ControlSpeed>false</ControlSpeed> 
      <Controller> 
         <Torque id="1 2 3 4 5" time="1" p="10" i="0.5" d="0" offset="100" /> 
         <Speed id="1 2 3 4 5" time="1" p="10" i="0.3" d="0" offset="30" /> 
      </Controller> 
   </Hardware> 
   <Software> 
      <ComPort>/dev/ttyUSB0</ComPort> 
      <ComSpeed>115200</ComSpeed> 
      <StopOnCollisionRead>true</StopOnCollisionRead> 
      <StopOnCollisionWrite>true</StopOnCollisionWrite> 
      <AddMotionsWithCollision>false</addMotionsWithCollision> 
      <Debug>true</Debug> 
      <robôtConfigFile>dh_hexapod.xml</robôtConfigFile> 
      <robôtIsPresent>true</robôtIsPresent> 
      <WriteTorobôt>false</WriteTorobôt> 
      <ReadFromrobôt>true</ReadFromrobôt> 
   </Software> 
</Configuration>
Farei uma breve explanação para este texto não ficar cansativo. Abaixo a relação dos principais parâmetros do arquivo config.xml.
<Configuration> <General><.SaveOnExit>: [true|false] 
Grava as mudanças efetuadas durante a execução do programa.
<Configuration><Hardware><WriteTorobôt>: [true|false] 
Grava dados no robô (as configurações).
<Configuration><Software><ComPort>:[/dev/ttyS0] 
Definição da porta serial.
<Configuration><Software><ComSpeed>: [115200]
Velocidade da porta de comunicação.
<Configuration><Software><StopOnCollisionRead>: [true|false] 
Interrompe o movimento se alguma colisão for detectada.
<Configuration><Software><AddMotionsWithCollision>: [true|false] 
Executa movimentos se alguma colisão for detectada.
<Configuration><Software><robôtConfigFile>: [nome do arquivo]
Nome do arquivo de configuração do robô (dh_humanoid.xml ou  dh_hexapod.xml).
<Configuration><Software><robôtIsPresent>: [true|false] 
Informa se o robô esta conectado a uma porta serial.
<Configuration><Software><WriteTorobôt>: [true|false] 
Grava dados no robô (falso para o modo simulado).