Logo Passei Direto
Buscar

Desenvolvimento de Robôs Móveis Baseados em Robótica Sem Fio Componentes usando UML e redes de Petri coloridas hierárquicas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

PAPEL CURTO
O artigo apresenta a modelagem, simulação e implementação de robôs móveis baseados em componentes robóticos sem fio (WRCs) por meio 
de um framework de desenvolvimento baseado em modelos que utiliza a Linguagem de Modelagem Unificada (UML) e Redes de Petri Coloridas 
(CPNs). Cada WRC é um módulo autônomo composto por uma unidade de comunicação sem fio, uma unidade de processamento e sensor(es)/
atuador(es) para realizar uma função específica. A arquitetura WRC é descrita genericamente por diagramas UML para liderar o desenvolvimento 
de sistemas robóticos baseados em WRC. O framework proposto customiza os diagramas UML com base na análise da plataforma do robô, 
sua tarefa atribuída e o ambiente operacional. Em seguida, as especificações do design comportamental do WRC são traduzidas para o 
formalismo dos CPNs. O desenvolvedor complementa os CPNs para gerar um módulo por cada WRC em um CPN hierárquico. A arquitetura 
WRC e o framework de desenvolvimento são usados para implementar um robô de direção Ackermann e robôs de acionamento diferencial para 
realizar as tarefas de seguimento de parede e exploração evitando obstáculos, respectivamente. O esquema de validação segue três fases: 
simulação, simulação de hardware-in-the-loop (HIL) e implementação física de robôs móveis confgurados com os WRCs apropriados. Os 
resultados experimentais validam o framework de desenvolvimento usando ferramentas de modelagem padrão e formal para orientar a 
implementação de sistemas robóticos construídos com WRCs.
Fernando D. Von Borstel1 · J. Francisco VillaÿMedina1 · Joaquín Gutiérrez1
Além das ferramentas de simulação de robôs móveis [10–13], os 
desenvolvedores de sistemas robóticos podem usar abordagens de 
desenvolvimento baseadas em modelos, que incluem notações 
padrão e linguagens formais para visualizar, analisar e modelar 
arquiteturas robóticas [14], como a Unifed Modeling Language ( UML) 
e Redes de Petri Coloridas (CPNs). A UML permite especificar a 
estrutura e o comportamento de sistemas complexos na fase inicial 
de concepção do desenvolvimento de software; entretanto, os 
modelos UML carecem de uma semântica formal para servir de base 
para gerar modelos executáveis ou realizar uma análise automatizada. 
Em vez disso, os CPNs fornecem uma representação gráfica e 
semântica bem definida, adequada para realizar análises e 
verificações formais baseadas em simulação. Tutoriais práticos sobre 
UML e CPN podem ser encontrados [15–18]. A UML fornece vários 
elementos gráficos e regras que compõem um framework para dar 
múltiplos pontos de vista de sistemas complexos [19]. Além disso, a 
UML tornou-se a linguagem de modelagem padrão para software e
Palavras -chave Redes de Petri Coloridas · Sistemas de eventos discretos · Arquitetura modular · UML · Componente robótico sem fio
Arquiteturas fundamentais de controle robótico têm sido
definido como uma abstração de como os componentes devem ser 
conectados e interagir em um robô, como as arquiteturas deliberativa, 
reativa e híbrida [2]. Vários trabalhos separaram funções e 
comportamentos em unidades modulares para obter arquiteturas 
estruturais bem projetadas [3]. Por exemplo, abordagens baseadas 
em métodos homogêneos/heterogêneos
Abstrato
módulos para desenvolver comportamentos de navegação, 
mapeamento, aprendizado, planejamento e locomoção [4-6]; módulos 
que funcionam concorrentemente e formam redes para se 
comunicarem entre si [7, 8]; e trabalhos de pesquisa usando 
computação evolutiva desenvolveram robôs modulares adaptativos [9].
Robôs móveis são sistemas que integram sensores, atuadores e 
unidades de processamento heterogêneos para realizar tarefas 
atribuídas em um ambiente específico, incluindo algoritmos 
apropriados. Vários trabalhos robóticos focam em sistematizar o 
desenvolvimento de software e hardware, fornecendo frameworks ou 
arquiteturas para simplificar os esforços na implementação do sistema 
robótico [1].
1. Introdução
1
Desenvolvimento de Robôs Móveis Baseados em Robótica Sem Fio
Componentes usando UML e redes de Petri coloridas hierárquicas
https://doi.org/10.1007/s10846-021-01549-1
Centro de Investigaciones Biológicas del Noroeste, SC, Av.
Recebido: 7 de agosto de 2021 / Aceito: 29 de novembro de 2021 / Publicado online: 8 de abril de 2022
* Joaquín Gutiérrez 
joaquing04@cibnor.mx
Instituto Politécnico Nacional 195, Playa Palo de Santa Rita, 23096 La Paz, 
BCS, México
Journal of Intelligent & Robotic Systems (2022) 104: 70
© O(s) Autor(es), sob licença exclusiva da Springer Nature BV 2022
Vol.:(0123456789) 1 3
Machine Translated by Google
Neste contexto, uma variedade de frameworks baseados em 
middleware tem sido propostos para gerenciar a complexidade e 
heterogeneidade entre os módulos, fornecendo componentes de software reutilizáveis.
Por exemplo, o framework de código aberto Robotic Operating System 
(ROS) é uma biblioteca robótica para padronização de software que 
inclui ferramentas de visualização, pacotes de funções e um
O desenvolvimento de arquiteturas modulares adequadas permitiu a 
implementação de sistemas robóticos em uma ampla gama de aplicações 
desde a indústria até a exploração espacial.
Este artigo apresenta um framework de desenvolvimento baseado 
em modelo baseado em ferramentas de modelagem padrão e formal 
para implementar robôs móveis compostos por componentes robóticos 
sem fio (WRCs). O quadro proposto leva o
Vários trabalhos formalizam a transformação da UML
Por exemplo, extensas aplicações internas motivaram pesquisas no 
desenvolvimento de ligações e juntas pré-fabricadas como módulos para 
construir manipuladores, incluindo formas e torques distintos, 
respectivamente [38-40], e módulos de controle [41, 42].
tradução de diagramas UML para modelos CPN hierárquicos de sistemas 
robóticos baseados em WRC, que são validados progressivamente 
desde a simulação até a implementação. A contribuição do artigo é um 
framework de desenvolvimento viável que permite a análise do robô 
móvel desde a configuração inicial até a interação entre os módulos 
WRC heterogêneos na simulação modelo-robô-ambiente, simulação HIL 
com robôs escravos e implementação para executar tarefas atribuídas.
desenvolvimento do sistema [20-22]. Por exemplo, um conjunto de 
construções baseado em UML foi proposto para modelar aplicações 
robóticas e apoiar a verificação por meio de verificação de modelos e 
prova de teoremas [23], e perfis de aplicações colaborativas humano-
robô em uma cadeia de ferramentas de desenvolvimento orientada a 
modelos para suportar produção rápida mudanças [24].
Robôs móveis também têm sido explorados, nos quais módulos 
homogêneos são combinados para criar configurações complexas de 
manipulação e locomoção construídas a partir de outras mais simples. 
Por exemplo, módulos mecatrônicos que se conectam e desconectam 
para fornecer novas configurações [43] ou produzir esquemas de 
locomoção planar [44] e módulos prismáticos para montar manipuladores 
[45],a prioridade do centro
Nesse período, o veículo detectou e evitou o obstáculo B para 
realizar a tarefa de seguimento de parede. A Direção do WRC 
executou as solicitações de curva à esquerda e curva à direita 
geradas pelo Wall Follow WRC até o 44º segundo. No segundo 
seguinte, o Obstacle Avoiding WRC gerou uma curva à esquerda
1 3
Fig. 17 Robô autônomo 
baseado em WRC seguindo 
uma parede oval, evitando o 
obstáculo
Journal of Intelligent & Robotic Systems (2022) 104: 70
Fig. 18 Trajetórias simuladas 
(preto) e implementadas (azul) do 
robô baseado em WRC (plataforma 
Ack ermann) durante as tarefas de 
seguir a parede e evitar obstáculos 
a 0,5 m de distância entre o veículo 
e a parede
70 Página 22 de 28
Machine Translated by Google
A Figura 22 mostra as solicitações geradas pelos WRCs (seguir parede, 
evitar obstáculos e explorar), roteadas pelo Coordenador e tratadas 
pelos WRCs correspondentes (direção, tração, diferencial) nos robôs 
modulares. Os WRCs Wall Following e Obstacle Avoiding do veículo 
Ack ermann (símbolos verdes) foram mais ativos do que os WRCs 
Exploring no primeiro, segundo e terceiro veículos diferenciais (símbolos 
azul, vermelho e magenta, respectivamente) devido à sua funcionalidade 
inerente.
A simulação dos CPNs não cronometrados que modelam o
precisão funcional da implantação da arquitetura robótica proposta nos 
estudos de caso. Os módulos CPN se comportam sem deadlocks, com 
transições ao vivo e de forma síncrona entre eles e o robô e ambiente 
simulado/físico. Além disso, o procedimento de registro de cada WRC 
foi modelado por estruturas de rede com transições L1-live (fred once), 
que consomem os dados cadastrais armazenados em locais com 
marcação inicial, que são transferidos uma vez para o Coordenador a 
ser utilizado para reconhecer aquela WRC pode exigir/lidar com um 
pedido. O modelo CPN hierárquico permitiu visualizar e compreender a 
interação dos módulos WRC, ao receber estímulos sensoriais em tempo 
real e emitir comandos para controlar a navegação autônoma de robôs 
móveis para a execução de suas tarefas atribuídas em um determinado 
ambiente.
As WRCs forneceram o mecanismo para analisar e avaliar a
pedido é menor do que o pedido de virar à esquerda gerado pelo Wall 
Follow WRC.
A Figura 20 mostra várias trajetórias de robôs percorridas a diferentes 
distâncias da parede: 0,3 m (vermelho), 0,5 m (azul), 0,6 m (verde), 0,8 
m (ciano) e 1,0 m (magenta). As trajetórias mostram que o robô 
Ackermann realizou mais manobras para evitar o obstáculo B quando 
mais próximo da parede
Também foi testada uma configuração com um Coordenador e quatro 
robôs móveis. Neste caso, o robô Ackermann e os robôs diferenciais 
realizaram as tarefas de seguimento de parede e exploração em um 
corredor de escritório, respectivamente (Fig. 21).
O robô móvel Seguir e Evitar Obstáculos foi construído utilizando 231 
lugares, 82 transições e 608 arcos, onde havia 47 tipos de conjuntos de 
cores, 102 variáveis e 85 declarações, segundo o software CPN Tools. 
Tudo isso inclui os elementos traduzidos dos diagramas de atividades 
UML de cada WRC e os elementos adicionados pelo desenvolvedor. As 
especificações do Firmware da Unidade do Processador para a 
implementação de cada WRC incorporado, desenvolvido com base nos 
modelos UML e CPN, estão resumidas na Tabela 6.
O desempenho dos sistemas robóticos baseados em WRC para 
solicitar, redirecionar e tratar uma requisição é de cerca de 70 ms, um 
atraso semelhante ao relatado em trabalho anterior [74], no qual outros 
WRCs disponíveis foram apresentados.
No entanto, o Wall Follow WRC perdeu a detecção de parede; assim, 
gerou requisições para virar à direita e avançar até detectar a parede 
novamente (ponto R). As trajetórias acima da distância restrita de 0,5 m 
para seguir a parede e evitar o obstáculo apresentaram comportamento 
semelhante realizado pelo veículo Ack ermann.
O modelo CPN hierárquico executável para o Wall
resultado da interação entre os WRCs de Seguir Paredes e Evitar 
Obstáculos. Por exemplo, a trajetória vermelha segue a parede na 
distância restrita (0,3 m) até que o Obstacle Avoiding WRC detecte o 
obstáculo, gerando solicitações de parada, retrocesso, curva à esquerda 
e avanço para evitá-lo (ponto O).
1 3
Journal of Intelligent & Robotic Systems (2022) 104: 70
Fig. 19 Solicitações dos WRCs de 
Seguimento de Parede (verde) e 
Prevenção de Obstáculos (azul) para 
o intervalo de 40 a 60 segundos
Página 23 de 28 70
Machine Translated by Google
11 Conclusão
Journal of Intelligent & Robotic Systems (2022) 104: 7070 Página 24 de 28
Fig. 20 Trajetórias executadas pelo 
veículo Ackermann ao evitar 
obstáculos e seguir a parede a 0,3 m 
(vermelho), 0,5 m (azul), 0,6 m 
(verde), 0,8 m (ciano) e 1,0 m 
(magenta), respectivamente
implementação do protótipo. Essa estrutura aproveita as ferramentas 
UML e CPN como duas linguagens complementares de modelagem 
formal e padrão para fornecer instanciações práticas da arquitetura WRC.O framework de desenvolvimento baseado em modelo proposto é uma 
abordagem viável para projetar, visualizar, especificar e validar a 
estrutura e o comportamento de sistemas robóticos baseados em WRC 
a partir de simulação, passando por uma análise de simulação HIL para chegar ao
Os resultados das simulações e protótipos físicos validam a 
implementação de sistemas robóticos baseados em WRC,
1 3
Machine Translated by Google
guiado pelo framework de desenvolvimento baseado em modelo. 
A modularidade e interação sem fio da arquitetura WRC permitem 
a síntese de sistemas robóticos reconfiguráveis com uma 
configuração flexível através da adição/remoção de WRCs.
Os robôs móveis baseados em WRC podem ser representados 
em diagramas UML para descrever as especificações estruturais 
e comportamentais. Esses diagramas UML customizados servem 
para orientar o desenvolvimento de CPNs hierárquicos usados 
para validar a operação desses sistemas robóticos. O framework 
proposto explode os recursos hierárquicos do CPN, que são 
compatíveis com a arquitetura WRC proposta, para desenvolver 
um modelo executável do sistema robótico.
procedimento de tradução entre os diagramas UML e CPNs 
hierárquicos. Também incluirá elementos cronometrados para 
analisar o tempo de resposta, taxa de transferência e consumo 
de tempo por WRC no modelo CPN hierárquico resultante. 
Existem limitações neste framework proposto, sendo necessário 
integrar ferramentas de simulação para considerar a complexidade 
dos ambientes dinâmicos.
O trabalho adicional no quadro de desenvolvimento baseado 
em modelos reduzirá a lacuna na formalização do
A arquitetura é um framework personalizável, que é adaptável 
desde a seleção de componentes até a implementação de 
módulos pelos usuários. Seu aprimoramento futuro envolve 
fornecer funções de gerenciamento de rede ao Coordenador e 
estender o desenvolvimento de WRCs baseadosem dispositivos 
de hardware específicos e pertinentes para executar funções 
como percepção visual, tátil e de profundidade, navegação, 
planejamento, SLAM e interação humano-robô, incluindo 
manipulação hábil e locomoção com pernas. A arquitetura WRC 
também requer a funcionalidade de detecção de falhas para 
configurar soluções sólidas baseadas em WRC. Finalmente, o WRC baseado
1 3
Página 25 de 28 70
30
337–472
1184 7984
Journal of Intelligent & Robotic Systems (2022) 104: 70
Tração
828–902
Folclore de Parede. 1118 5882
Fig. 22 Número de solicitações 
geradas pelos quatro robôs 
móveis baseados no WRC, 
registrados pelo Coordenador na 
seguinte ordem: veículo Ackermann 
(verde) e o segundo (vermelho), 
terceiro (magenta) e primeiro (azul) 
veículos diferenciais
(KBytes) Linhas (Bytes)
Tabela 6 Tamanho do frmware do microcontrolador e memória utilizada. 
Tamanho do firmware e linhas de código do programa usadas para implementar 
o robô móvel Wall Following e Obstacle Avoiding (veículo Ackermann). Os 
tamanhos de ROM e RAM são relatados pelo Ambiente de Desenvolvimento 
Integrado usado para programar o microcontrolador embutido
395-556
30
Nome do WRC Código de arquivo hexadecimal ROM usada RAM usada
1011 5778
Direção
Obs. Evitar. 56 1680 10.630
(Bytes Mín.-Máx.)
229–313
199–315
Coordenador 22 4454 4454
Fig. 21 Veículos baseados em WRC implementados. O veículo Ackermann 
realiza autonomamente as tarefas de seguir paredes e evitar obstáculos, 
enquanto os veículos diferenciais realizam autonomamente as tarefas de 
explorar e evitar obstáculos
42
Machine Translated by Google
os sistemas são limitados pelas especificações de sensoriamento, 
computação, conectividade e tecnologia de atuação utilizada.
Referências
1 3
Declarações
937859
Contribuições dos Autores A pesquisa da estrutura de desenvolvimento baseada 
em modelo, execução do experimento, redação e redação – revisão foram realizadas 
por FD Von Borstel. A implementação do protótipo, execução do experimento e 
revisão foram realizadas por JF Villa-Medina.
org/10.1177/1729881417710457
10.1145/3342355
1. Kortenkamp, D., Simmons, R., Brugali, D.: Arquiteturas e programação de 
sistemas robóticos. In: Siciliano, B., Khatib, O. (eds.) Springer Handbook of 
Robotics, Springer Handbooks, pp. 283–306. Springer, Cham (2016). https://
doi.org/10.1007/
doi.org/10.1016/j.robot.2012.09.002
3. Chen, IM, Yim, M.: Robôs modulares. In: Siciliano, B., Khatib, O. (eds.) Springer 
Handbook of Robotics, Springer Handbooks, pp. 531–542. Springer, Cham 
(2016). https://doi.org/10.1007/
Cambridge, MA: The MIT Press, pp. 169–204 (2011) https://doi.
Consentimento para publicação Não aplicável.
574714001866
10.1007/s10270-014-0425-1
27. Kucera, E., HrÃz, B.: Modelagem de AS/RS usando redes de Petri coloridas 
hierárquicas e temporizadas, In: Proc. 23º Internacional Conf. Robô. Região 
Alpe Adria-Danúbio (RAAD), pp. 1–8 (2014) https://doi.org/10.
20. Miles, R., Hamilton, K.: Aprendendo UML 2.0. O'Reilly, Califórnia
17. Jensen, K.: Redes de Petri Coloridas. Conceitos Básicos, Métodos de Análise e 
Uso Prático, Monografias EATCS sobre Informática Teórica. Springer-Verlag, 
Berlim (1996). https://doi.org/10.
Journal of Intelligent & Robotic Systems (2022) 104: 70
10.1146/annurev-control-053018-023834
Disponibilidade de dados Todos os dados e códigos personalizados que suportam 
este estudo estão disponíveis com o autor correspondente, J. Gutiérrez, mediante 
solicitação razoável.
2011.5752942
Mag. 17(3), 38-55 (2010). https://doi.org/10.1109/MRA.2010.
6. Brunete, A., Ranganath, A., Segovia, S., de Frutos, JP, Hernando, M., Gambao, 
E.: Tendências atuais no projeto de robôs modulares reconfiguráveis. Int. J. Av. 
Robô. Sistema 14(3), 1-21 (2017). https://doi.
19. Booch, G., Rumbaugh, J., Jacobson, I.: O Guia do Usuário da Linguagem de 
Modelagem Unificada, 2ª ed. Addison-Wesley, Westford, MA (2005)
14. Luckcuck, M., Farrell, M., Dennis, L., Dixon, C., Fisher, M.: Especificação formal 
e verificação de sistemas robóticos autônomos: uma pesquisa. Computação 
ACM. Sobreviv. 52(5), 1-41 (2019). https://doi.org/
9. Alattas, RJ, Patel, S., Sobh, TM: Robôs modulares evolucionários: levantamento 
e análise. J. Intel. Robô. Sistema 95, 815-828 (2019). https://doi.org/10.1007/
s10846-018-0902-9
25. Giua, A., Seatzu, C.: Redes de Petri para o controle de sistemas de eventos 
discretos. Softw. Sistema Modelo. 14, 693-701 (2015). https://doi.org/
Consentimento para participar Não aplicável.
Robotica. 34(04), 791-822 (2016). https://doi.org/10.1017/S0263
5679170
22. OMG: Linguagem de Modelagem Unificada OMG (OMG UML). Versão 2.5.1. 
Grupo de gerenciamento de objetos. Recuperado em 2 de agosto de 2021. 
https://www.omg.org/spec/UML
70 Página 26 de 28
16. Lange, CFJ, Chaudron, MRV, Muskens, J.: Na prática: arquitetura de software 
UML e descrição do projeto. IEEE Softw. 23(2), 40-46 (2006). https://doi.org/
10.1109/MS.2006.50
21. Cook, S.: Olhando para trás na UML. Softw. Sistema Modelo. 11(4), 471-480 
(2012). https://doi.org/10.1007/s10270-012-0256-x
80511817533
Rev. Robô de Controle. Auton. Sistema 2, 63-88 (2019). https://doi.org/
4. Gilpin, K., Rus, D.: Sistemas de robôs modulares. Robô IEEE. Autom.
Financiamento Os autores não têm interesse fnanceiro ou não fnanceiro relevante a 
divulgar.
11. Harris, A., Conrad, JM: Levantamento de simuladores, estruturas e kits de 
ferramentas de robótica populares. In: 2011 Proceedings of IEEE South 
eastcon, pp. 243–249 (2011) https://doi.org/10.1109/SECON.
5. Ahmadzadeh, H., Masehian, E., Asadpour, MJ: Sistemas robóticos modulares: 
características e aplicações. J. Intel. Robô. Sistema 81, 317-357 (2016). https://
doi.org/10.1007/s10846-015-0237-8
7. Moubarak, P., Ben-Tzvi, P.: Robótica móvel modular e reconfigurável. Robô. 
Auton. Sistema 60(12), 1648-1663 (2012). https://
2. Arkin, RC: Robótica baseada em comportamento. Cambridge University Press, 
Nova York (1998)
18. Van der Aalst, W., Stahl, C.: Colored Petri Nets: the language. Na Modelagem de 
Processos de Negócios: Uma Abordagem Orientada à Rede de Petri.
Agradecimentos Os autores são muito gratos a Jorge Cobos e Alfonso Alvarez pela 
confecção das estruturas dos componentes usinados.
24. Askarpour, M., Lestingi, L., Longoni, S., Iannacci, N., Rossi, M., Vicentini, F.: 
Desenvolvimento orientado por modelo formalmente baseado em aplicativos 
robóticos colaborativos. J. Intel. Robô. Sistema 102, 59, (2021). https://doi.org/
10.1007/s10846-021-01386-2
12. Torres-Torriti, M., Arredondo, T., Castillo-Pizarro, P.: Levantamento e estudo 
comparativo de software livre de simulação para robôs móveis.
Aprovação ética Não aplicável.
Conf., pp. 104–118 (2010) https://doi.org/10.1109/WSC.2010.
26. Gehlot, V., Nigro, C.: Uma introdução à modelagem e simulação de sistemas com 
Redes de Petri Coloridas, In: Proc. Inverno 2010 Simul.
978-3-319-32552-1
15. Ambler, S.: Os Elementos do estilo UML 2.0. Cambridge University Press, 
Cambridge (2005). https://doi.org/10.1017/CBO97
8. Seo, J., Paik, J., Yim, M.: Robótica modular reconfigurável.Anu.
978-3-319-32552-1
10. Klanÿar, G., Zupanÿiÿ, B., Karba, R.: Modelagem e simulação de um grupo de 
robôs móveis. Simul. Modelo. Pratique. Teoria. 15(6), 647-658 (2007). https://
doi.org/10.1016/j.simpat.2007.02.002
org/10.7551/mitpress/8811.001.0001
13. Sharif, M., Chen, X., Pretty, C., Clucas, D., Cabon-Lunel, E.: Modelagem e 
simulação de um robô móvel omnidirecional não holonômico para programação 
offline e análise de desempenho do sistema. Simul. Modelo. Pratique. Teoria. 
87, 155-169 (2018). https://doi.org/10.1016/j.simpat.2018.06.005
1109/RAAD.2014.7002226
1007/978-3-662-03241-1
(2006)
23. Miyazawa, A., Ribeiro, P., Li, W., Cavalcanti, A., Timmis, J., Woodcock, J.: 
RoboChart: modelagem e verificação do comportamento funcional de aplicações 
robóticas. Softw. Sistema Modelo. 18, 3097-3149 (2019). https://doi.org/10.1007/
s10270-018-00710-z
Conflitos de interesse/interesses concorrentes Os autores declaram não ter 
conflito de interesses/interesses concorrentes.
A pesquisa, análise formal e redação – revisão – edição foram realizadas por J. 
Gutiérrez. Todos os autores leram e aprovaram o manuscrito final.
Machine Translated by Google
https://doi.org/10.1007/978-3-662-03241-1
https://doi.org/10.1177/1729881417710457
https://doi.org/10.1007/s10270-014-0425-1
https://doi.org/10.1017/S0263574714001866
https://doi.org/10.1146/annurev-control-053018-023834
https://doi.org/10.1016/j.robot.2012.09.002
https://doi.org/10.1109/WSC.2010.5679170
1 3
55. Chocron, O., Bidaud, P.: Evoluindo robôs ambulantes para projeto global baseado 
em tarefas. In: Proceedings of the Congress on Evolutionary Computation 1, pp. 
405–412 (1999) https://doi.org/10.1109/CEC.
36. Staines, TS: Mapeamento intuitivo de diagramas de atividade UML 2 no conceito de 
modelagem fundamental Diagramas de redes de Petri e redes de Petri coloridas. 
Em: Proc. Eng. de Comp. Sistemas Baseados, 15th IEEE Intl.
46. Castano, A., Behar, A., Will, PM: Os módulos Conro para robôs reconfiguráveis. 
Trans. IEEE/ASME Mechatron. 7(4), 403-409 (2002). https://doi.org/10.1109/
TMECH.2002.806233
59. Brunete, A., Hernando, M., Gambao, E., Torres, JE: Uma arquitetura de controle 
baseada em comportamento para micro-robôs heterogêneos modulares, multi 
configuráveis e encadeados. Robô. Auton. Sistema 60(12), 1607-1624 (2012). 
https://doi.org/10.1016/j.robot.2012.09.019
30. Jensen, K., Kristensen, LM: Introdução à modelagem e validação, In: Colored Petri 
Nets Modeling and Validation of Concurrent Systems, 1st ed., pp.1–12 (2009) 
https://doi.org /10.1007/
doi.org/10.1109/ROBOT.1996.506907
44. Tomita, K., Murata, S., Kurokawa, H., Yoshida, E., Kokaji, S.: Método de auto-
montagem e auto-reparação para um sistema mecânico distribuído. Trans. IEEE 
no Robô. Autom. 15(6), 1035-1045 (1999). https://doi.org/10.1109/70.817668
52. da Silva Ferreira, MA, Begazo, MFT, Lopes, GC, de Oliveira, AF, Colombini, EL, da 
Silvia Simões, A.: Drone reconfigurable architecture (DRA): uma arquitetura 
modular multifuncional para veículos aéreos não tripulados (VANTs) ). J. Intel. 
Robô. Sistema 99, 517-534 (2020). https://doi.org/10.1007/s10846-019-01129-4
Em: Proc. 6º Internacional Conf. Eng. Orientada a Modelos e Suave. Desenvolver.
doi.org/10.1016/B978-0-12-420232-0.00004-0
49. Murata, S., Yoshida, E., Kurokawa, H., Tomita, K., Kokaji, S.: Self-repairing 
Mechanical Systems. Auton. Robôs. 10, 7-21 (2001). https://doi.org/10.1023/
A:1026540318188
1026596403167
42. Xu, W., Han, L., Wang, X., Yuan, H.: Um manipulador modular reconfigurável sem 
fio e seu sistema de controle. Mecatrônica. 73, 102470 (2021). https://doi.org/
10.1016/j.mechatronics.2020.
51. Belke, CH, Paik, J.: Mori: um robô de origami modular. IEEE/
Auton. Agente. Sistema Multiagente 31(2), 332-361 (2017). https://
Página 27 de 28 70
35. Zhu, L., Wang, W.: Diagramas UML para redes de Petri coloridas hierárquicas: uma 
ferramenta automática de desempenho de software. Procedia Eng. 29, 2687-2692 
(2012). https://doi.org/10.1016/j.proeng.2012.01.373
1109/ROBÔ.1990.126059
54. Mondada, F., Franzi, E., Guignard, A.: O desenvolvimento da era Khep. Em Proc. 
1º Int. Khepera Workshop 64, pp. 7–14 (1999)
013
39. Paredis, CJJ, Brown, HB, Khosla, PK: Um sistema manipulador de rápida 
implantação. Em: Proc. Conferência Internacional IEEE sobre Robótica e 
Automação (ICRA), pp. 1434–1439 (1996) https://
10
J. Suave. Técnica de Ferramentas. Transferir. 9(3-4), 213-254 (2007). https://doi.
57. Farritor, S., Dubowsky, S.: Sobre o projeto modular de sistemas robóticos de 
campo. Auton. Robôs. 10, 57-65 (2001). https://doi.org/10.1023/A:
37. Mkaouer, MW, Kessentini, M.: Transformação de modelos usando otimização 
multiobjetivo. Av. Computar. 96, 161-202 (2014). https://
48. Rus, D., Vona, M.: Robôs cristalinos: auto-reconfiguração com módulos de unidades 
compressíveis. Auton. Robôs. 10, 107-124 (2001). https://doi.org/10.1023/
A:1026504804984
62. Innocenti Badano, BM: Uma Arquitetura Multiagente com Coordenação Distribuída 
para um Robô Autônomo. Tese de Doutorado, Universitat de Girona, Espanha 
(2009)
10.1109/ROBÔ.1995.525575
Journal of Intelligent & Robotic Systems (2022) 104: 70
32. Farinelli, A., Raeissi, MM, Marchi, N., Brooks, N., Scerri, P.: Interagindo com planos 
orientados a equipes em sistemas multi-robô.
41. Matsumaru, T.: Projeto e controle do sistema de robô modular: TOMMS. Em: Proc. 
Conferência Internacional IEEE sobre Robótica e Automação (ICRA), pp. 2125–
2131 (1995) https://doi.org/
31. Giglio, D.: Um modelo de rede de Petri para um sistema multi-AGV de caminho 
aberto, In: Proc. 11º Internacional Conf. Inf. Controle, Autom. Robô. ICINCO, pp. 
734-745 (2014) https://doi.org/10.5220/0005054807340745
org/10.1016/S0921-8890(99)00047-0
34. Tariq, O., Sang, J., Gulzar, K., Xiang, H.: Análise automatizada do diagrama de 
atividade UML usando CPNs, In: Proc. 8º IEEE Internacional Conf. em Suave. 
Eng. e Ciência de Serviço (ICSESS), pp. 134-138 (2017) https://doi.org/10.1109/
ICSESS.2017.8342881
45. Fukuda, T., Kawauchi, Y.: Sistema robótico celular (CEBOT) como uma das 
realizações do manipulador universal inteligente auto-organizado. Em: Proc. IEEE 
International Conference on Robotics and Automation (ICRA), pp. 662–667 (1990) 
https://doi.org/10.
58. Baca, J., Ferre, M., Aracil, R.: Um projeto robótico modular heterogêneo para 
resposta rápida a uma diversidade de tarefas. Robô. Auton. Sistema 60(4), 
522-531 (2012). https://doi.org/10.1016/j.robot.2011.11.
38. Kelmar L., Khosla, P.: Geração automática de cinemática para um sistema 
manipulador modular reconfigurável. Em: Proc. IEEE International Conference on 
Robotics and Automation (ICRA) 2, pp. 663–668 (1988) https://doi.org/10.1109/
ROBOT.1988.12135
43. Pamecha, A., Ebert-Uphof, I., Chirikjian, GS: Métricas úteis para planejamento de 
movimento de robôs modulares. Trans. IEEE no Robô. Autom. 13(4), 531-545 
(1997). https://doi.org/10.1109/70.611311
org/10.1109/TMECH.2017.2697310
33. Soares, JAC, Lima, B., Faria, JP: Transformação automática de modelos de 
diagramas de sequência UML para redes de Petri coloridas.
29. Jensen, K., Kristensen, LM,Wells, L.: Redes de Petri coloridas e ferramentas CPN 
para modelagem e validação de sistemas concorrentes. Int.
56. Leger PC, J. Bares.: Síntese automatizada e otimização de configurações de robôs. 
In: Proceedings of the Proceedings of the 1998 ASME Design Engineering 
Technical Conferences, pp. 13–16 (1998) https://doi.org/10.1115/DETC98/
MECH-5945
1007/s10846-020-01270-5
doi.org/10.1109/ECBS.2008.12
61. Andreev, V., Kim, V., Pryanichnikov, V.: Uma arquitetura modular hierárquica para 
robôs móveis reconfiguráveis. In: Anais do 30º Simpósio Internacional DAAAM, 
pp.1152–1159 (2019) https://doi.org/10.2507/30th.daaam.proceedings.162
60. Pio Negri, S., Basile, V., Valori, M., Gambino, B., Fassi, I., Tosatti, LM: Uma 
arquitetura robótica móvel modular para detecção e reparo de defeitos em túneis 
estreitos de componentes aeronáuticos CFRP . Robô. Computar. Integr. Manuf. 
55(A), 109-128 (2019). https://doi.org/10.1016/j.rcim.2018.07.011
40. Acaccia, G., Bruzzone, L., Razzoli, R.: Um sistema robótico modular para aplicações 
industriais. Montar Autom. 28(2), 151-162 (2008). https://doi.org/
10.1108/01445150810863734
b95112
53. Fujita, M., Kitano, H., Kageyama, K.: Uma plataforma de robô reconfigurável, Robot. 
Auton. Sistema 29(2-3), 119-132 (1999). https://doi.
org/10.1007/s10009-007-0038-x
(MODEL SWARD 2018), Madeira, Portugal, pp. 668–679 (2018) https://doi.org/
10.5220/006731806680679
50. Garcia, RFM, Hiller, JD, Stoy, K., Lipson, H.: Um mecanismo de ligação à base de 
vácuo para robótica modular. Trans. IEEE Robô. 27(5), 876-890 (2011). https://
doi.org/10.1109/TRO.2011.21530
102470
doi.org/10.1007/s10458-016-9344-6
28. Hu, HS, Yang, Y., Liu, Y., Chen, C.: Supervisor de projeto e simplificação de 
sistemas automatizados de fabricação usando redes de Petri coloridas, In: Proc. 
Internacional IEEE Conf. Robô. Autom. (ICRA), pp. 3826–3832 (2015) https://
doi.org/10,1109/ICRA.2015.7139732
Trans. ASME Mechatron. 22(5), 2153-2164 (2017). https://doi.
1999.781953
Conf. e Workshops (ECBS 2008), pp. 191–200 (2008) https://
47. Reddy, CHSS, Abhimanyu Godiyal, R., Zodage, T., Rane, T.: 2DxoPod – um robô 
modular para imitar a locomoção em vértebras. J. Intel. Robô. Sistema 101, 23 
(2021). https://doi.org/10.
Machine Translated by Google
https://doi.org/10.1109/TMECH.2002.806233
https://doi.org/10.1023/A:1026596403167
https://doi.org/10.1016/j.robot.2011.11.013
https://doi.org/10.1109/ROBOT.1996.506907
https://doi.org/10.1109/TRO.2011.2153010
https://doi.org/10.1109/ROBOT.1995.525575
https://doi.org/10.5220/0005054807340745
https://doi.org/10.1109/ROBOT.1990.126059
https://doi.org/10.1109/TMECH.2017.2697310
https://doi.org/10.1007/b95112
https://doi.org/10.1109/TRO.2011.2153010
https://doi.org/10.1016/j.mechatronics.2020.102470
https://doi.org/10.1109/TMECH.2017.2697310
https://doi.org/10.1109/ECBS.2008.12
https://doi.org/10.1007/s10846-020-01270-5
1 3
Com. de Áreas 29(8), 1508-1524 (2011). https://doi.org/10.1109/
Fernando D. Von Borstel recebeu o título de bacharel em engenharia de 
controle e computação pela Universidad Autónoma de Nuevo León, Monterrey, 
México, em 1989, e o doutorado em inteligência artificial pelo Tecnológico de 
Monterrey, Monterrey, México, em 2005. Desde 1995, trabalha no Centro de 
Investigaciones Biológicas del Noroeste, La Paz, México. Seus atuais interesses 
de pesquisa incluem modelagem de sistemas robóticos para desenvolvimento e 
implementação.
doi.org/10.1007/s10846-017-0504-y
70. Elkady, A., Joy, J., Sobh, T., Valavanis, K.: Uma abordagem estruturada para 
projeto modular em ambientes de robótica e automação. J.
75. Shen, WM, Salemi, B., Will, P.: Comunicação adaptativa inspirada em 
hormônios e controle distribuído para robôs auto-reconfiguráveis CONRO. 
Trans. IEEE Robô. Auto. 18(5), 700-712 (2002). https://doi.org/10.1109/
TRA.2002.804502
68. Metta, G., Fitzpatrick, P., Natale, L.: YARP – mais uma plataforma robótica, 
versão 2.3.20. Int. J. Av. Robô. Sistema 3(1), 43-48 (2013). https://doi.org/
10.5772/5761
s10846-012-9798-y
64. Paulos, J., Eckenstein, N., Tosun, T., Seo, J., Davey, J., Greco, J., Kumar, V., 
Yim, M.: Automontagem automatizada de grandes estruturas marítimas por 
uma equipe de barcos robóticos. Trans. IEEE Autom. Sci.
doi.org/10.1109/ICRA40945.2020.9196735
org/10.1155/2013/969304
74. Villa-Medina, J., Porta-Gándara, M., Gutiérrez, J.: Componentes robóticos 
sem fio para veículos autônomos. Robotica. 39(7), 1202-1215 (2021). https://
doi.org/10.1017/S0263574720001010
Journal of Intelligent & Robotic Systems (2022) 104: 70
77. Gallasch, G., Kristensen, LM: COMMS/CPN: uma infraestrutura de 
comunicação para comunicação externa com Design/CPN. In: Jensen, K. 
(ed.) Terceiro Workshop e Tutorial sobre o Uso Prático de Redes de Petri 
Coloridas e as Ferramentas CPN, DAIMI PB-554, Departamento de Ciência 
da Computação, pp. 75–91. Universidade de Aarhus, Dinamarca (2001)
Joaquin Gutiérrez é bacharel em eletrônica e engenharia de comunicação pelo 
Instituto Politécnico Nacional, Cidade do México, México, em 1998, ante doutorado 
em inteligência artificial pelo Instituto Tecnológico de Estudios Superiores de 
Monterrey, Monterrey, México, em 2004. Desde 1988, esteve na CIBNOR, La 
Paz, México.
73. Kugele, S., Obergfell, P., Sax, E.: Análise de recursos baseada em modelo e 
síntese de arquiteturas de software automotivo orientadas a serviços. 
Softw. Sistema Modelo, 31 (2021) https://doi.org/10.1007/
Nota do editor Springer Nature permanece neutro em relação a reivindicações 
jurisdicionais em mapas publicados e afiliações institucionais.
71. Veloso, MVD, Filho, JTC, Barreto, GA: SOM4R: um middleware para 
aplicações robóticas baseado na arquitetura orientada a recursos. J. Intel. 
Robô. Sistema 87, 487-506 (2017). https://
76. Di Francesco, M., Anastasi, G., Conti, M., Das, SK, Neri, V.: Confiabilidade e 
eficiência energética em redes de sensores IEEE 802.15.4/ZigBee: uma 
abordagem adaptativa e de camada cruzada . IEEE J. Sel.
2416678
67. Mayoral, V., Hernández, A., Kojcev, R., Muguruza, I. Zamalloa, I., Usategi, L., 
Bilbao, A.: A mudança no paradigma da robótica – o sistema operacional 
do robô de hardware (H -ROS); uma infraestrutura para criar componentes 
de robôs interoperáveis. In: Conferência da NASA/ESA sobre Hardware e 
Sistemas Adaptativos, pp. 229–236 (2017) https://doi.org/10.1109/
AHS.2017.8046383
Intel. Robô. Sistema 72(1), 5-19 (2013). https://doi.org/10.1007/
65. Gabrich, B., Li, G., Yim, M.: ModQuad-DoF: uma nova atuação de guinada 
para quadrotors modulares. In: IEEE International Conference on Robotics 
and Automation (ICRA), pp. 8267–8273 (2020) https://
63. Hwang, K., Lo, C., Liu, W.: Uma arquitetura de agente modular para um robô 
autônomo. Trans. IEEE Instrumento Medir. 58(8), 2797–2806 (2009). https://
doi.org/10.1109/TIM.2009.2016301
69. Zou, Y., Zhao, G., Wang, T.: Uma estrutura geral de arquitetura modular 
mecatrônica. Av. Mec. Eng. 5, 15 (2013). https://doi.
s10270-021-00896-9
Eng. 12(3), 958-968 (2015). https://doi.org/10.1109/TASE.2015.
66. Quigley, M., Gerkey, B., Conley, K., Faust, J., Foote, T., Leibs, J., Berger, E., 
Wheeler,R., Ng, A.: ROS: an sistema operacional de robô de código aberto. 
In: Workshop do ICRA sobre Software de Código Aberto 3, pp. 1–5 (2009)
70 Página 28 de 28
JSAC.2011.110902
J. Francisco VillaÿMedina recebeu os graus de bacharelado e mestrado em 
sistemas computacionais pelo Instituto Tecnológico de La Paz, México, em 2013. 
Atualmente cursa o doutorado. Graduado em Ciências Marinhas pelo Centro 
Interdisciplinario de Ciencias Marinas do Instituto Politécnico Nacional (CICIMAR-
IPN), La Paz, BCS, México. É Técnico do Grupo de Engenharia do Centro de 
Investigaciones Biológicas del Noroeste, SC, La Paz, BCS, México. Seus atuais 
interesses de pesquisa incluem o desenvolvimento de sistemas de engenharia.
72. Hinton, MA, Zeher, MJ, Kozlowski, MV, Johannes, MS: Advanced Explosive 
Ordnance Disposal Robotic System (AEODRS): uma revolução na arquitetura 
comum. Johns Hopkins APL Tech. Escavação. 30(3), 256–266 (2011)
Machine Translated by Google
https://doi.org/10.1109/TRA.2002.804502
https://doi.org/10.5772/5761
https://doi.org/10.1155/2013/969304
https://doi.org/10.1007/s10270-021-00896-9
https://doi.org/10.1007/s10846-017-0504-y
https://doi.org/10.1007/s10846-012-9798-y
https://doi.org/10.1109/ICRA40945.2020.9196735
https://doi.org/10.1155/2013/969304
https://doi.org/10.1109/TASE.2015.2416678
https://doi.org/10.1109/JSAC.2011.110902robôs escaladores e ambulantes [46, 47], envolvendo mecanismos 
de atuação para expansão e contração [48], rejeição de módulos 
defeituosos [49], geração de forças adesivas [50], transformação de 
configurações 2D em 3D [51], e montagem de módulos de rotor em um 
veículo aéreo não tripulado [52].
Módulos heterogêneos que incluem plataformas móveis, rodas, 
atuadores, sensores e componentes de potência, têm permitido o 
desenvolvimento de sistemas robóticos compostos por módulos pré-
definidos com conectores comuns [53, 54]; inventários de módulos 
parametrizados que são selecionados por um algoritmo genético [55], 
uma simulação intensiva de tarefas [56], ou filtros de engenharia e 
técnicas de busca [57]; através de um repositório de módulos de poder 
e controle, conjuntos e especializados [58]; micromódulos cilíndricos 
[59]; rover pré-definido, braço, antebraço de escarificação, antebraço de 
limpeza e módulos de semi-reboque [60]; e módulos gerais de placa-
mãe, atuador e sensor para processamento, controle de eletromotores 
acoplados e conexão de uma variedade de sensores, respectivamente 
[61]. Outras arquiteturas voltadas para a modularidade abordam a 
configuração do robô considerando cada módulo como um agente 
baseado na teoria multiagente [62, 63] e montam grandes robôs móveis 
compostos por plataformas autônomas não tripuladas idênticas como 
módulos [64, 65].
modelos para CPNs para simulação e análise, tratando cada diagrama 
UML de forma independente ou combinada. Por exemplo, uma 
abordagem, baseada em técnicas modelo a modelo fornecidas por uma 
estrutura de modelagem, transforma automaticamente diagramas de 
seqüência UML em CPNs [33]. Um trabalho que tem como foco a análise 
do comportamento e simulação dos diagramas de atividade UML, que 
são transformados em CPNs por meio de regras de mapeamento [34]. 
Uma plataforma de desempenho de software foi proposta para 
desenvolvimento iterativo combinando vários diagramas estruturais e 
comportamentais da UML: caso de uso, colaboração, implantação e 
suas relações para gerar e avaliar CPNs hierárquicos [35]. Além disso, 
regras intuitivas de mapeamento e transformação para traduzir diagramas 
de atividades em CPNs também foram formuladas [36]. O mainstream 
das abordagens de transformação UML-CPN existentes se concentra 
em um único diagrama UML comportamental para oferecer regras 
formais que geram modelos CPN; no entanto, essas regras são algumas 
vezes complexas e podem gerar grandes modelos de CPN que podem 
ser impraticáveis para o desenvolvedor e comprometer a análise posterior 
[37].
Redes de Petri (PNs) e CPNs convencionais são amplamente 
aplicadas para descrever Sistemas de Eventos Discretos (DES), onde 
os processos inerentes são concorrentes, distribuídos, dependem de 
comunicação, compartilham recursos, entre outras características [25]. 
Além disso, CPNs estendem PNs convencionais por meio de tipos de 
dados, inscrições de arco, modularidade, hierarquia e uma linguagem 
de programação de alto nível [26]. Modelos CPN hierárquicos permitem 
agrupar algumas partes em um módulo, sem perder informações sobre 
o comportamento do sistema oculto no módulo [27]. Os CPNs fornecem 
os elementos necessários para detalhar de forma sucinta a interação 
entre processos e recursos em complexos sistemas de manufatura 
automatizados [28] por meio de ferramentas de desenvolvimento, como 
o simulador CPN Tools [29, 30] para modelar graficamente, executar 
simulações e validar sistemas DES. Além disso, o CPN Tools possui 
uma linguagem de programação chamada CPN ML, que fornece as 
primitivas para a definição dos tipos de dados e a manipulação dos 
valores dos dados [26]. Vários trabalhos usaram CPNs para modelar, 
descrever e simular sistemas de robôs. Por exemplo, um sistema de 
múltiplos veículos guiados automatizados (AGV) para transporte de 
produtos em armazéns [31] e a interação de robôs autônomos para 
planos de equipe em ambientes complexos [32].
1 3
2 Sistemas Robóticos Modulares
70 Página 2 de 28 Journal of Intelligent & Robotic Systems (2022) 104: 70
Machine Translated by Google
1 3
3 Arquitetura de componentes robóticos sem fio
4 Modelagem da Arquitetura WRC
Journal of Intelligent & Robotic Systems (2022) 104: 70 Página 3 de 28 70
Esta arquitetura possui uma estrutura modular reconfigurável com 
uma morfologia extensível e flexível obtida pela adição e remoção de 
WRCs. A modularidade da arquitetura expande sua adequação por 
meio de uma rede sem fio de função distribuída que inclui a 
conectividade, segurança e escalabilidade fornecidas por padrões 
técnicos, como IEEE 802.15.4 (ZigBee) [76].
Além disso, um Coordenador é um WRC especial que cumpre a 
função particular de dispersão das solicitações, permitindo a interação 
entre WRCs (Fig. 1). Assim, pelo menos três WRCs são necessários 
para conformar uma rede interna WRC, ou seja, um Coordenador, 
um gerador e um manipulador.
A arquitetura modular considera uma comunicação robótica sem fio
A arquitetura WRC propõe o desenvolvimento de módulos de 
construção de poços com ações de sensoriamento/atuação, 
computação e comunicação, que são descritos por diagramas gerais 
UML que são tomados como referência pelo framework de 
desenvolvimento proposto.
componente como um módulo embarcado de hardware/software 
que implementa uma função robótica específica, que pode ser 
montada para configurar robôs móveis [74]. Cada WRC é um 
componente autônomo composto por uma unidade de comunicação sem fio, um
Os WRCs interagem gerando e processando solicitações por 
meio do Coordenador, que recebe cada solicitação e a direciona para 
os WRCs correspondentes que realizam a função requerida no 
sistema robótico. A interação WRC é baseada em uma comunicação 
mínima através de um protocolo orientado a cinco bytes para 
transmitir comandos com parâmetros e níveis de prioridade ou dados 
relevantes, o que é uma adaptação da abordagem inspirada em 
hormônios [75]. Um WRC transmite requisições sem destino WRC 
específico, mas pode acionar funções em diferentes WRCs que 
decidem localmente a execução de seu mecanismo de seleção de 
ação pré-definido, permitindo a reação às mudanças nas condições 
internas ou externas do robô.
mecanismo comum de passagem de mensagens para programar o 
comportamento de um sistema robótico [66]. Recentemente, o H-
ROS (Hardware ROS) é uma abordagem complementar para a 
criação de componentes padronizados que alimentam e conectam 
por Fieldbus Ethernet em tempo real, como a tecnologia PoE e 
EtherCAT P [67]. Estruturas semelhantes baseadas na reutilização 
de software são YARP – ainda outra plataforma de robô [68], F-model 
[69], RISCWare [70] e SOM4R [71]. Além disso, AEODRS [72] e 
AUTOSAR [73] para integrar múltiplas unidades de controle eletrônico 
nos setores automotivo e militar, respectivamente.
Nestes trabalhos anteriores, a implementação do sistema robótico 
se preocupa com cinemática,dinâmica, requisitos de tarefas, 
automontagem, autorreconfiguração e evolução, entre outros estudos, 
com base em módulos homogêneos/heterogêneos de componentes 
físicos e de software usando estruturas, bibliotecas prontas para uso 
e padrões de interface. O presente trabalho foca na falta de um 
framework de desenvolvimento para apoiar a implementação de 
robôs modulares, adotando ferramentas de modelagem. A motivação 
deste framework de desenvolvimento não visa automatizar o processo 
de implementação nem aliviar o projetista; em vez disso, para auxiliar 
o usuário no desenvolvimento do projeto, construção e teste de robôs 
móveis modulares viáveis.
O framework proposto é aplicado para desenvolver sistemas 
robóticos a partir de componentes robóticos sem fio, comportando-
se como módulos autônomos que interagem por meio de pequenas 
mensagens, compostas por comandos e níveis de prioridade, para 
desempenhar sua função. Cada WRC é implementado a partir de 
dispositivos de hardware heterogêneos, incluindo sua interface física 
pertinente, frmware de baixo nível e software de funcionalidade, sem 
estrutura e interfaces padronizadas, nem compatíveis com outros 
frameworks (YARP ou ROS). Os WRCs fornecem as capacidades e 
limitações intrínsecas aos dispositivos de hardware selecionados, por 
exemplo, alcance, taxa de dados, atraso, número de conexão do 
hardware de comunicação sem fio.
As contribuições do trabalho aqui apresentado são um framework 
de desenvolvimento baseado em modelos, uma ferramenta adequada 
para apoiar a implementação de robôs móveis modulares, baseado 
em ferramentas de modelagem padrão e formal; um procedimento 
de tradução proposto para mapear diagramas de atividade UML de 
cada WRC em elementos CPN para obter um modelo CPN hierárquico 
do robô modular baseado em WRC; e validação experimental do 
framework de desenvolvimento baseado em modelos desde a 
simulação até a construção do protótipo.
Os diagramas UML são usados inicialmente para visualizar, 
especificar e documentar a configuração do robô móvel com base na 
arquitetura WRC. Os diagramas estruturais permitem definir os 
componentes estáticos de cada WRC e os diagramas comportamentais 
permitem capturar os estados intrínsecos e a interação entre os 
WRCs durante sua execução. Por exemplo, o diagrama de classes 
UML descreve o software de arquitetura WRC em termos gerais (Fig. 
2). Envolve as classes de software WRC e Coordinator, mostrando 
as classes mais signifcativas com seus atributos e métodos. Da 
mesma forma, o diagrama de implantação UML (Fig. 3) descreve a 
disposição física dos WRCs necessários para implementar um robô 
móvel, indicando sua implementação mínima utilizando um 
Coordenador com dois ou mais WRCs para gerar e tratar as 
requisições.
unidade de processamento (computador ou plataforma embarcada) 
e por sensor(es)/atuador(es)/sensor(es)-atuador(es) para executar 
uma função específica. Um WRC é construído a partir das 
especificações técnicas para operar/controlar o sensor/atuador 
específico. Os WRCs geralmente são nomeados de acordo com sua 
funcionalidade e podem gerar, manipular ou gerar e manipular solicitações.
Machine Translated by Google
1 3
5 Estrutura de Desenvolvimento Baseada em Modelo
70 Página 4 de 28 Journal of Intelligent & Robotic Systems (2022) 104: 70
Fig. 1 Arquitetura de componentes 
robóticos sem fio para implementação 
de robôs móveis. Um sistema robótico 
configurado pelo Coordenador, 
Tração, Direção, Evitar Obstáculos e 
Seguir Paredes WRCs
A operação da arquitetura depende da interação de 
mensagens entre as WRCs; portanto, os diagramas 
comportamentais são usados para especificar a transmissão da 
mensagem. O diagrama de seqüência geral UML (Fig. 4) 
descreve uma interação de mensagem representativa entre 
objetos e instancia um Coordenador com dois WRCs. O diagrama 
de seqüência define três tipos de mensagens, denominadas 
Register, Register Reply e Request. Cada WRC envia uma 
mensagem de Registo ao Coordenador, composta pelos dados 
da unidade de comunicação (endereços MAC e PAN), uma lista 
de pedidos a tratar (RF), uma lista de pedidos a gerar (RQ), uma 
lista dos respectivos prioridades (PR) e uma palavra de 
terminação (Term). O Coordenador responde a cada WRC com 
uma mensagem Register Reply que contém um número de 
identificação (ID) e uma palavra de terminação (Term). As 
mensagens de solicitação têm cinco argumentos, uma solicitação 
(Req), um parâmetro de solicitação (Par), uma prioridade de 
solicitação (Prio), o ID do remetente e uma palavra de terminação 
(Term). Cada mensagem de Solicitação é enviada ao 
Coordenador, que a direciona para o(s) WRC(s) correspondente(s) 
que pode tratar a solicitação. Esses diagramas UML gerais 
suportam o desenvolvimento do modelo CPN hierárquico que representa o sistema robótico completo.
Um framework trifásico serve para modelar e desenvolver robôs 
móveis usando a arquitetura WRC. Na primeira fase, são 
definidos os WRCs da configuração do robô móvel através da 
análise da plataforma móvel, das funções necessárias para 
realizar a tarefa atribuída e das especifcações do ambiente. Um 
modelo UML personalizado é criado a partir dos diagramas UML 
gerais para fornecer uma estrutura que inclui diagramas UML 
estruturais e comportamentais específicos para visualizar o 
projeto do robô móvel. As características específicas de um 
WRC, como o fluxo de operação inerente ou o tipo de mensagem 
para comunicação com outros componentes, são incorporados 
em diagramas UML customizados. Em particular, cada WRC é 
representado por um diagrama de atividades UML para descrever 
suas operações internas e fluxo de dados interno. Na segunda 
fase, cada elemento dos diagramas de atividades UML é 
redefinido em seu elemento CPN correspondente para gerar 
uma estrutura CPN fundamental por meio de um procedimento 
de tradução proposto. Na última fase, desde o formalismo CPN, 
a linguagem de programação CPN ML e a definição de módulos 
em CPNs hierárquicos conformam uma ferramenta de modelagem 
mais estendida do que os diagramas UML comportamentais, como os diagramas de atividades,
Machine Translated by Google
Journal of Intelligent & Robotic Systems (2022) 104: 70 Página 5 de 28 70
Fig. 3 Diagrama geral de implantação UML do software e hardware da arquitetura WRC
Fig. 2 Diagrama geral de classes UML do software de arquitetura WRC
1 3
Machine Translated by Google
6 Tradução do Diagrama de Atividades UML para CPN
CPN = (P, T, A, ÿ, V, C, G, E, I)
AD = (AN, IN, FN, KN, JN, DN, MN, FF, ED, GD)
Journal of Intelligent & Robotic Systems (2022) 104: 7070 Página 6 de 28
Fig. 4 Diagrama geral de sequência UML da arquitetura WRC
1 3
onde AN é um conjunto finito de nós de atividade. IN e FN são 
conjuntos finitos de nós iniciais e finais, respectivamente. KN é um 
conjunto finito de nós de bifurcação, JN é um conjunto finito de nós de junção,DN
denota o conjunto de expressões fornecidas pela linguagem de inscrição 
(por exemplo, CPN ML em CPN Tools), Type[r] denota
Redes de Petri Coloridas: Uma Rede de Petri Colorida não hierárquica
é um conjunto finito de nós de decisão, MN é um conjunto finito de nós de 
mesclagem e FF é um conjunto finito de nós finais. ED é um conjunto 
finito de arestas direcionadas defnidas por ED={e(x, y) |x ÿ X, y ÿY, (X ÿY) 
ÿ N}. GD é um conjunto finito de instruções de guarda relacionadas a 
arestas de saída de nós de decisão, tal que uma instrução de guarda g ÿ 
GD, próxima a uma aresta de saída e(x, y) ÿ ED de um nó de decisão d ÿ 
DN, deve ser verdadeira antes de passar para o próximo nó de ação o ÿ 
AN.
A. Preliminares
O CPN é definido pelas nove tuplas:
Diagramas de atividade: Esses diagramas comportamentais descrevem 
fluxogramas que representam o fluxo de um nó de atividade para outro, 
onde um nó de atividade descreve uma operação do sistema modelado. 
Existe um fluxo de controle de uma operação para outra, que pode ser 
sequencial, concorrente ou ramificada.
Tipos de nós, como nós de decisão, bifurcação ou junção, são usados 
para descrever o controle de fluxo [34]. Um diagrama de atividades AD é 
definido pela dez tupla:
O diagrama de atividades UML de cada WRC permite a tradução de 
suas especificações comportamentais para a semântica formal dos CPNs. 
O procedimento de tradução gera a estrutura fundamental de um CPN, 
que é posteriormente modificada pelo desenvolvedor, adicionando outros 
elementos para completar um módulo em um modelo CPN hierárquico.
o desenvolvedor deve adicionar mais elementos aos CPNs fundamentais 
para completar o modelo de robô móvel. Esse modelo representa os 
WRCs como módulos separados, conforme mostrado no diagrama de 
implantação UML personalizado; fornece a interação de mensagens entre 
os módulos WRC, conforme descrito no diagrama de seqüência UML 
personalizado; mantém e trata os dados de registro WRC, conforme 
indicado pelos atributos de classe nos diagramas de classe UML 
customizados; e compreende as estruturas CPN e expressões de 
linguagem CPN ML que analisam mensagens e registram dados para 
realizar as operações inerentes às WRCs, conforme descrito nos nós de 
atividade dos diagramas de atividades UML. Em seguida, o modelo CPN 
hierárquico resultante é usado para realizar uma validação dinâmica do 
sistema robótico baseado em WRC.
onde P é um conjunto finito de lugares p e T é um conjunto finito de 
transições t, tal que P ÿ T = ÿ. A é um conjunto finito de arcos direcionados 
conectando lugares e transições, tais que A ÿ (P × T) ÿ (T × P). ÿ é um 
conjunto finito de conjuntos de cores não vazios para definir os tipos de 
dados. V é um conjunto finito de variáveis tipadas, tal que Type[v] ÿ ÿ para 
todas as variáveis v ÿ V. C: P ÿ ÿ é uma função de conjunto de cores C(p) 
que atribui um conjunto de cores a um lugar p. EXPRESS
Machine Translated by Google
B. Tradução
5. Cada aresta e(x, y) ÿ ED relacionada a uma instrução de guarda g(x, 
y) ÿ GD, que é uma aresta de saída de um nó de decisão x para 
conectar um nó fnal, fow-fnal ou merge y, é traduzido como dois 
elementos de CPN: um arco a(x, y) ÿ A e expressão de arco E(x, y) 
ÿ EXPv. Onde E(x, y) é definido por uma estrutura de controle 
forma if-then-else da linguagem de inscrição CPN ML. Isso é 
denotado por:
ÿ V é denotado EXPRv. G: T ÿ EXPRv é uma função de guarda que 
atribui uma expressão de guarda a uma transição t tal que Type[G(t)]= 
Bool. E: A ÿ EXPv é uma função de expressão de arco que atribui uma 
expressão de arco a um arco a tal que Tipo[E(a)]= C(p), onde p é o lugar 
conectado ao arco a. Para um a(p, t) ÿ A, conectando um lugar p a uma 
transição t, é necessário que Tipo[E(p, t)] = C(p). Da mesma forma, para 
um arco a(t, p) ÿ A é necessário que Tipo[E(t, p)]=C(p). Portanto, uma 
expressão de arco E(a) deve ter o mesmo tipo de cor que os tokens 
aceitos por um lugar p conectado ao arco a. Finalmente, I: P ÿ EXPÿ é 
uma função de inicialização que atribui a um lugar p uma expressão de 
inicialização I(p) [28].
7. Todo nó inicial i ÿ IN é traduzido como um lugar p ÿ P
Definição 1: S(AD)=CPN denota a função de tradução S, onde um 
diagrama de atividade UML AD=(N, AN, IN, FN,
1. Cada aresta e(x, y) ÿ ED, que conecta um nó inicial x
o tipo de cor de uma expressão r ÿ EXPR, tal que Var[r] 2. Cada aresta e(x, y) ÿ ED, que conecta uma ação, junta ou nó de 
forquilha x a uma ação, junta, forquilha ou nó de decisão y, é 
traduzida como três elementos de CPN: um arco de saída a( x, p') 
ÿ A do nó x, conectado a um lugar p' ÿ P´
com o conjunto de cores da unidade E atribuído e 1'e como sua 
expressão de inicialização. Isso é denotado por:
isso como um conjunto de cores atribuído, e um arco de saída a(p', 
y) ÿ A de p' para conectar o nó y. Isso é denotado por:
para uma ação, junta, forquilha ou nó de decisão y, é traduzido 
para um arco a(x, y) ÿ A em CPN. Isso é expresso pela notação de 
conjunto:
KN, JN, DN, MN, FF, ED, GD) é traduzido para elementos de um CPN 
através dos seguintes passos:
4. Cada aresta e(x, y) ÿ ED relacionada a uma instrução de guarda g(x, 
y) ÿ GD, que é uma aresta de saída de um nó de decisão x para 
conectar uma ação, junta, forquilha ou nó de decisão y, é traduzido 
como quatro elementos do CPN: um arco de saída a(x, p') ÿ A do 
nó x, para conectar um lugar p' ÿ P´ que tem um arco de saída a(p', 
y) ÿ A, para conectar um nó y, e uma expressão de arco E(x, p´) ÿ 
EXPv. Onde E(x, p') é definido por uma estrutura de controle forma 
if-then-else do conjunto de expressões usando a linguagem de 
inscrição CPN ML, que deve ter o mesmo tipo de conjunto de cores 
atribuído ao lugar p', Type[ E(x, p')]= C(p'). Isso é denotado por:
8. Todo elemento n da união dos conjuntos de nós fnal, fow-fnal e 
merge, incluindo o conjunto P´ de lugares p´ criados nos passos 2 
e 4, é traduzido como um lugar p ÿ P com uma expressão de 
inicialização vazia. Isso é denotado por:
6. Cada aresta e(x, y) ÿ ED, que conecta um nó inicial ou de mesclagem 
x a outro nó de mesclagem y, é traduzida como três elementos de 
CPN: um arco de saída a(x, t´) ÿ A do nó x , para conectar uma 
transição t´ÿ T ´, e um arco de saída a(t', y) ÿ A para conectar o nó 
y. Isso é denotado por:
3. Cada aresta e(x, y) ÿ ED, que conecta um nó de ação, junta ou 
forquilha x a um nó fnal, fow-fnal ou de junção y, é traduzida como 
um arco a(x, y) ÿ A no CPN. Isso é denotado por:
{a(x, ÿ), ÿ, a(ÿ, y)} ÿ C(ÿ) ÿ = e(x, y) ÿ x ÿ
{p | I(p) = vazio} = n ÿ n ÿ (FN ÿ FF ÿ MN ÿ ÿ)
{ a(x, tÿ), tÿ, a(tÿ, y) } = e(x, y) ÿ x ÿ (IN ÿ MN), y ÿ MN
a(x, y) = e(x, y) ÿ x ÿ IN, y ÿ (AN ÿ JN ÿ KN ÿ DN)
(ANÿ JN ÿ KN), y ÿ (AN ÿ JN ÿ KN ÿ DN)
{ p | C(p) = E, I(p) = 1ÿ e } = i ÿ i ÿ IN
Journal of Intelligent & Robotic Systems (2022) 104: 70 Página 7 de 28 70
{ a(x, ÿ), ÿ, a(ÿ, y), E(x, ÿ) = }}se ÿ então ÿ senão ÿ formaÿ| Digite[ E(x, ÿ) ] = C(ÿ) } = { e(x, y), g(x, y) } ÿ x ÿ DN, y ÿ (AN ÿ JN ÿ KN ÿ DN)
{a(x, y), E(x, y) = }}se ÿ então ÿ senão ÿ formaÿ}
= { e(x, y), g(x, y) } ÿ x ÿ DN, y ÿ (FN ÿ FF ÿ MN)
a(x, y) = e(x, y) ÿ x ÿ (AN ÿ JN ÿ KN), y ÿ (FN ÿ FF ÿ MN)
1 3
Machine Translated by Google
Journal of Intelligent & Robotic Systems (2022) 104: 7070 Página 8 de 28
Fig. 5 As etapas da função S são usadas para traduzir elementos de AD para CPN: a) etapas 1, 7, 
10–11 aplicadas a um nó inicial conectado a um nó de atividade e elementos CPN resultantes ; b) 
etapas 2, 8–12 aplicadas a um nó de atividade conectado a outro nó de atividade e elementos CPN 
resultantes ; c) etapas 3, 8–10 e 12 aplicadas a um nó de atividade conectado a um nó fnal e 
elementos CPN resultantes ; d) passos 4, 8, 10-11 aplicados a um nó de decisão conectado a um nó 
de ação e elementos CPN resultantes ; e) etapas 5, 8–10 aplicadas a um nó de decisão conectado 
a um nó de mesclagem e elementos CPN resultantes; e f) etapas 6, 8–12 aplicadas a um nó de 
mesclagem conectado a outro nó de mesclagem e elementos CPN resultantes . As variáveis v e w 
são digitadas como INT, um conjunto de cores inteiro, e a variável e é digitada como E, um conjunto 
de cores de unidade, ambos os conjuntos de cores existem como declarações padrão no simulador 
CPN Tools.
As bordas de entrada/saída não indicadas nos nós de mesclagem são mostradas para visualizar 
como os nós de mesclagem são traduzidos como locais com arcos de entrada/saída
{ E(p, t) = definido | Digite[ E(p, t) ] = C(p) } =
{E(t, p) = não definido | t ÿ T, p ÿ P}
{E(p, t) = não definido | p ÿ P, t ÿ T }
{ E(t, p) = definido | Digite[ E(t, p) ] = C(p) } =
{t | G(t) = vazio} = {n | n ÿ (AN ÿ KN ÿ JN ÿ DN ÿ Tÿ)}
ÿ
1 3
{p | C(p) ÿ ÿÿ} = {p | C(p) = nenhum conjunto de cores atribuído}
A Figura 5 mostra vários exemplos simples, onde as etapas de 
função traduzem os elementos do diagrama de atividades da UML 
(AD), como arestas denotadas por e(x, y), nós executáveis e de 
controle e instruções de guarda, em elementos CPN (CPN) como 
lugares, transições, arcos, expressões de arco (letras minúsculas e 
expressões if-then-else, no lado esquerdo dos arcos) e conjuntos de 
cores atribuídos a lugares (letras maiúsculas na parte inferior direita 
dos lugares).
12. Toda expressão de arco E(t, p) não defnida é traduzida definindo 
uma expressão de arco E(t, p) ÿ EXPv com o mesmo tipo de 
cor atribuído ao lugar p. Isso é denotado por:
Após as etapas da função de tradução, a estrutura de rede 
resultante é um CPN fundamental que precisa ser modificado,
T com expressões de guarda vazias.
10. Cada elemento n da união dos conjuntos de nós de atividade, 
bifurcação, junta e de decisão, incluindo o conjunto T´ de 
transições criadas t´ no passo 6, é traduzido como uma transição t ÿ
9. Todo lugar p ÿ P, que não atribuiu um conjunto de cores C(p), é 
completado com a atribuição de um conjunto de cores que 
pertence ao conjunto finito de conjuntos de cores de CPN.
11. Toda expressão de arco E(p, t) não definida, é traduzida pela 
definição de uma expressão de arco E(p, t) ÿ EXPv com o 
mesmo tipo de cor atribuído ao lugar p. Isso é denotado por:
Machine Translated by Google
Evitando
Centro
Evite obstáculos na frente do robô gerando solicitações com base em seus dados de sensores de proximidade e 
regras de controle
Lidar com solicitações para realizar ações de tração por meio de seu atuador e regras de controle
Vire à Esquerda
Para trás
Seguindo
Registre cada WRC fornecendo um ID e dispersando solicitações
Registro
Tração
Vire à direita
Função necessária
Centro
Pare
Pare
Página 9 de 28 70
Vire à esquerda
Registro
Vire à Esquerda
Coordenador
Lidar com solicitações de nome WRC
Avançar
Avançar
Para trás
Gerar solicitações
Registro
Parede
Obstáculo
Tabela 1 Veículo Ackermann baseado em WRC como estudo de caso. Lista de descrições de funcionalidade, solicitações a serem geradas, solicitações a serem tratadas e os nomes WRC 
correspondentes
Vire à direita
sensores de imidade e regras de controle
Vire à direita
Lidar com solicitações para realizar ações de direção por meio de seu atuador e regras de controle
Journal of Intelligent & Robotic Systems (2022) 104: 70
Siga uma parede a certa distância gerando solicitações de acordo com seus dados de prox
Direção
Registro
Registro
registro de solicitação para redirecionar a mensagem de solicitação 
com o endereço MAC do(s) WRC(s) que pode tratar a solicitação; ou 
quando é uma mensagem Ack recebida do WRC que tratou da 
solicitação, o Coordenador verifica o registro de solicitações permitidas 
para recuperar o ID do remetente da solicitação e então transmite 
uma mensagem Ack para a WRC correspondente.
Um robô móvel acionado por Ackermann, desenvolvido aqui como 
um estudo de caso da implementação do framework de 
desenvolvimento baseado em modelo, executa a tarefa de seguir a 
parede enquanto evita obstáculos em um ambiente semelhante a um 
escritório. Na primeira fase do framework, os WRCs necessários para 
montar o sistema robótico são defnidos através da análise da 
plataforma móvel com rodas, do ambiente e das funções necessárias 
para realizar a tarefa atribuída (Tabela 1).
pelo desenvolvedor, para descrever cada WRC como um módulo em 
um CPN hierárquico.
Para uma prioridade menor, o Steering WRC compara os IDs atuais 
e anteriores; o sinal de controle é atualizado para o pedido com o 
mesmo ID, caso contrário, permanece (pedido nulo).
fluxo de procedimento. Quando é uma mensagem de registro, o 
coordenador atribui um número de identificação ao remetente do 
WRC, registra os dados do WRC e gera uma mensagem de resposta 
de registro que inclui o número de identificação; quando é uma 
mensagem Request, o Coordenador verifica o ID do remetente WRC e sua
Por exemplo, a Fig. 7 mostra o diagrama de atividades UML do 
Coordenador, onde os métodos de classe de software, como rx(), 
classificarMsg(), checkID(), checkAllowedRequest() e tx(), entre 
outros, são representados por os nós de atividade e os nós de 
controle de fluxo. A operação Coordenador inicia quando recebe uma 
mensagem e seu tipo é identificado para decidir a
O diagrama de atividades UML do Steering WRC descreve seu 
fluxo de operações (Fig. 8), onde os nós de atividade e os nós de 
controle de fluxo representam os métodos de classe de software, 
como generateRegisterMsg(), tx(), classificarMsg(), rx(), getID() e 
outros. O funcionamento do Steering WRC inicia-se quando gera e 
transmite uma mensagem de Registo ao Coordenador, que lhe 
fornece um número de identificaçãoatravés de uma mensagem de 
Registo de Resposta. Quando uma mensagem respondida é recebida, 
o Steering WRC registra seu número de identificação. Depois de 
receber uma mensagem de solicitação, o Steering WRC verifica o ID 
do remetente e seu registro de solicitação permitido e, em seguida, 
transmite uma mensagem de confirmação ao Coordenador e executa 
uma verificação de prioridade de solicitação. Se a prioridade atual for 
maior que a prioridade de solicitação anterior, o Steering WRC gera 
o sinal de controle apropriado para o atuador de direção.
As WRCs defnidas são identificadas como Direcção, Tracção, Seguir 
Paredes, Evitar Obstáculos e Coordenador (Fig. 1). Os diagramas 
gerais UML da arquitetura WRC são então customizados, resultando 
em uma classe de software Coordinator e quatro classes de software 
WRC (Fig. 2). O diagrama de seqüência UML personalizado descreve 
a interação de mensagens entre os WRCs (Fig. 6). Um tipo de 
mensagem de confirmação (Ack) é incluído para fornecer 
sincronicidade no modelo CPN executável. Os diagramas de 
atividades UML descrevem as operações inerentes de cada WRC 
que compõem o robô móvel.
1 3
7 Robô Móvel como Estudo de Caso
Machine Translated by Google
É necessário definir os conjuntos de cores e variáveis que irão 
compô-los no modelo CPN hierárquico, pois o comportamento do robô 
surge pela interação WRC através das mensagens, cujos dados são 
representados no diagrama de seqüência UML customizado. Na 
aplicação CPN Tools, as mensagens são representadas pelo conjunto 
de cores PACKET que é composto pelo produto de dezoito conjuntos 
de cores INT (Fig. 10). O conjunto de cores INT compreende um único 
número inteiro. Cada valor vinculado às variáveis do tipo INT, tem seu 
significado correspondente no protocolo ad hoc para comunicar as 
requisições WRCs através do Coordenador. Quatro tipos de mensagens 
são representados: Register, Register Reply, Request e Ack. O 
conjunto de cores PACKET possui dezoito variáveis do tipo INT 
relacionadas (Par1, Par2, i1, … i5, j1, … j5, n1, … n5, Par6), que são 
usadas para compor e analisar as mensagens no modelo CPN.
No entanto, não há locais com expressões de inicialização definidas 
para armazenar os dados WRC para gerar a mensagem de registro; 
há conjuntos de cores que precisam ser especificados para análise 
posterior, que precisam ser uma composição de conjuntos de cores 
(por exemplo, PACKET). Além disso, algumas transições precisam ser 
alimentadas com novos tipos de cores e requerem guardas e 
expressões de arco de saída para realizar a operação indicada. 
Finalmente, os CPNs fundamentais precisam de interfaces de entrada/
saída para se comunicar entre eles.
cal modelo CPN no aplicativo CPN Tools. Além disso, o desenvolvedor 
especifica e declara novos tipos de cores no
A terceira fase aborda essas questões. O desenvolvedor converte 
os CPNs fundamentais em módulos de uma hierarquia
A mensagem Register contém dados sobre o remetente
inscrição; adiciona locais e estruturas de rede para criar e manter os 
novos tipos de cores a serem consumidos pelas transições; adiciona 
guardas de transição e expressões de arco para obter a operação e 
os resultados apropriados; e também adiciona interfaces de entrada/
saída para transmitir/receber mensagens entre os módulos CPN.A Figura 9 mostra o CPN fundamental gerado a partir do diagrama de 
atividades UML do Coordenador.
Na segunda fase, os elementos de cada diagrama de atividades 
UML, como nós de atividade, nós de controle de fluxo, arestas e 
instruções de guarda, são traduzidos para elementos CPN como 
transições, lugares, arcos e expressões de arco, entre outros.
WRC: A Unidade de Comunicação MAC (64b Addr), o
Os CPNs fundamentais fornecem a estrutura básica de módulos e 
visualização do tipo de cor (tipo de dados) consumido pelas transições 
(operações). Em cada CPN fundamental, há um lugar (P1) com 1ÿe 
como expressão de inicialização.
1 3
Journal of Intelligent & Robotic Systems (2022) 104: 70
Fig. 6 Diagrama de sequência UML personalizado da arquitetura WRC
70 Página 10 de 28
Machine Translated by Google
e interfaces de entrada/saída, entre outras, são representadas na 
cor vermelha. Por exemplo, as expressões de arco, traduzidas das 
instruções de guarda do diagrama de atividades UML, são usadas 
para liderar o desenvolvimento de expressões CPN ML, que permitem 
executar a condição correspondente de acordo com a definição de 
variáveis e conjuntos de cores no simulador.
As Figuras 11–12 mostram os módulos CPN para o Coordenador 
e o Steering WRC, respectivamente. Os elementos CPN adicionados 
pelo desenvolvedor, como guardas de transição, inscrições de arco,
endereço PAN atribuído (16b Addr), os pedidos que podem tratar 
(RF1-RF5), os pedidos que podem gerar (RQ1-RQ5), as prioridades 
de pedidos correspondentes (PR1-PR5) e o valor do terminador 
(Term=233) . A mensagem Register Reply contém os endereços 64b 
e 16b do WRC registrado, o ID atribuído (ID) e o terminador 
(Term=233). o
O modelo CPN hierárquico completo da arquitetura WRC 
customizada é estruturado em um conjunto de módulos con
não concorda com a abordagem proposta da WRC. Os módulos 
CPN podem interagir através de interfaces (portas de entrada e 
saída) com um mecanismo de estruturação hierárquica que captura 
diferentes níveis de abstração do sistema robótico [28]. Os módulos 
CPN envolvem os atributos gerais do diagrama de classes UML (Fig. 
2). Os atributos das classes de software são instanciados em 
elementos do módulo CPN que descreve cada WRC, como os 
endereços MAC e PAN, os Requests, as prioridades dos Requests e 
os Requests a serem tratados no Steering WRC (Fig. 12). A marcação 
inicial desses locais conforma os dados WRC, que são utilizados 
para gerar as mensagens de registro que são enviadas pelas WRCs. 
O Coordenador
A mensagem de solicitação consiste no endereço do remetente 64b, 
a solicitação que o remetente requer (Request), um parâmetro 
complementar (Par), a prioridade da solicitação (Prio), seu número 
de ID (ID) e o terminador (Term =255). A mensagem Ack inclui os 
mesmos dados que o Request, mas o valor do terminador é diferente 
(Term=244). A Tabela 2 mostra o significado das requisições 
numéricas (RQ) no protocolo ad hoc da arquitetura WRC. As 
requisições numéricas e os parâmetros complementares são 
utilizados nas mensagens de requisição geradas pelos modelos 
CPN, e nos WRCs embarcados que compõem os robôs implementados.
1 3
Página 11 de 28 70
Fig. 7 Diagrama de atividades UML 
para representar o fluxo de operações 
do Coordenador
Journal of Intelligent & Robotic Systems (2022) 104: 70
Machine Translated by Google
Uma vez definida a composição do conjunto de cores da mensagem 
e os dados do registro, outros elementos devem ser definidos, como 
inscrições de arco, expressões de guarda de transição e elementos 
adicionais (porexemplo, lugares, transições, arcos e inscrições de 
arco) para alimentar os dados do registro como entrada para as transições.
recebe, cria listas e registra esses dados, que também são armazenados 
nos elementos place correspondentes do módulo CPN. A Tabela 3 
mostra a marcação inicial (atributos) que são instanciados como dados 
numéricos para cada módulo CPN. este
Na primeira etapa, os WRCs necessários para implementar um robô 
móvel são modelados em um simulador CPN, enquanto o
Os elementos mais signifcativos adicionados ao módulo Coordinator, 
como inscrições de arco de saída e guardas de transição, são descritos 
resumidamente na Tabela 4; enquanto os elementos mais significativos 
adicionados ao módulo Steering WRC estão descritos na Tabela 5. A 
Figura 13 mostra os módulos que representam as WRCs no modelo 
CPN hierárquico, utilizado para simular o sistema robótico baseado em 
WRC.
Esta entrada de dados é utilizada para verificar as mensagens, gerar 
listas, gravar em determinados locais, ou controlar o fluxo de operação 
dos módulos CPN, entre outras operações complementares para 
construir o modelo executável. As portas de entrada e saída, utilizadas 
para comunicar mensagens entre os módulos CPN, são denominadas 
como buffers de recepção ou transmissão ou de acordo com os dados 
de entrada/saída.
a marcação inicial compreende as especificações funcionais WRC no 
modelo CPN hierárquico do robô autônomo.
O esquema para validar um projeto de robô móvel baseado na 
arquitetura WRC possui três etapas: (1) modelo CPN conectado a uma 
simulação do robô e ambiente, (2) modelo CPN vinculado a uma 
plataforma móvel escrava e (3) arquitetura WRC implementação em 
um protótipo de robô móvel para realizar a tarefa atribuída. O 
desenvolvimento dessas etapas progressivas a partir da simulação 
computacional, da simulação HIL e da implementação do protótipo do 
sistema robótico, permite a integração de parâmetros, como 
desempenho WRC, ruído do sensor, tempo de resposta do atuador, 
entre outros, que dificilmente podem ser capturado por apenas um 
deles.
Os locais que contêm os dados de registro têm tipos de conjuntos 
de cores atribuídos com base no conjunto de cores INT. Por exemplo, 
os locais que contêm os dados Addr de 64 bits e Addr de 16 bits são 
tipos de conjuntos de cores INT, com marcação inicial vinculada a 
valores inteiros em vez de valores alfanuméricos para simplificar o modelo CPN.
1 3
70 Página 12 de 28
Fig. 8 Diagrama de atividade UML para representar o fluxo de operações do WRC de Direção
Journal of Intelligent & Robotic Systems (2022) 104: 70
8 Esquema de Validação
Machine Translated by Google
para o segundo passo. O software instanciado pelo 
modelo executável no simulador CPN controla sem fio o HIL
a simulação do robô e do ambiente é modelada em uma 
plataforma de programação de uso geral. A simulação 
robô-ambiente transmite dados para o modelo WRC que 
os processa e retorna os comandos apropriados para o
robô simulado. Uma plataforma móvel escrava substitui a 
simulação do robô para avaliar o modelo CPN no ambiente
1 3
Journal of Intelligent & Robotic Systems (2022) 104: 70 Página 13 de 28 70
Fig. 9 CPN fundamental para representar o fluxo de operações do Coordenador
Machine Translated by Google
foi criado usando o simulador CPN Tools versão 4.0.1.
o simulador de ferramentas CPN (http://cpntools.org/2018/01/16/
Um aplicativo de comunicação TCP/USB foi programado em 
Java versão 1.8.0_144 usando a biblioteca Comms-CPN (http://
cpntools.org/2018/01/09/comms-cpn) [77] e a biblioteca Java 
RXTX, versão 2-2-20.081.207 Windows-×64 (http://fzzed.com/
oss/rxtx-for-java) comunicar-se com
e testar a operação e interação dos WRCs através da simulação, 
da simulação HIL e da implementação do robô móvel.
Duas morfologias baseadas em um Coordenador, com um e 
quatro veículos autônomos, foram modeladas através da 
metodologia de desenvolvimento proposta. Um robô Ackermann 
e três robôs diferenciais realizaram as tarefas de seguir paredes 
e explorar, respectivamente. Ambas as morfologias foram 
montadas para validar a implementação da arquitetura WRC 
onde os modelos UML e CPN serviram para descrever
robô escravo. Por fim, a terceira fase é a implementação 
completa baseada em modelo de software nos WRCs 
embarcados, construindo o protótipo do robô móvel para avaliar 
a arquitetura modular proposta no ambiente durante a execução 
da tarefa atribuída.
O modelo CPN hierárquico da arquitetura WRC
1 3
9 Implementação Experimental
Vire à direita
Para módulo
download), através de uma porta USB do PC. A comunicação TCP/IP entre o CPN 
Tools e o aplicativo TCP/USB foi configurada para localhost e porta 9000. Dois 
transceptores de rádio XBee S2, montados em placas adaptadoras USB, foram usados 
para comunicar o aplicativo TCP/USB e o ambiente do robô simulação. O aplicativo de 
simulação de robô e ambiente foi programado no Matlab Release 2015a, utilizando uma 
biblioteca de porta serial para comunicação via porta USB a 9600 bauds. Todos os 
aplicativos são executados em uma estação de trabalho Dell Precision T7610, com dois 
processadores Intel Xeon E5-2630, 2,60 GHz, 32 G de RAM, disco rígido de 4 TB e 
Windows 10
Não usado
Virar %
Tração
1
3
70 Página 14 de 28
Parâmetro 
complementar
Direção
Tração
Solicitar
5
Fig. 10 O conjunto de cores PACKET é usado para representar os tipos de mensagens na arquitetura WRC personalizada. As mensagens são baseadas em variáveis inteiras. NU não 
é usado com 255 como valor
Direção
Velocidade %
0
Virar %
Pare
Vire a esquerda
Para trás
Tabela 2 Lista de solicitações numéricas e parâmetros complementares utilizados no 
modelo CPN
Tração
2
Não usado
4
Journal of Intelligent & Robotic Systems (2022) 104: 70
Direção
Velocidade %Avançar
Não.
Centro
Machine Translated by Google
http://cpntools.org/2018/01/16/download
http://cpntools.org/2018/01/09/comms-cpn
http://fizzed.com/oss/rxtx-for-java
http://cpntools.org/2018/01/16/download
O atuador do Traction WRC era um motor de 12 V DC
controlado através de um acionador de motor em ponte H e acoplado 
mecanicamente às rodas traseiras de uma plataforma Ackermann.
O atuador Steering WRC era um servomotor TP-S3003
64 bits. Os WRCs foram montados no comercial Ackermann
e plataformas diferenciais (Fig. 14).
o frmware pertinente baseado nos modelos UML e CPN, usando o 
compilador C 4.12. A plataforma Ackermann tem 0,5 m de comprimento, 
0,4 m de largura e rodas com 0,16 m de diâmetro.Para o robô Ackermann, cada WRC físico foi construído em uma 
placa genérica de desenvolvimento próprio, baseada no microcontrolador 
de 16 bits PIC24FJ64GB-004, como unidade de processamento, um 
rádio transceptor XBee-PRO S2 como unidade de comunicação sem fio, 
e o sensor/atuador correspondente para as funções de tração, direção, 
seguimento de parede e evitar obstáculos. Os microcontroladores foram 
programados com
Duas baterias LiFe recarregáveis de9,9 V a 4500 mAh fornecem 
diferentes níveis de tensão através de um barramento de força.
1 3
Fig. 11 Módulo Coordenador CPN criado no aplicativo CPN Tools com base 
em seu CPN fundamental. Os elementos CPN na cor vermelha foram 
adicionados pelo desenvolvedor para obter um modelo executável que pode
Página 15 de 28 70
registrar e analisar dados de registro, analisar e gerar mensagens e receber e 
transmitir mensagens entre os módulos CPN que representam as WRCs
Journal of Intelligent & Robotic Systems (2022) 104: 70
Machine Translated by Google
b
uma
1 3
Journal of Intelligent & Robotic Systems (2022) 104: 70
(INT)a 
1'(32.001) 
1'(32.002) 
1'(32.006) 
1'(32.007)Obs. Av.
(INT, INT, INT, INT, INT)
Os endereços 64b e 16b são instanciados como numéricos em vez de alfanuméricos
70 Página 16 de 28
Prioridade das solicitações
(INT, INT, INT, INT, INT) 1'(255, 
255, 255, 255, 255) 1'(255, 255, 
255, 255, 255) 1'(0, 1, 2, 4, 255) 
1'(0, 1, 2, 3, 5)
Módulo
1'(255, 255, 255, 255, 255)
O módulo de prevenção de obstáculos tem inicialmente todos os valores de prioridade vinculados a zero e muda durante a simulação
CPN
Fig. 12 Módulo Steering CPN criado no aplicativo CPN Tools baseado no CPN fundamental Steering. Os elementos CPN na cor vermelha foram adicionados pelo desenvolvedor 
para obter um modelo executável
(INT)a 
1'(15.001) 
1'(15.002) 
1'(15.006) 
1'(15.007)
Direção
Tabela 3 Marcação inicial de locais com dados cadastrais nos módulos CPN
1'(255, 255, 255, 255, 255)
16b Endereço
Folclore de Parede. 1'(60, 60, 60, 255, 255)
64b Endereço
Tração
Pedidos (a exigir)
(INT, INT, INT, INT, INT) 1'(0, 1, 
2, 255, 255) 1'(3, 4, 5, 255, 255) 
1'(255.255.255.255.255) 
1'(255.255.255.255.255)
1'(0, 0, 0, 0, 0)b
Solicitações para lidar
Machine Translated by Google
Verifique se há solicitações permitidas para o ID
({Idq =Id,Addr =Par1,ToReq =j5})
Nome da transição
WRC que pode lidar com a solicitação, a partir do Requests to Handle Records (Regs), e o limita ao local Par1 para passar pela mensagem de solicitação para P6 Registros (Regqs)
,n3,n4,n5),Par6) mais vazio
aGuards são expressões booleanas CPN ML (avaliam verdadeiro ou falso) e são usados para testes em variáveis de inscrição de arco de entrada ou valores restritos de variáveis de inscrição de arco de saída
,n3,n4,n5),Par6) mais vazio
A solicitação numérica (Par2) e o ID do remetente (n1) são encontrados em
criar os registros de i1 a i5, para cada WRC registrado, no local Request to Handle Records
ID+1
,(n1.255.255.255.255), Par6)
crie os registros de j1 a j5, para cada WRC registrado, no local de Registros de Solicitações Permitidas. Crie os Registros de Solicitações Permitidas. Cinco arcos de saída são usados para
A solicitação numérica (Par2) é encontrada na variável Act do
Atribuir ID e registrar dados WRC
,n3,n4,n5),Par6) mais vazio
IDs de memória n1
Variáveis ToReq e Idq, respectivamente, das Solicitações Permitidaspara o terminador de mensagem (Par6), ele passa pelo arco para P4
A solicitação numérica (Par2) é encontrada na variável ToReq do
para o terminador de mensagem (Par6), ele passa pelo arco para P7
Aumente o número de ID (Id) no local New ID
({Idx =Id,Addr =Par1,Act =i1}) (#ToReq Regqs) =Par2
Verificar ID
O ID do remetente (n1) da mensagem de solicitação é encontrado na lista de IDs (Ids)Classifique as mensagens de solicitação. Se a mensagem contiver um valor de 255, Classifique as mensagens de confirmação. Se a mensagem contiver um valor 244 vinculado a mensagens Classify Register. Se a mensagem contiver um limite de valor 233 Modifique a mensagem de solicitação. Obtém o endereço MAC (Addr) do
Inscrição do arco de saída se Par6 =255 então 1`(Par1, Par2, (i1,i2,i3,i4,i5), (j1,j2,j3,j4,j5), (n1,n2
O número de ID (n1) é encontrado na variável Idq do Allowed
({Idq =Id,Addr =Par1,ToReq =j1}) Id::Id
Crie as solicitações para lidar com registros. Cinco arcos de saída são usados para
Tabela 4 Lista das inscrições de arco de saída mais signifcativas e guardas adicionados pelo desenvolvedor no módulo coordenador CPN
Guarda
Solicitações para lidar com registros (Regs)
se Par6 =244 então 1`(Par1, Par2, (i1,i2,i3,i4,i5), (j1,j2,j3,j4,j5), (n1,n2
Decisão 1 Gerar mensagem de solicitação para o WRC correspondente ((#Addr Regs),Par2, (i1.255.255.255.255), (j1.255.255.255.255) Gerar mensagem de solicitação para o WRC correspondente (#Act Regs) =Par2
Adicione o novo ID (Id) à lista de IDs (Ids) no local Lista de IDs
Registros de solicitações permitidas (Regqs)
Se Par6 =233 então 1`(Par1,Par2, (i1,i2,i3,i4,i5), (j1,j2,j3,j4,j5), (n1,n2 (#ToReq Regqs) =Par2 e também (#Idq Regqs) =n1
Nome da transição Gerar mensagem de confirmação para o WRC correspondente (#Idq Regqs) = n1
({Idx =Id,Addr =Par1,Act =i5})
Teste isso
Registros de Solicitações (Regqs)
Costumava ser
Verifique se há solicitações permitidas
o terminador de mensagem (Par6), ele passa pelo arco para P10
1 3
Journal of Intelligent & Robotic Systems (2022) 104: 70 Página 17 de 28 70
Machine Translated by Google
Para o primeiro robô diferencial, implementado em uma 
plataforma de 0,44 m de diâmetro e 0,5 m de altura, foram 
construídos mais dois WRCs. O Diferencial Driving WRC usa um 
microcontrolador Propeller de 8 núcleos como unidade de 
processamento, com um rádio transceptor XBee-PRO S2 e um 
controlador de motor DHB-10 Dual H-Bridge para controlar dois 
motores DC (esquerdo e direito). O Exploring WRC consiste em 
uma placa Arduino Mega 2560 como unidade de processamento, 
um rádio transceptor XBee-PRO S2 e um sensor rangefnder 
LIDAR-Lite V1 montado em uma estrutura de 2 DOF com um 
motor de passo (pan) e um servomotor (tilt) na plataforma diferencial. Dois 12 V 7 Ah recarregáveis
WRC diferencial e um WRC Explorador montado em plataformas 
retangulares de alumínio de 0,12 m×0,90 m×0,10 m.
acoplado às rodas dianteiras. O Obstacle Avoiding WRC era 
composto por dois sensores ultrassônicos PING de 40 kHz 
localizados na parte frontal esquerda e direita do veículo. O Wall 
Follow WRC também foi desenvolvido usando dois sensores 
ultrassônicos PING de 40 kHz localizados no lado direito do 
veículo em ângulos de 90o e 45o para rastrear a parede.
O segundo e terceiro robôs diferenciais têm um Dif
Os WRCs Diferenciais consistem em uma placa Arduino Mega 
como unidade de processamento, conectada a dois servo motores 
para controlar o movimento diferencial, e um rádio transceptor 
XBee-PRO S2. Os Exploring WRCs também consistem em uma 
placa Arduino Mega como unidade de processamento e um 
transceptor de rádio XBee-PRO S2. O segundo Exploring WRC é 
implementado com um servo motor que aciona um sensor 
ultrassônico PING na frente do robô. O terceiro Exploring WRC 
possui três sensores ultrassônicos PING localizados na frente do 
robô a cada 45 graus. Powerbanks USB 5 V 10/5 Ah fornecem 
energia para esses robôs baseados em WRC. Por fim, o 
Coordenador foi montado utilizando um microprocessador RCM 4110com um
baterias e banco de baterias USB 5 V 5 Ah fornecem energia aos 
WRCs.
1 3
Verifique MAC Addr e solicitações permitidas add64=Par1 andalso (#Req AllReqRec)=Par2 A mensagem de solicitação tem um valor vinculado a Par1
Decisão 1
se Par6=255 então 1`(Par1,Par2,(i1,i2,i3,i4,i5), 
(j1,j2,j3,j4,j5),(n1,n2,n3,n4,n5), Par6) mais vazio
n2,n3,n4,n5), 233)
({Idq=Id,Req=i1})
Classificar mensagens de registro. Se a mensagem contiver um 
valor 233 vinculado ao terminador de mensagem (Par6), ela 
passará pelo arco de saída para P5
if j1lastPrio then 1`(Par2, i1,j1,n1) else vazio Verifica a prioridade do pedido. Se a prioridade da requisição atual (j1) for maior 
que a prioridade da última requisição (lastPrio) então os 
dados da requisição (Par2, i1,j1,n1) passam pelo arco para 
P11
Decisão 3
Crie o registro de solicitações permitidas. Cinco saídas
Registros do WRC
Gerar mensagem de registro. A nova mensagem é composta 
pelos endereços 64b e 16b, requisições a tratar, requisições 
a requerer, suas prioridades correspondentes e termo=233 e 
passa pelo arco até P2
Costumava ser
se n1 lastId então 1'e mais vazio
Tabela 5 Lista das inscrições de arco de saída mais signifcativas e proteções adicionadas pelo desenvolvedor no Módulo CPN do WRC de Direção
Verifique a identificação. Se o ID do remetente atual (n1) 
for igual ao último ID do remetente (lastId), os dados da 
solicitação (Par2, i1,j1,n1) passarão para o arco para P11
Guarda
Par1=adicionar64 e também Par2=adicionar16
Decisão 2
Inscrição do arco de saída 
se Par6=233 então 1`(Par1,Par2,(i1,i2,i3,i4,i5), 
(j1,j2,j3,j4,j5),(n1,n2,n3,n4,n5) , Par6) mais vazio
Criar registro de solicitações permitidas
(addr64,addr16,(i1,i2,i3,i4,i5), (j1,j2,j3,j4,j5),(n1,
Teste isso
variável igual ao endereço 64b do Steering
Classifique as mensagens de solicitação. Se a mensagem 
contiver um valor 255 vinculado ao terminador de mensagem 
(Par6), ela passa pelo arco de saída para P7
A variável Par2 é encontrada na solicitação permitida
({Idq=Id,Req=i5})
vazio
Verifique a prioridade da solicitação. Se a prioridade da 
solicitação atual (j1) for menor ou igual à prioridade da 
última solicitação (lastPrio), os dados da solicitação 
(Par2, i1,j1,n1) passarão para o arco para P12
Journal of Intelligent & Robotic Systems (2022) 104: 70
se n1=lastId então 1`(Par2, i1,j1,n1) senão vazio
arcos são usados para criar o registro, de i1 a i5, no local 
Allowed Request Record
Obter ID
Nome da transição
Verifique a identificação. Se o ID do remetente atual (n1) for 
diferente do último ID do remetente (lastId), uma unidade e 
passará pelo arco para P13
Gerar msg de registro
Os endereços 64 e 16 são iguais aos valores vinculados a 
Par1 e Par2 da mensagem Register
Nome da transição
Machine Translated by Google
O Wall Follow WRC recupera o controle do comportamento do robô 
simulado.
Os sistemas robóticos baseados em WRC foram testados através 
das etapas de validação, registrando os dados experimentais de 
cada WRC. Foi simulada uma tarefa de seguimento de parede, HIL 
simulada com um robô escravo e realizada pelo robô móvel 
Ackermann. O cenário era uma parede perimetral oval com colunas 
salientes como obstáculos em um corredor de escritório. A restrição 
da tarefa foi preservar 0,5 m da distância entre o veículo e a 
parede, evitando o obstáculo. Na fase de simulação, a trajetória 
percorrida pelo robô é traçada com marcas azuis, iniciadas no 
ponto S (Fig. 15). The Wall Follow WRC gerou pedidos de 
conversão à direita e à esquerda para perseguir a distância de 
separação da parede. Quando o Obstacle Avoiding WRC detectou 
cada coluna, gerando vários pedidos de conversão à esquerda 
para contornar o obstáculo. Depois de O protótipo do robô começou no ponto S (Fig. 18), gerando o 
caminho percorrido (círculos azuis) que mantinha uma distância
rádio transceptor XBee-PRO S2, programado em linguagem 
Dynamic-C, e transportado pela plataforma Ackermann.
A Figura 16 mostra a trajetória resultante para a fase de 
simulação HIL. O aplicativo CPN reuniu os dados dos sensores 
das WRCs de Seguimento de Paredes e Evitação de Obstáculos 
para gerar os comandos de controle dos atuadores das WRCs de 
Direção e Tração. Nesta trajetória, o modelo CPN seguiu a parede 
curva com comportamento semelhante ao robô e simulação do 
ambiente.
O protótipo do robô Ackermann executou a tarefa de parede 
seguinte em uma parede perimetral oval com um obstáculo B, 
instalada em uma quadra pavimentada com área de 28 m×14 m 
(Fig. 17). Para analisar o desempenho do veículo um Position 
Tracking WRC, baseado em um receptor GPS com antena de alta 
sensibilidade, registrava a posição do veículo e um Comunicador 
registrava as solicitações de cada WRC, que ligava o sistema 
robótico a um laptop usando dois pares de longa distância. modems 
de rádio de alcance. Além disso, o aplicativo CPN também realizou 
a simulação do robô móvel neste segundo cenário.
Página 19 de 28 70
Fig. 13 Vista parcial do modelo CPN hierárquico representando os módulos: direção, tração, seguimento de parede, evitar obstáculos e uma rede baseada em Xbee
Journal of Intelligent & Robotic Systems (2022) 104: 70
10 Resultados e Avaliação
1 3
Machine Translated by Google
1 3
Fig. 14 Autonomous Acker 
mann (a) e primeiro (b), segundo 
(c) e terceiro (d) veículos 
diferenciais desenvolvidos e 
construídos com base na arquitetura WRC
Uma visão parcial do módulo CPN Wall Follower e a trajetória do veículo 
Ackermann são representadas enquanto ambos estão interagindo
Journal of Intelligent & Robotic Systems (2022) 104: 70
Fig. 15 A etapa de simulação modelo-robô-ambiente é mostrada em execução. 
Três GUIs são mostradas: simulação do modelo CPN, aplicativo Communication 
Socket-USB e simulação do ambiente do robô. de 0,5 m da parede e resultou em 
um lapso de tempo de 114 s, que apresentou comportamento semelhante ao da trajetória simulada
70 Página 20 de 28
Machine Translated by Google
(quadrados pretos), completando a tarefa de seguir a parede 
evitando o obstáculo B através dos pedidos correspondentes.
A Figura 19 mostra o intervalo entre o 40º e o 60º segundos 
das solicitações geradas pelo WRC Wall Following (verde) e 
WRC Obstacle Avoiding (azul). Dentro
1 3
Página 21 de 28 70
Fig. 16 Simulação HIL com o veículo Ackermann. A trajetória resultante mostra as solicitações de conversão à direita (azul) e à esquerda (vermelho) geradas para 
evitar a coluna A
Journal of Intelligent & Robotic Systems (2022) 104: 70
Machine Translated by Google
pedido com uma prioridade maior (70%) do que as prioridades 
do pedido anterior (60%) da WRC de Seguimento de Paredes. 
Assim, o Steering WRC efectuou este pedido e os dois seguintes 
pedidos de conversão à esquerda gerados pelo Obstacle 
Avoiding WRC até ao 53º segundo, uma vez que

Mais conteúdos dessa disciplina