== Project Topics [ [wiki:en/ProgrammingRobotsCourse/GettingWwwInfo previous part] ] [ [wiki:en/ProgrammingRobotsCourse course] ] For general project topics see [https://nlp.fi.muni.cz/trac/pepper/wiki/PepperProjectTopics PepperProjectTopics]. === Specific project topics: 1. **Robot movement:** Move according to the command - come closer to the user, follow a [http://doc.aldebaran.com/2-5/naoqi/vision/allandmarkdetection.html landmark], change focused user. 1. **Dialog about gender and face recognition:** see [http://doc.aldebaran.com/2-5/naoqi/peopleperception/alfacecharacteristics.html ALFaceCharacteristics API], [http://doc.aldebaran.com/2-5/naoqi/audio/alvoiceemotionanalysis.html ALVoiceEmotionAnalysis] and [http://doc.aldebaran.com/2-5/naoqi/core/almood.html ALMood] 1. **Dialog about learning human faces:** see [http://doc.aldebaran.com/2-5/naoqi/peopleperception/alfacedetection.html ALFaceDetection] and [http://doc.aldebaran.com/2-5/naoqi/core/alusersession.html ALUserSession] 1. **Dialog about learning object images:** see [http://doc.aldebaran.com/2-5/naoqi/vision/alvisionrecognition.html ALVisionRecognition] 1. **Dialog about object recognition from cloud:** various [https://github.com/tensorflow/models/tree/master/research/object_detection models] for general object detection are available to install and run on a GPU-available computer, i.e. not on the robot. In this dialog, the robot sends [http://doc.aldebaran.com/2-5/naoqi/vision/alvideodevice.html image from camera] to a selected object recognition installed on a computer in local network and tells the results. 1. **Game 20 questions**: see [https://en.wikipedia.org/wiki/Twenty_Questions Wikipedia], in Czech the game of "myslím si zvíře". 1. **Game Guess movie/song by sample:** play a short sample of a (Czech) movie or a (Czech) song and ask people to guess the name or interpreter 1. **Dialog about making and presenting a photo/video/sound recording:** see [http://doc.aldebaran.com/2-5/naoqi/vision/alphotocapture.html ALPhotoCapture], [http://doc.aldebaran.com/2-5/naoqi/vision/alvideorecorder.html ALVideoRecorder] and [http://doc.aldebaran.com/2-5/naoqi/audio/alaudiorecorder.html ALAudioRecorder] (may include [http://doc.aldebaran.com/2-5/naoqi/vision/albarcodereader.html ALBarcodeReader]) 1. **Dialog about robot animations:** Pepper has about [http://doc.aldebaran.com/2-5/naoqi/motion/alanimationplayer-advanced.html#animationplayer-list-behaviors-pepper 400 animations installed] which express various situations, emotions etc. In the dialog, the user should be able to ask Pepper to show any of them. Possibly can include adding special animations such as offering a hand or standing in posture for a selfie. 1. **Pepper presentator**: robot obtains presentation slides with texts and presents them to the public. Robot accompanies the presentation with gestures and allows interruptions and continuation. 1. **Dialog with free speech recognition**: the standard [http://doc.aldebaran.com/2-5/naoqi/interaction/dialog/aldialog.html ALDialog] allows recognition of only predefined words and word combinations. [https://cloud.google.com/speech-to-text/ Google Speech API] (or an [https://www.g2.com/products/google-cloud-speech-to-text/competitors/alternatives alternative]) can recognize any text, but a) it is free only for short samples, b) it imposes a delay between sending the audio over network to the service. The task here is to combine these two approaches in one application seamlessly. 1. **Dialog about celebtrities**: robot should download information from [https://autority.nkp.cz/ Czech National Authorities] portal (accessible also as [https://blog.wikimedia.cz/2020/01/773-571-osob-pod-licenci-cc-0-databaze-jmennych-autorit-narodni-knihovny-byla-integrovana-s-wikidaty/ linked data] at https://autority.wikimedia.cz), process the most frequent names and be able to discuss the information about the respective celebrities. 1. **Open Roberta Lab connector for Pepper**: [https://www.roberta-home.de/en/lab/ Open Roberta Lab] is an [https://github.com/OpenRoberta open source] environment for easy programming real and (simple) simulator robots. Open Roberta includes a connector for [http://doc.aldebaran.com/2-5/home_nao.html NAO]. As NAO and Pepper share the same [http://doc.aldebaran.com/2-5/getting_started/index.html NAOqi API], the task is to adapt the NAO connector to a Pepper connector for Open Roberta. 1. **Pepper Face Mask Detection**: Softbank has published an application for [https://github.com/softbankrobotics-labs/pepper-mask-detection/ Pepper Face Mask detection], but the application is only in Java for the Pepper's Android tablet. Due to the open source, the application should not be difficult to reimplement directly in Pepper using [http://doc.aldebaran.com/2-5/dev/tutos/create_a_new_service.html Python]. 1. **Pepper Proactive Mobility**: Softbank has published a [https://github.com/softbankrobotics-labs/pepper-proactive-mobility proactive mobility application] - Pepper goes towards people to talk to them, and returns home when nobody is around. The task here is to adapt this application to Czech and local situation. 1. **Pepper Point-At library**: Softbank has published a library for [https://github.com/softbankrobotics-labs/pepper-point-at making Pepper point at] a nearby position by running a specific animation, but the application is only in Java for the Pepper's Android tablet. Due to the open source, the application should not be difficult to reimplement directly in Pepper using [http://doc.aldebaran.com/2-5/dev/tutos/create_a_new_service.html Python]. 1. **Dialog about calendar**: Pepper should know whose name day it is near today, search for name days, including public holidays etc. 1. **General dialog via advanced language models**: Current largest generative language models such as [https://beta.openai.com/examples/default-chat GPT-3], [https://github.com/microsoft/DialoGPT DialoGPT] or [https://github.com/kingoflolz/mesh-transformer-jax/#gpt-j-6b GPT-J] are able to generate responses to human prompts (in English). The task here is to use these responses in real communication with Pepper. 1. **Infinite Craft game** with Pepper, see https://neal.fun/infinite-craft/. Implement a service which combines two words to obtain a third one. Run the game via Pepper dialog then using this service and the Pepper's tablet to construct (infinite number of) new words which are dynamically added to the robot's dialog concept. === Solved projects (may be advanced): 1. **Robot movement:** [[span(style=color: green, (Vojtěch Kubín))]] Program robot to walk with human by hand. 1. **Game of !Hangman/Šibenice** [[span(style=color: green, (Tomáš Repák))]] 1. **Game Think of a number** [[span(style=color: green, (Markéta Ševelová))]]: robot guesses the correct number, uses gestures and tablet. 1. **Dialog about recipes and ingredients** [[span(style=color: green, (Klára Petrovičová))]] 1. **Dialog about current news** [[span(style=color: green, (Michael Koudela))]]: fetch news headlines from internet (possibly via an API, e.g. [https://newsapi.org/s/czech-republic-news-api newsapi.org]) and discuss them. [https://nlp.fi.muni.cz/languageservices/ Language services] may be advantageously used here. 1. **Dialog about weather** [[span(style=color: green, (Iuliia Gurianova))]]: use an on-line weather api (e.g. [https://openweathermap.org/api openweathermap.org]) to find out and discuss weather in various places and times. [https://nlp.fi.muni.cz/languageservices/ Language services] may be advantageously used here. [[br]] [ [wiki:en/ProgrammingRobotsCourse/GettingWwwInfo previous part] ] [ [wiki:en/ProgrammingRobotsCourse course] ]