Cognitive robotics and social robotics are related, but distinct fields within robotics. Cognitive robotics is focused on creating robots that can perform tasks that require advanced perception, reasoning, and decision-making abilities. These tasks may include recognizing objects, understanding natural language, learning from experience, and making predictions about the future. Cognitive robots are designed to be able to process and analyze large amounts of data, and to make decisions based on that data. Social robotics, on the other hand, is focused on creating robots that can interact and communicate with humans in a natural and effective way. Social robots are designed to be able to understand and respond to human emotions, social cues, and body language. They are also designed to be able to generate expressive and natural-sounding speech and gestures. Social robots are intended to be used in a variety of applications, such as customer service, education, and healthcare. Both cognitive and social robotics requires the use of advanced technologies such as machine learning, computer vision, and natural language processing. However, cognitive robotics is more focused on the robot’s ability to process information and make decisions, while social robotics is more focused on the robot’s ability to interact with humans.
Cognitive and social robotics enables the development of robots that can work in collaboration with human workers, improving the overall safety and performance of the workplace. Moreover, cognitive and social robotics enables the creation of robots that are able to interact with their environment and make decisions based on their perceptions, providing the opportunity for greater flexibility and autonomy in the production process. Cognitive and social robotics is becoming increasingly important in industrial production for several reasons. The ability to use robots in a way that leverages their cognitive and social capabilities can have a profound impact on industrial production. By enabling robots to work in a more collaborative and adaptive manner, it becomes possible to reduce the time and effort required to perform tasks, improve product quality and reliability, and minimize the impact of machine downtime and failure. For example, in a manufacturing setting, robots equipped with cognitive abilities can monitor production processes in real-time, identify potential problems, and make decisions to address those problems before they lead to equipment failures or production slowdowns. Additionally, social robots can interact with human workers in a production environment, providing assistance with tasks, monitoring worker safety, and collecting data that can be used to improve production processes.
This course unit covers 100 hours, from which 28 hours lectures, 14 hours lab work, and 58 hours individual study and work.
Specific Objectives / Learning Outcomes
The specific objectives or learning outcomes of this course unit are:
- Understanding the concepts and principles of cognitive and social robotics, and their applications in industrial production.
- Acquiring knowledge of the various sensing, perception, and decision-making capabilities of cognitive and social robots, and their impact on industrial production.
- Developing skills in programming, controlling, and integrating cognitive and social robots into industrial production processes.
- Familiarizing with the latest technologies and trends in cognitive and social robotics for industrial production, including IoT, cloud computing, and machine learning.
- Applying the knowledge and skills gained from the course to real-world industrial production problems, through hands-on laboratory work, projects, and case studies.
- Evaluating the potential benefits and challenges of integrating cognitive and social robots into industrial production processes, and proposing solutions to overcome these challenges.
- Developing a critical perspective on the ethical, social, and economic implications of cognitive and social robotics for industrial production.
Alignment to Social and Economic Expectations
Unit 1: Cognitive Robotics (2 hours)
- Definition and principles of cognitive robotics
- Techniques and algorithms used in cognitive robotics (e.g., machine learning, computer vision, natural language processing)
- Applications of cognitive robotics in industry
Unit 2: Social Robotics (2 hours)
- Definition and principles of social robotics
- Techniques used in social robotics (e.g., human-robot interaction, emotional intelligence)
- Applications of social robotics in industry
Unit 3: Human-Robot Interaction (2 hours)
- Human factors in robot design
- Techniques for human-robot interaction (e.g., gesture recognition, speech recognition)
- Ethics and safety in human-robot interaction
Unit 4: Introduction to Nao and Pepper Robots (2 hours)
- Overview of the hardware and software of Nao and Pepper robots
- Basic programming concepts for Nao and Pepper robots
- Applications of Nao and Pepper robots in industry and research
Unit 5: Nao and Pepper Programming (2 hours)
- Basic programming with Nao and Pepper robots
- Choregraphe, Python, Java and QiChat programming for Nao and Pepper robots
- Motion and gesture control with Nao and Pepper robots
Unit 6: Chatbots (2 hours)
- Overview of chatbots and their history
- Techniques used in chatbot development (e.g., rule-based systems, machine learning)
- Applications of chatbots in industry and customer service
Unit 7: Chatbot Development (2 hours)
- Basic programming for chatbots (e.g., RASA and Python)
- Natural language processing for chatbots
- Integration of chatbots with other technologies (e.g., voice assistants, messaging platforms)
Unit 8: Introduction to Furhat Robot (2 hours)
- Overview of the hardware and software of the Furhat robot
- Basic programming concepts for the Furhat robot
- Applications of the Furhat robot in industry and research
Unit 9: Furhat Programming (2 hours)
- Basic programming with the Furhat robot
- Motion and gesture control with the Furhat robot
- Voice and speech recognition with the Furhat robot
Unit 10: Social Robotics in Manufacturing (2 hours)
- Overview of Industry 4.0 and its impact on manufacturing
- Role of social robots in smart factories
- Case studies and applications of social robots in manufacturing
Unit 11: Cognitive Robotics in Maintenance (2 hours)
- Maintenance tasks and their challenges
- Role of cognitive robots in predictive maintenance
- Case studies and applications of cognitive robots in maintenance
Unit 12: Advanced Topics in Cognitive Robotics (2 hours)
- Reinforcement learning and decision-making in cognitive robotics
- Explainable AI and transparency in cognitive robotics
- Integration of cognitive robotics with other technologies (e.g., IoT, AR/VR)
Unit 13: Advanced Topics in Social Robotics (2 hours)
- Emotion recognition and expression in social robotics
- Social and ethical implications of social robotics
- Integration of social robotics with other technologies (e.g., VR, smart homes)
Unit 14: Future Trends and Challenges in Robotics (2 hours)
- Emerging trends and technologies in robotics (e.g., swarm robotics, bio-inspired robotics)
- Challenges and opportunities in robotics research and development
- Implications and ethical considerations for the future of robotics
Unit 1: Architecture of Social Robots (2 hours of class work)
Objective: To introduce students to the architecture, software settings, remote monitoring, and specialized libraries of Nao, Pepper, and Furhat social robots.
- Architecture of Nao and Pepper robots.
- Architecture of Furhat robots.
- Software settings for Nao and Pepper robots.
- Software settings for Furhat robots.
- Remote monitoring.
- Specialized libraries.
Unit 2: ”Programming” Nao and Pepper Robots with Choregraphe Objects (2 hours of class work and 5 hours of individual work)
Objective: To develop a comprehensive understanding of the Choregraphe objects and the programming concepts involved in developing an application using Choregraphe.
- User interface in Choregraphe.
- Object boxes.
- Creating and editing boxes.
- Creating behaviours.
- Application development in Choregraphe.
- Testing various Choregraphe boxes.
Unit 3: Programming Nao Robots with Python in Choregraphe (2 hours of class work and 5 hours of individual work)
Objective: To develop complex applications with Nao and Pepper robots using Python and Choregraphe environment.
- Creating code in Python boxes.
- Creating an app from scratch.
Unit 4: Programming Nao Robots with Python via API (2 hours of class work and 5 hours of individual work)
Objective: To develop complex applications for gesturing, face recognition, TTS/STT, movement, etc.
- Basic client-server aplications.
- Applications with environment perception.
- Creating new functions.
- Creating brokers and modules.
- Qi framework Python API.
Unit 5: Interactive Robot-Human Dialog using QiChat and Python for Nao Robots (2 hours of class work and 5 hours of individual work)
Objective: To create advanced dialogues between the robot and humans using a specialized language.
- QiChat: basic elements (will be studied in advance by students).
- QiChat sintax (will be studied in advance by students).
- QiChat examples.
- Python in QiChat.
- QiChat in Python.
Unit 6: Design CobiotX* Applications with Pepper Robots (2 hours class of work and 5 hours of individual work)
Objective: To create a basic application with Pepper to interact with humans.
- Install Pepper SDK for Android plug-in and Java QiSDK library.
- Creating a robot application with Java or Kotlin.
- Running an application on the Pepper’s tablet.
Note: The Pepper SDK for Android is a software development kit for programming applications for the Pepper robot, which is a humanoid robot designed for human interaction. The SDK allows developers to create custom applications for the robot using the Java programming language and the Android operating system. With the Pepper SDK for Android, developers can access the robot’s various sensors and actuators, such as its cameras, microphones, speakers, and touch sensors, to create applications that allow the robot to interact with its environment and with people. The SDK also provides access to the robot’s natural language processing and speech recognition capabilities, enabling developers to create conversational interfaces for the robot.
Kotlin is a statically typed, cross-platform, general-purpose programming language that was designed to be fully interoperable with Java. Kotlin was designed to address some of the limitations and verbosity of Java, and provides a more concise and expressive syntax for building software. At the same time, it is fully compatible with Java and can be used in the same codebase as Java, making it an easy transition for Java developers. This allows developers to write cleaner, more concise code and take advantage of new language features and enhancements, while still being able to use existing Java code libraries and tools.
Unit 7: Developing Advanced Application with Pepper Robots (2 hours of class work and 5 hours of individual work)
Objective: To use advanced tools and QiSDK API for creating autonomous abilities for the Pepper robot.
- Preparing the working tools (will be studied in advance by students).
- Creating an application for autonomous behavior, motion, and conversation.
- Creating an application for perceptions and knowledge.
* CobiotX: Co – collaboration between robots and humans; Bio – life, emotion, sustainability; Bot – technology, automation and efficiency; IoT – connection, exchange and perception; X – diversity, versatility and Xperience
Design a smart chatbot (20 hours of individual work)
Objective: To design a chatbot using Python, NLP models, and the RASA framework that can assist workers on the job, and provide relevant and efficient information to them in real time.
- Introduction to chatbots and their use in the workplace.
- Overview of the RASA framework and its features.
- Setting up a development environment for the chatbot.
- Understanding NLP models and their use in chatbots.
- Implementing a basic chatbot using Python and RASA.
- Integrating NLP models into the chatbot to enhance its capabilities.
- Training the chatbot on a dataset specific to the job requirements.
- Evaluating the performance of the chatbot and fine-tuning it as needed.
- Deploying the chatbot for use by workers on the job.
- Hands-on exercises and projects reinforce the concepts learned in class.
The students will work on the chatbot individually and will be required to submit a final project at the end of the semester. The aim is to provide students with hands-on experience in designing and building a chatbot that can be used in real-world scenarios to assist workers on the job.
Design an application with the Furhat robot (optional: 8 hours of additional teamwork in the lab)
Objective: To design an application with the Furhat robot to improve the experience of new employees in a manufacturing enterprise. The aim is to create an interactive training program using the Furhat’s conversational interface to introduce new employees to the production process, company culture and rules, safety procedures, and provide hands-on training. The goal is to enhance the learning experience by making it more engaging, interactive, and personalized, while also collecting feedback from the trainees to further improve the program.
Note: Furhat robot is an AI-powered conversational interface designed to simulate human interaction and help people communicate with technology. The Furhat robot features a screen that displays a human-like face, which can be animated and customized to create realistic conversations with users. It’s typically used in applications where people need to interact with technology in a more natural way.
Use case: A manufacturing enterprise wants to improve new employees’ experience by implementing a conversational interface using the Furhat robot. The application is the robot to interact with the new employees and introduce them to the production process, company culture and rules, safety procedures, and deliver an interactive training program for new employees in the manufacturing company. The program will use the Furhat robot’s face to display various expressions and emotions to create a more engaging and interactive learning experience. The robot would be programmed to ask questions and provide feedback to the trainees, helping them to better understand the processes and procedures involved in the manufacturing process. The trainees could also ask questions and receive answers from the robot, providing a more interactive and hands-on approach to their training.. This could be a highly engaging and interactive way for new employees to learn about the company and their role in it, as well as a cost-effective alternative to traditional training methods. Additionally, the robot could collect feedback from the new employees.
To run the activity for this course unit, students will have the possibility to work in our labs with the following technologies:
- Several Aldebaran technologies (4 Nao Robots, 2 Pepper robots)
- Furhat robot
- Computers to run various programming languages
- Industrial robots connected to the cloud with video perception (ABB, Kuka, Dobo Magician)
- Autonomous mobile platforms