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: 44.369 ]

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

ARCore: SDK para realidade aumentada da Google

Dia: O Editor de diagrama (Microsoft Visio) para Linux

Conceito: Evitando acidentes com visão computacional

FreePascal + Lazarus: Desenvolvedores em Delphi podem começar a migrar para o Linux!

MrProject: O gerenciador de projetos (MSProject) para Linux

Leitura recomendada

Sucata - Evite gargalos de hardware

Hardware Lister (lshw) - Relatório simples de seu hardware

Multiterminais e Userful Multiplier nas escolas públicas: Uma solução barata que sai caro

Hardmodem PCI US Robotics

Instalando placa wireless no OpenSUSE 11.0 (método genérico para qualquer placa)

  
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