Criado na década de 60, o Shakey foi o primeiro robô móvel com capacidade de analisar suas ações. Os objetivos ambiciosos do projeto não foram totalmente alcançados, mas tiveram uma grande influência no desenvolvimento futuro da robótica.
Os autores do projeto Shakey descreveram como o controle do robô foi organizado em um grande artigo da AI Magazine. Neste post - a tradução do fragmento mais interessante e importante do texto. Seu autor, Peter Hart, era membro da equipe de desenvolvimento. Criando Shakey
O projeto Shakey foi lançado em janeiro de 1965 por iniciativa do Centro de Inteligência Artificial do Stanford Research Institute (SRI International). O Instituto propôs o desenvolvimento de uma “máquina inteligente” para aplicativos de inteligência. Mas o grupo de trabalho tinha uma motivação diferente. Eles queriam criar um local de teste para conectar todas as áreas da inteligência artificial (representação sistêmica, raciocínio, planejamento, aprendizado de máquina, visão computacional e compreensão da fala natural).
Ao desenvolver o Shakey, os engenheiros foram guiados por duas regras:
- a mecânica precisa ser mantida o mais simples possível - portanto, nenhum braço manipulador foi instalado no robô;
- para não trabalhar posteriormente na redução do design, o rack eletrônico foi instalado na parte superior.
Como as capacidades mecânicas e sensoriais de Shakey eram limitadas, a equipe do projeto criou um ambiente experimental robusto e simples para o robô - meia dúzia de salas com grandes blocos geométricos dentro. Os blocos foram pintados para serem reconhecidos por uma câmera de baixa resolução.
O primeiro computador para Shakey foi o SDS 940 com menos memória que o cache L2 dos laptops modernos. Em 1970, foi substituído pelo DEC PDP-10, mais poderoso. Shakey falou com o PDP-10 através de um processador de comunicações. Este sistema foi um dos nós que contribuíram para o nascimento da ARPANET. Na mesma época, uma reescrita completa do software Shakey começou. O ferro precisava apenas de melhorias mínimas.
Elementos chave do projeto ShakeyShakey Software
A segunda versão do produto é baseada em duas idéias fundamentais. O primeiro é representar o mundo de Shakey por meio
do cálculo de
predicados de primeira ordem , complementando o formulário com um modelo de grade - um componente essencial da primeira versão.
A segunda idéia foi estruturar o software Shakey em várias camadas. Essa abordagem para controlar o robô foi usada pela primeira vez. Em seguida, descrevemos brevemente cada nível, começando com comandos de nível inferior.
Equipes de nível inferiorComandos de nível inferior, como ROLL e PAN, foram enviados diretamente ao componente de hardware Shakey. Nesse nível, também estão localizadas equipes como o PANTO, responsável por girar a “cabeça” do dispositivo na direção selecionada.
Equipes de nível intermediário: cadeias de MarkovNesse nível, existem equipes como GOTHRUDOOR ("passe pela porta"). Eles foram alocados para um nível separado, pois estavam todos representados como
cadeias de Markov .
Cadeia de Markov para a equipe GOTHRUDOORAs cadeias de Markov podem ser “lidas” primeiro varrendo a coluna esquerda até que a primeira condição verdadeira seja atingida, que executa a ação correspondente e, em seguida, retornando ao início da tabela. Assim, as cadeias de Markov são caracterizadas pela estabilidade (esse algoritmo de ações é um pouco simplificado, mas a prática de “retornar ao início” é fundamental e, como veremos, uma característica importante dessas cadeias).
Se as equipes de nível médio fossem as últimas que Shakey poderia executar, o robô seria muito limitado em suas ações. Ele só conseguiu atingir objetivos que exigem apenas uma ação pré-programada. Para fazer mais, Shakey teve que ser capaz de elaborar uma sequência de ações (como um plano). O agendador automático STRIPS (Stanford Research Institute Problem Solver) foi responsável por isso. Ele foi o próximo nível superior de software.
STRIPS, Solucionador de problemas do Instituto de Pesquisa StanfordO planejador automático STRIPS surgiu devido à combinação de dois grandes conceitos. O primeiro foi uma estratégia de planejamento chamada análise de objetivos e meios. É apresentado no sistema "General Problem Solver" por Herbert Simon e Allen Newell.
O segundo conceito foi a prova do teorema no cálculo de predicados e sua aplicação em sistemas de perguntas e respostas. Isso é discutido no trabalho de Cordell Green. Richard Fykes e Niels Nielson combinaram esse conhecimento para criar o STRIPS em 1971, que usou a análise de objetivos e meios para calcular predicados.
PLANEX, Executivo de Execução do PlanoLogo após a criação de STRIPS, a equipe do instituto encontrou uma maneira de generalizar o plano de STRIPS, substituindo as constantes no sistema por variáveis. Eles também inventaram uma estrutura de dados chamada tabela de triângulos, que demonstra as interdependências internas de um plano genérico. Esses projetos formaram a base do sistema PLANEX, o mais recente nível do software Shakey (Fykes, Hart e Nielson, 1972).
Usando este software, o PLANEX pode monitorar a implementação real do plano. O sistema pode perceber se algo deu errado e reagendar o trabalho a partir desse momento, reutilizando partes do plano existente sempre que possível. Pode até ser uma decisão “empreendedora”: se Shakey estiver subitamente mais perto de sua tarefa, ele poderá aproveitar isso.
Essa capacidade de detectar e recuperar erros era uma parte crítica do software Shakey. Existe uma grande diferença entre criar um plano de ação para um robô real que funcione no mundo real, onde algo pode dar errado, e um planejador "abstrato" que apenas imprima um plano simbólico. As redes PLANEX e Markov se tornaram a solução para alcançar um planejamento confiável e do mundo real.
Hierarquia de nível de software ShakeyVisão computacional
O plano inicial do projeto não exigia pesquisas intensivas no campo da visão computacional. Em vez disso, o plano era integrar as técnicas de visão computacional existentes em uma plataforma experimental. Porém, na época, havia muito poucas tecnologias disponíveis, então os especialistas tiveram que trabalhar duro no campo da pesquisa em visão computacional.
Um dos resultados importantes deste trabalho foi a invenção do que pode ser chamado de forma moderna da transformada de Hough, um método usado para extrair elementos de uma imagem (R. Duda, P. Hart, 1972). Isso foi conseguido combinando dois conceitos que, à primeira vista, parecem completamente não relacionados.
A primeira ideia está contida na patente de Paul Hough. Ele descreve a transformação de pontos no plano da imagem em linhas retas no espaço de transformação. As linhas de interseção neste último correspondem a pontos colineares na forma. Mas surge o problema de declives sem fim, o que torna essa transformação computacionalmente complicada.
A segunda idéia vem da chamada geometria integral. Os matemáticos tinham razões teóricas para usar a parametrização do raio angular da linha em vez da interceptação de inclinação mais familiar usada por Hough. Peter Hart observou que, ao substituir a transformada linear de Hough por uma transformada sinusoidal, não apenas o problema das inclinações infinitas é resolvido, mas a nova transformação é invariável à escolha das coordenadas. Além disso, Peter Hart e Richard Duda estenderam esse método para detectar curvas analíticas em imagens, e essa transformação tem sido usada desde então.
Navegação e algoritmo A *
Shakey teve que se concentrar no terreno, então vários algoritmos de caminho mais curto foram desenvolvidos. Um deles, chamado A *, foi criado por Peter Hart, Niels Nielson e Bertram Raphael. O novo algoritmo tinha propriedades muito úteis: em primeiro lugar, sempre encontrou o caminho mais curto e, em segundo lugar, enquanto selecionava o número mínimo de possibilidades alternativas. Podemos dizer que sempre funciona e é computacionalmente eficiente.
Você pode pensar que um resultado tão significativo agradaria qualquer publicação com prazer, mas acabou sendo o contrário. A apresentação do algoritmo A * foi rejeitada por todas as revistas científicas de prestígio da época.
Examinando essas antigas revisões, você pode pensar que os editores deram um relatório aos matemáticos para ler por causa de todos esses teoremas assustadores. No entanto, os matemáticos não ficaram impressionados, uma vez que apenas gráficos com um número finito de nós foram apresentados a partir das provas. Naquela época, parecia aos autores que os matemáticos não viam a diferença entre um gráfico com dez nós e um gráfico com dez trilhões de nós. Mas para os cientistas que trabalham no campo da ciência da computação, essa diferença é significativa.
No final, o relatório foi aceito no Instituto de Engenheiros Elétricos e Eletrônicos (IEEE Transactions on Systems Science and Cybernetics) e continua sendo referenciado por mais de 45 anos.
Mundo naquela época
O texto acima fornece uma idéia da parte (embora longe de todo o volume!) Do trabalho realizado pela equipe do projeto Shakey. Para ter uma idéia desse trabalho em um contexto social mais amplo, vejamos o clima intelectual e cultural da época.
Em 1970, um grande artigo sobre o projeto Shakey foi publicado na popular revista Life. O autor, jornalista Brad Darrach, parece ter ido longe demais com a manchete: "A fascinante e terrível realidade de uma máquina com sua própria mente". No entanto, enquanto alguns acreditavam que os robôs podiam escravizar o mundo, outros eram bastante céticos em relação a esses artigos. Hubert Dreyfus foi um dos que, do ponto de vista filosófico, argumentou que o conceito de IA é basicamente irrealista. E em algum lugar entre Darrach e Dreyfus, havia quem temesse que algum dia os robôs assumissem empregos humanos.
Revista da Vida de ShakeyConvidados Shakey
Os desenvolvedores do robô deram as boas-vindas a todos os visitantes interessados em seu trabalho. Uma revisão das reações obtidas também diz muito sobre o estado do mundo naquela época. Aqui estão alguns exemplos:
- Um grupo de crianças visitou o laboratório. O professor que os acompanhou perguntou o que os engenheiros tinham "trabalho real": "Este robô é o seu hobby, certo?"
- O general perguntou se uma faca de 36 polegadas poderia ser montada no robô.
- Arthur Clarke visitou o laboratório imediatamente após o lançamento do filme "Space Odyssey of 2001", mas estava mais interessado em falar sobre a resenha do New York Times do que em discutir o futuro dos robôs.
- Um estudante do ensino médio dirigiu de Seattle a Menlo Park, na Califórnia, para ver Shakey. Décadas depois, Bill Gates lembrou que o que viu era impressionante.
- Um auditor do governo dos EUA perguntou se o SRI realmente se encarregava de fornecer bilhões de "bits de pacote". Esta pergunta foi seguida por outras pessoas, incluindo se houve corrosão em algum desses bits.
Conclusão do Projeto Shakey
O projeto Shakey foi encerrado em 1972 - não por falta de idéias, mas por falta de financiamento. O que foi alcançado durante a sua existência?
Havia tantas opiniões sobre essa pontuação quanto havia membros da equipe, mas várias generalizações podem ser feitas:
- Muitos dos resultados privados do projeto (STRIPS, PLANEX, algoritmo A * e uma nova forma de transformação Hough) tornaram-se uma contribuição técnica significativa.
- No geral, Shakey foi uma conquista significativa. Ele foi o primeiro robô móvel inteligente e o primeiro sistema a combinar software com IA com hardware físico.
- Os recursos gerais de Shakey, em termos de mecânica e software, não atingiram o nível de aspirações iniciais. Isso não é surpreendente, dado o alto nível inicial de reivindicações. Demorou décadas para atingir alguns dos objetivos estabelecidos, enquanto outros ainda permanecem sem solução.
Referências:
1. "Shakey: da concepção à história". Artigo original A segunda parte do material fala sobre a aplicação posterior das descobertas do projeto Shakey. Vá para
2. "Quanto é necessário para refazer o Shakey do robô?" - Uma tentativa de reproduzir Shakey em condições modernas. Vá paraPara mais informações sobre robótica, visite robo-hunter.com:Ciência Popular: