Robôs Autómatos - Sistema de Mecos Autómatos Realizado por: Armando Cavaleiro 27615 Tiago Roque 28255 Universidade de Aveiro Sistemas de Tempo Real Abordagens - Performance e organização do sistema como um todo. - Meco mestre, o foreman. - Planeamento do caminho e controlo da velocidade. - Tarefas do Sistema. - Problemas/Soluções no escalonamento. - Conclusões. Universidade de Aveiro Sistemas de Tempo Real 1 Organização do Sistema - Sistema dividido em dois níveis de controlo: Controlo Global - Robôt líder, o “foreman”. Controlo Local - Robôts slaves, os RSMs. - O foreman localiza cada RSMs subordinado, decide as rotas a percorrer, comunica os pontos de destino e controla a performance do sistema. - Os RSMs desempenham apenas tarefas locais e não sabem da existência uns dos outros. Universidade de Aveiro Sistemas de Tempo Real 2 O foreman - Unidade Mãe - Processamento central (Windows CE). - Unidade de Alimentação - Baterias 12V e conversores DC-DC. - Unidade de Comunicação - Comunica os pontos de destino e ordens aos RSMs. - Unidade de Sonar - 24 sensores que cobrem 360º para detecção de obstáculos até 7,25m. - Unidade de Motor - Motores que movimentam os mecos. - Unidade de Localização - Um laser com 32m de alcance para detectar e localizar os vários RSMs. - Unidade Sensor - Um microprocessador, 4 encoders e um giroscópio. Serve para o foreman saber a sua localização. Universidade de Aveiro Sistemas de Tempo Real 3 Planeamento da Trajectória O foreman: - Executa o sonar determinando a distância dos objectos. - Calcula a velocidade e trajectória em função destes dados. - A velocidade do foreman depende da distância máxima a que são detectados os objectos e a velocidade de aquisição e processamento dos dados do sonar. Zona 1 Zona 2 Zona 1’’ Zona 1’ Zona 2’’ Dmáx Universidade de Aveiro Sistemas de Tempo Real 4 Planeamento da Trajectória Os RSMs: - Recebem os pontos para os quais se devem deslocar, através do foreman. - Calculam localmente a trajectória a seguir. - As suas posições são controladas continuamente pelo foreman. O foreman usa um algoritmo preditivo para prever a trajectória de cada RSM, e controlar as suas posições. O foreman precisa de saber onde é que cada RSM vai estar no próximo período de amostragem e com que velocidade é que este se deslocou de modo a permitir o cálculo do erro cometido, que é usado para correcção das próximas localizações. Os algoritmo de predição é usado pelo foreman porque os RSMs não sabem onde estão a cada momento, uma vez que estes não possuem qualquer mecanismo de localização. Universidade de Aveiro Sistemas de Tempo Real 5 Tarefas do Sistema Detecção de Objectos e Controlo de Velocidade - 24 tarefas que fazem o “ping” dos sensores de detecção de obstáculos. - 24 tarefas que recebem o sinal proveniente dos sensores. - 1 tarefa de planeamento de trajectória e controlo de velocidade. Detecção e Controlo dos RSM - Scanning dos RSM. - Detecção. - Predição das posições dos RSM. - Planeamento. - Envio da informação para os RSMs. Universidade de Aveiro Sistemas de Tempo Real 6 Problemas no escalonamento - Problemas surgem devido à sobrecarga de operações: - Executar um scan com os 24 sensores. - Detectar obstáculos. - Calcular as trajectórias/velocidade. - Enviar os pontos de destino aos RSMs. - Monitorizar a localização de cada RSMs. - Monitorizar a performance do sistema. Universidade de Aveiro Sistemas de Tempo Real 7 Problemas no escalonamento Devido ao elevado número de tarefas que o sistema possui, em ambientes com um grande número de obstáculos ou sistemas com muitos RSM, podemos obter condições de sobrecarga. O tempo de execução do algoritmo de predição é determinístico, uma vez que é composto por um número finito de instruções de cálculo. O cálculo é feito para cada RMS. A utilização do processador por esta tarefa é dada por: WCET (nRMS ) L WCET- Tempo máximo de execução da tarefa (3.8ms x n) ρL – Período de Scanning Universidade de Aveiro Sistemas de Tempo Real 8 Problemas no escalonamento Deste facto pode-se depreender que: - Para um aumento da precisão de localização dos RSMs teremos uma diminuição do período de scaning que conduz a um aumento de utilização do processador. - Para o aumento do número de RSMs teremos um aumento do WCET que conduz também a um aumento de utilização do processador. Soluções: - Reduzir a velocidade do foreman. - Reduzir o número de RSMs subordinados ao foreman. - Reduzir a exactidão de posicionamento exigido para os RSMs. Universidade de Aveiro Sistemas de Tempo Real 9 Conclusão - Sistemas que possuam um grande número de tarefas são propícios a terem condições de sobrecarga. O projecto do sistema deverá contemplar, portanto, as condições de pior caso. - Deve existir sempre um compromisso entre as grandezas que queremos obter. Neste caso específico, não é possível obtermos a velocidade máxima do foreman e a melhor precisão possível para a localização dos RSM, devido ao facto de levar a uma sobrecarga do sistema. - Sistema tipicamente de tempo-real. Tarefas como a leitura dos sonares, posicionamento dos RSM devem ser feitas dentro de um intervalo de tempo tal, que permita obter valores válidos e em tempo util. Universidade de Aveiro Sistemas de Tempo Real 10 Bibliografia • Alaapos Qadi Goddard, S. Jiangyang Huang Farritor, S., “A performance and schedulability analysis of na autonomous mobile robor”, Proceedings of the 17th Euromicro Conference on Real-Time Systems, 2005