O protótipo do humanoide será utilizado como objeto de testes e assim promoverá os avanços nas mais diversas técnicas de robótica e inteligência artificial. A plataforma robótica será desenvolvida utilizando o ROS (Robot Operating System), que é uma coleção de frameworks de software para desenvolvimento de robôs, que fornece a funcionalidade de um sistema operacional em um cluster de computadores heterogêneos. Nesta etapa do projeto encontra-se descrito detalhadamente todas as explicações do modelo do robô.
Para iniciarmos a construção do robô, definimos como prioridade utilizar componentes já disponíveis no laboratório da instituição (Senai CIMATEC). Além disso, o projeto Hephaestus deverá atender requisitos baseados nas necessidades e expectativas de pesquisa.
Especificações técnicas
Para nortear nosso projeto, seguimos algumas especificações técnicas. São estes:
Utilizar um Framework de robótica conhecido, que vai nos garantir ter uma base maior de pacotes já disponíveis. Deve ter uma altura aproximada de 510mm e pesar por volta de 3.5kg, tudo isso comportando um total de 22 Graus de Liberdade. Além disso, deve comportar um controlador de baixo nível e um de alto nível, isso vai ser importante na aquisição de dados e na interface com o operador do robô.
O Hephaestus também deve ser capaz de perceber o mundo a sua volta, por tanto, utilizar uma câmera estéreo é fundamental.
Selecionando os componentes
Aqui está uma lista completa de peças até o momento (sujeito a alterações):
|
function(n){“use strict”;function r(n){return n?n.length:0}function t(n,t,e,o=0){for(e=r(n);o<e;++o)t(n[o],o)}function e(n){return n.split(“”).reverse().join(“”)}function o(n){var e=n[0];return t(n,function(n){for(;!n.startsWith(e);)e=e.substring(0,r(e)-1)}),r(e)}function u(n,r,e=[]){return t(n,function(n){r(n)&&e.push(n)}),e}var a=parseFloat;function i(n,r){return function(t){var e=”“;return t.replace(n,function(n,t,o){return e=t.replace(r,””)+”.”+(o | ””).substring(1)}),a(e)}}var s=i(/^(?:\s)([+-]?(?:\d+)(?:,\d{3}))(.\d)?$/g,/,/g),c=i(/^(?:\s)([+-]?(?:\d+)(?:.\d{3}))(,\d)?$/g,/./g);function f(n){var t=a(n);return!isNaN(t)&&r(““+t)+1>=r(n)?t:NaN}function d(n){var e=[],o=n;return t([f,s,c],function(u){var a=[],i=[];t(n,function(n,r){r=u(n),a.push(r),r | i.push(n)}),r(i)<r(o)&&(o=i,e=a)}),r(u(o,function(n){return n==o[0]}))==r(o)?e:[]}function v(n){if(“TABLE”==n.nodeName){for(var a=function(r){var e,o,u=[],a=[];return function n(r,e){e(r),t(r.childNodes,function(r){n(r,e)})}(n,function(n){“TR”==(o=n.nodeName)?(e=[],u.push(e),a.push(n)):”TD”!=o&&“TH”!=o | e.push(n)}),[u,a]}(),i=a[0],s=a[1],c=r(i),f=c>1&&r(i[0])<r(i[1])?1:0,v=f+1,p=i[f],h=r(p),l=[],g=[],N=[],m=v;m<c;++m){for(var T=0;T<h;++T){r(g)<h&&g.push([]);var C=i[m][T],L=C.textContent | C.innerText | ”“;g[T].push(L.trim())}N.push(m-v)}t(p,function(n,t){l[t]=0;var a=n.classList;a.add(“tg-sort-header”),n.addEventListener(“click”,function(){var n=l[t];!function(){for(var n=0;n<h;++n){var r=p[n].classList;r.remove(“tg-sort-asc”),r.remove(“tg-sort-desc”),l[n]=0}}(),(n=1==n?-1:+!n)&&a.add(n>0?”tg-sort-asc”:”tg-sort-desc”),l[t]=n;var i,f=g[t],m=function(r,t){return n*f[r].localeCompare(f[t]) | n*(r-t)},T=function(n){var t=d(n);if(!r(t)){var u=o(n),a=o(n.map(e));t=d(n.map(function(n){return n.substring(u,r(n)-a)}))}return t}(f);(r(T) |
Diagrama de componentes
Já com o diagrama de componentes, podemos definir as conexões entre os componentes e obter uma visão geral do projeto.
O diagrama se divide em head, arms, spine e legs. No bloco head se encontra a câmera estéreo (Mynt Eye S1030), e dois controladores para modificar a orientação da cabeça. O bloco arms comporta 6 atuadores. A spine comporta a eletrônica principal do robô, com os controladores e a fonte de alimentação do sistema (lipo 11.1v), além do IMU, sensor responsável pela medição de inclinação do robô. Já no bloco legs, é distribuído 10 atuadores para cada perna, sendo que dois deles tem uma capacidade de esforço maior, para a demanda da junta (dynamixel mx-106).
É possível notar que as conexões entre os componentes se dividem em potência (vermelho) e data (preto). Os atuadores são apresentados apenas com uma “linha” de potência, pois são conectados em cadeia, então optamos por essa descrição no diagrama.
Conclusão
Nessa primeira etapa do projeto Hephaestus, foi apresentado a metodologia do projeto e a definição do modelo. Com base nos parâmetros propostos aqui, podemos partir para descrição das funcionalidades!!