Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Inteligência Artificial
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
Nesta UC os estudantes aprendem a desenhar, programar e aplicar algoritmos baseados em Inteligência Artificial (IA) aplicado à robótica. A UC parte do pressuposto que os estudantes já têm conhecimentos prévios de álgebra linear, cálculo e probabilidades, assim como de desenho de algoritmos e da sua programação através de linguagens de programação de computadores avançadas (por exemplo, C, C++, C#, Java, Python).
Objetivos Gerais / Objectives
Os robôs autónomos são capazes de fazer tarefas sem a constante orientação humana. Movem-se usando sensores como por exemplo câmaras ou scanners para perceber o ambiente e tomar decisões. Inicialmente usados em eletrodomésticos (Roomba) ou brinquedos (AIBO), os recentes avanços tecnológicos tornam robôs mais acessíveis. Nesta UC, estudam-se os avanços e desafios da área. Os objetivos incluem desenvolver competências teóricas e práticas em sensores, locomoção, simulação, navegação, planeamento, controle usando inteligência artificial e sistemas com vários robôs. A parte prática permite implementar programas de controlo em simulação e testar em robot reais. Os conteúdos abordados possibilitam resolver problemas teóricos e práticos na robótica autónoma, envolvendo locomoção, deteção, localização, mapeamento, simulação e implementação de controladores com métodos de machine learning e deep learning. Este conhecimento prepara os alunos para os desafios da robótica autónoma.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
OA1- Compreender os conceitos fundamentais da robótica autónoma, incluindo princípios de controle e automação. OA2 - Demonstrar proficiência na programação e operação de plataformas robóticas. OA3 - Identificar, selecionar e integrar eficientemente diferentes sensores e atuadores utilizados em robótica autónoma. OA4 - Implementar técnicas avançadas de navegação, localização e mapeamento para permitir movimentos autónomos em ambientes dinâmicos. OA5 - Aplicar algoritmos de aprendizagem automática e deep learning para controlo de robôs. OA6 - Projetar e implementar sistemas de comunicação e cooperação entre múltiplos robôs autónomos para realizar tarefas complexas de forma coordenada. OA7 - Utilizar ferramentas de simulação para desenvolver e testar algoritmos de controle e comportamento em ambientes virtuais. OA8 - Analisar, selecionar e implementar arquiteturas de software eficientes para sistemas robóticos autónomos.
Conteúdos Programáticos / Syllabus
Os Conteúdos Programáticos (CP) desta unidade curricular cobrem os seguintes tópicos essenciais à utilização de técnicas de Inteligência Artificial na robótica: CP1 - Introdução à robótica autónoma; CP2 -Middleware para Robótica e ROS; CP3 - Sensores e atuadores; CP4 - Locomoção; CP5 - Simulação; CP6 - Robótica baseada em comportamento; CP7 - Navegação, localização e mapeamento; CP8 - Planeamento; CP9 - Aprendizagem na Robótica (machine learning e deep learning); CP10 - Sistemas multi-robôs; CP11 - Arquiteturas de software.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
Os conteúdos programáticos CP1, CP2, CP3 e CP4 visam ensinar as bases da robótica, middleware, sensores e atuadores essenciais para a compreensão do funcionamento da robótica (OA1, OA2 e OA3). Os conteúdos programáticos CP4 e CP5 visam ensinar as bases para a implementação de controladores em rôbos simulados (OA2). Os conteúdos programáticos CP6 e CP7 visam ensinar as bases dos algoritmos de navegação e controle (OA4). Os conteúdos programáticos CP8 e CP9 visam ensinar as bases dos algoritmos algoritmos de aprendizagem automática (OA5). Os conteúdos programáticos CP10 e CP11 visam ensinar os algoritmos para cooperação entre múltiplos robôs autónomos (OA6, OA7 e OA8).
Avaliação / Assessment
Avaliação ao longo do semestre: • Nota final: Projeto Prático em Grupo (PPG) (60% da nota final) + Avaliação Escrita Individual (AEI) (40% da nota final). • Projeto Prático em Grupo (PPG): desenvolvido em grupo ao longo do semestre, com demonstração de progresso semanal, entregas e discussões orais intermédias e finais; discussões orais poderão incluir uma componente de avaliação escrita individual relativa ao projeto caso o docente assim o determine; a entrega final do PPG terá de ser realizada até à data limite indicada no seu enunciado, data essa que ocorrerá exclusivamente durante a 1ª Época de Avaliação; o PPG não poderá ser entregue na 2ª Época de Avaliação; as discussões orais finais do PPG realizam-se em grupo após a entrega final, na(s) data(s) indicada(s) no seu enunciado; apesar do PPG ser desenvolvido em grupo, a nota a atribuir a cada estudante do grupo é individualizada em função da contribuição do estudante para o PPG e a prestação do estudante na discussão oral. • Avaliação Escrita Individual (AEI): 2 Mini-Testes escritos individuais realizados ao longo do semestre (50%+50% da AEI) ou 1 Teste escrito individual realizado na 2ª Época de Avaliação (100% da AEI); nota na AEI inferior a 7.5 valores (de um máximo de 20 valores) resulta em reprovação na UC. • Com excepção dos momentos de avaliação, que requerem presença obrigatória para a sua realização, não existem critérios mínimos de assiduidade. Avaliação por Exame: • Dado o caráter iminentemente prático desta UC, não existe a possibilidade de Avaliação por Exame (conforme Ponto 3 do Art. 7.º do RGACC). Melhoria de nota: • Dado o caráter iminentemente prático desta UC, não existe a possibilidade de melhoria de nota no Projeto Prático em Grupo (PPG), podendo apenas ser realizada melhoria de nota na Avaliação Escrita Individual (AEI), em conformidade com o Ponto 4 do Art. 18.º do RGACC. Época Especial: • Nota final: Projeto Prático Especial (PPE) (60% da nota final) + Teste Escrito Individual (TEI) (40% da nota final). • Projeto Prático Especial (PPE): projeto desenvolvido em grupo ou individualmente, de acordo com decisão do docente; características, entregáveis, critérios de avaliação e esforço de desenvolvimento do PPE equiparáveis ao PPG da 1ª Época de Avaliação; o enunciado do PPE poderá ser diferente do enunciado do PPG da 1ª Época de Avaliação; caso o estudante tenha obtido nota no PPG na 1ª Época de Avaliação, essa nota pode ser diretamente atribuída ao PPE; para poder realizar PPE e requerer o respetivo enunciado, o estudante terá de informar o docente dessa sua intenção, por e-mail, até 2 meses antes da data de início da Época Especial de Avaliação. • Teste Escrito Individual (TEI): teste realizado na Época Especial de Avaliação; nota no TEI inferior a 7.5 valores (de um máximo de 20 valores) resulta em reprovação na UC.
Metodologias de Ensino / Teaching methodologies
As aulas são divididas em dois módulos. O primeiro módulo engloba aulas teóricas expositivas intercaladas com aulas teórico-práticas baseadas num conjunto de fichas de trabalho. O segundo módulo é composto por aulas laboratoriais, onde os alunos serão introduzidos ao projeto prático e acompanhados no seu desenvolvimento. Como trabalho autónomo, espera-se que os alunos pesquisem e analisem literatura relevante e realizem a implementação do projeto prático.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
Esta UC exige a assimilação de vários conceitos teóricos, que são de suma importância para a compreensão e compreensão da diversificada gama de conteúdos programáticos. Consequentemente, as aulas teóricas são meticulosamente concebidas de forma a abranger e cobrir integralmente todos os objetivos de aprendizagem especificados. As aulas teórico-práticas proporcionam aos alunos um espaço para a experimentação prática e a aplicação dos conhecimentos transmitidos durante as aulas teóricas. Por exemplo, nas aulas teóricas, os alunos são apresentados e ensinados detalhadamente sobre algoritmos de inteligência artificial aplicados à robótica. Posteriormente, nas aulas teórico-práticas, os alunos têm a oportunidade de implementar estes algoritmos através de exercícios práticos e projetos, reforçando e solidificando assim a sua experiência de aprendizagem. Estes conhecimentos adquiridos são avaliados diretamente através de dois testes que os alunos têm de realizar ao longo do semestre. Estas provas têm como objetivo avaliar com rigor a compreensão e o domínio dos alunos sobre os conceitos teóricos lecionados nas aulas. Adicionalmente, estes conhecimentos são avaliados indiretamente através do projeto prático de grupo, onde se espera que os alunos apliquem os conceitos teóricos aprendidos num ambiente colaborativo e prático. Esta abordagem dupla de avaliação garante uma avaliação abrangente das habilidades e compreensão dos alunos. Na segunda metade do semestre, as aulas teórico-práticas centram-se predominantemente no acompanhamento e apoio aos projetos práticos de grupo. Este período é crucial porque garante que estes projetos são desenvolvidos de acordo com as boas práticas estabelecidas no domínio científico. Dado que os temas abordados nesta UC são frequentemente alvo de atualizações e inovações frequentes, é fundamental dotar os alunos de competências de raciocínio crítico, bem como de capacidade de pesquisa e análise de literatura técnica e científica. Este processo de aquisição de conhecimento é facilitado pela experiência prática que os alunos adquirem ao trabalhar nos seus projetos práticos. Os projetos fornecem um contexto real para os alunos aplicarem o que aprenderam, incentivando uma compreensão mais profunda e a retenção do conhecimento. Além disso, o apoio e a orientação dos professores durante o desenvolvimento desses projetos desempenham um papel significativo na melhoria da experiência de aprendizagem dos alunos. Os professores não só ajudam a resolver quaisquer dificuldades que os alunos possam encontrar, mas também fornecem ideias e conselhos sobre como abordar problemas e desafios de forma eficaz.
Observações / Observations
--
Bibliografia Principal / Main Bibliography
- Introduction to AI robotics, by Robin R. Murphy, Second Edition, The MIT Press, 2019, ISBN: 0-262-13383-0 - Probabilistic Robotics, by Dieter Fox, Sebastian Thrun and Wolfram Burgard MIT Press 2005, ISBN: 9780262201629 - Autonomous Mobile Robots, by R. Siegwart, I. Nourbakhsh, and D. Scaramuzza, Second Edition, MIT Press, 2011. - Introduction to Autonomous Mobile Robots, R. Siegwart and I. R. Nourbakhsh, The MIT Press, 2004, ISBN: 978-0262195027 - Autonomous Robots: From Biological Inspiration to Implementation and Control, George A. Bekey, The MIT Press, 2005, ISBN: 978-0262025782 - Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, D. Floreano & C. Mattiussi, MIT Press, 2008, ISBN: 9780262062718 - The robotics primer, Maja J. Mataric, Cambridge : The MIT Press, 2007, ISBN: 9780262633543
Bibliografia Secundária / Secondary Bibliography
- Evolutionary robotics, J. Bongard. Communications of the ACM 56(8): 74-85, 2013 - How The Body Shapes the Way we Think: A New View of Intelligence, R. Pfeifer & J. Bongard, MIT Press, 2007, ISBN: 9780262537421 - Probabilistic Robotics, S. Thrun, W. Burgard and D. Fox, MIT Press, 2005, ISBN: 978- 0262201629 - Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organizing Machines, S. Nolfi and D. Floreano, MIT Press, 2004, ISBN: 978-0262640565 - Design and use paradigms for Gazebo, an open-source multi-robot simulator, N. Koenig and A. Howard, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2004), pp. 2149-2154, 2004
Data da última atualização / Last Update Date
2024-07-18