Bioloid Control: Robótica virtual em Linux

Como muitas pessoas, acredito que em breve os robôs estarão presentes em nossas vidas como os computadores nos dias atuais. O projeto Bioloid Control disponibiliza um robô virtual permitindo ao usuário estudar alguns conceitos de robótica simulando o Bioloid Comprehensive Kit.

[ Hits: 43.942 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 29/07/2008 | Blog: http://assuntonerd.com.br


Download, instalação e configuração



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).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O projeto Bioloid Control
   3. Download, instalação e configuração
   4. Utilizando o Bioloid Control
Outros artigos deste autor

Como fazer um viciante e cativante servidor de Quake2 CTF

TOR: A Internet sem rastreabilidade

OpenVino: Inteligência Artificial em tempo real sem GPU

Faça um incrível espetáculo de efeitos visuais com vídeo em tempo real

Android NDK: Desmistificando o acesso a códigos nativos em C

Leitura recomendada

Utilize seu iPad/iPhone/IPod Touch na plataforma GNU/Linux

Instalação do Linux em dual boot com Windows 10 em notebook Samsung

Instalando drivers da nVidia com kernel 2.6

Instalação de impressora multifuncional HP no Linux

Linux acessando storage iSCSI

  
Comentários
[1] Comentário enviado por f_Candido em 29/07/2008 - 11:38h

Muito Bom o artigo. Mais uma vez na Vanguarda. Parabéns!


Abraços

[2] Comentário enviado por eduardo em 29/07/2008 - 14:26h

Eu tenho medo de ler estes artigos do Cabelo :s

eheheheh

Muito bom o artigo. Parabéns.

[3] Comentário enviado por acollucci em 29/07/2008 - 14:55h

hehe.. Gostei, adoro robótica, e acho que linux, tem muito a crescer nessa area!!

[4] Comentário enviado por Pianista em 29/07/2008 - 16:19h

Cara, não sei nem o que falar! simplesmente gostei muito! seus artigos são muito bons, sempre que aparecer algum de sua autoria estarei lendo... Adoro Robótica.. Valew! Parabéns!

[5] Comentário enviado por d4n1 em 29/07/2008 - 16:31h

Como sempre inovador nos artigos! Parabéns cara! Robotic4Free!

[6] Comentário enviado por dbahiaz em 29/07/2008 - 16:38h

Muito bom! Acho que meu prof de Eletrênica Analógica vai adorar esse programa, se é que ele já não conheçe, o cara é fissurado em robotica, já tem funcionando uns 3 ou 4.


[7] Comentário enviado por andrebsilva em 29/07/2008 - 19:15h

Muito bom mesmo, a galera precisa conhecer essas ferramentas.

Parabéns pelo artigo. primeira

[8] Comentário enviado por grandmaster em 30/07/2008 - 01:48h

Como o dark falou, também gosto muito de Robótica.

Gostei bastante do artigo, até por ser algo que não costumamos ver normalmente.

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br


[9] Comentário enviado por renato.leite em 31/07/2008 - 09:14h

Muito bom o artigo

[10] Comentário enviado por porongo51 em 01/08/2008 - 08:02h

Artigo muito bom! Como sempre o cabelo com artigos ótimos!

[11] Comentário enviado por junior.tgz em 12/03/2009 - 09:29h

cara esse careca ai é o cross os artigos dele sao muito boa, só pode se o lula do linux

[12] Comentário enviado por biel.bick em 22/07/2009 - 19:39h

gostaria de saber se vc tem um projeto de um robo mais simples,controlado por controle remoto...valew

[13] Comentário enviado por ETC em 21/07/2013 - 16:09h

Gostaria de saber como foi feita a construção do Bioloid?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts