{"id":13651,"date":"2018-10-19T08:00:35","date_gmt":"2018-10-19T06:00:35","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=13651"},"modified":"2024-06-20T07:31:24","modified_gmt":"2024-06-20T05:31:24","slug":"when-pepper-met-android","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/","title":{"rendered":"When Pepper met Android"},"content":{"rendered":"<p>Since its commercial launch about two years ago, Pepper the Robot has conquered so diverse\u00a0spaces around the globe that a day passing by without Pepper in the press is becoming unusual. These humanoid robots developed by Softbank Robotics and programmed by an ecosystem of partners from all around Europe welcome guests, answer questions, help find the way through facilities and locate products, inform, assist, make reservations, take orders in restaurants and entertain the young and the elderly, to mention some real use-cases currently out there. Each Pepper is programmed with its own personality (<em>robotality<\/em>?) and a different set of abilities for a specific use-case.<!--more--><\/p>\n<p>Designed to make the <a href=\"https:\/\/www.inovex.de\/blog\/affective-robots-emotionally-intelligent-machines\/\">interaction with human beings as natural and intuitive as possible<\/a>, humans can communicate with Pepper through (almost) natural language, who also does the same, supported by human-like gestures, and by looking the person in the eye and following them with the gaze. It also has abilities to analyse facial expressions and voice tones, which can be used for best contextual understanding and for adapting its behavior to the situation.<\/p>\n<p>While Pepper, both as a platform and individually, still have a lot to learn and their performance not always please everybody, they&#8217;re improving day by day.<\/p>\n<p><em>What&#8217;s new with Pepper? It looks just the same.\u00a0<\/em><em>True. But you know, it&#8217;s the inside that counts!<\/em><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#What-has-changed\" >What has changed?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Lets-talk-about-the-Operating-System\" >Let&#8217;s talk about the Operating System<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Lets-talk-about-the-IDE\" >Let&#8217;s talk about the IDE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Lets-get-started\" >Let&#8217;s get started<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Lets-talk-about-the-SDK\" >Let&#8217;s talk about the SDK<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Lets-see-some-Java-Code\" >Let&#8217;s see some (Java) Code<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Lets-see-Pepper-in-action\" >Let&#8217;s see Pepper in action!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What-has-changed\"><\/span>What has changed?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The core has entirely changed. The way how Pepper is programmed, in terms of programming languages, IDE and APIs and has in every respect changed. Some abilities have changed: a few are new while others have been improved, like the interactive experience and the speech recognition. All in all, certainly a lot has changed.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lets-talk-about-the-Operating-System\"><\/span>Let&#8217;s talk about the Operating System<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As announced at the Google I\/O 2016, and finally released end of June this year, Android is now powering Pepper.<\/p>\n<p>The humanoid robot incorporates a tablet on its chest.\u00a0In previous versions, this tablet was used as a display, to support and enrich the interaction in both ways, and was fully controlled by the &#8222;head&#8220; or main processor. Now, the tablet acquires a major role, being in control of the whole body from its applications. While the head continues to run the proprietary NaoQi OS (based on linux) as it always has, it now receives the instructions from the focused app running on the tablet, GMS (Google Market Suite) certified, and currently running Android 6.0 on its quad-core ARM. It is therefore programmed with Android, using Java or Kotlin as for mobile apps to control the whole robot by means of a service in the background communicating both. At the same time, this also means applications for Pepper based on the old SDKs (python, C++) will no longer be supported after upgrading the OS of the robot to 2.9.<\/p>\n<p>Having said that, because of the position of Android in the mobile OS market and the size of its community, this promising architectural change opens plenty of new ways and possibilities besides solving previous issues of the platform. It aims to target a broader number of potential developers and likewise intends to promote the development of software for the robots, enabling a smooth combination of robot-intrinsic actions with the power of any other available services and libraries, for instance deep-learning based capabilities and integration of NLP (Natural Language Processing) tools to build more complex applications.<\/p>\n<p>Moreover, the resource management has greatly improved, giving the developer high control of the robot resources in use at any given time. This way, conflicts and undesired behaviour caused by several actions trying to run simultaneously on the same resources, previously a recurring issue, are now prevented.<\/p>\n<p><em>If the tablet is controlling the robot, what happens with the microphones and speakers?\u00a0\u00a0<\/em>With regard to the audio resources, these have been unified: the tablet redirects its audio output to the head to be outputted through the robot speakers and the head redirects its audio input to the tablet to be processed.<\/p>\n<p>Another noteworthy fact, related to security: it has finally been addressed seriously, solving known severe vulnerabilities of the platform such as unauthenticated remote control or privilege escalation. This is a decisive step to increment trust in their robots, partially lost after the release some months ago of several security assessments showing these kind of vulnerabilities.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lets-talk-about-the-IDE\"><\/span>Let&#8217;s talk about the IDE<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Pepper will no longer be programmed using Softbank Robotics&#8216; tool &#8222;Choregraphe&#8220;. Instead, <a href=\"https:\/\/developer.android.com\/studio\/\" target=\"_blank\" rel=\"noopener\">Android Studio<\/a> comes into play. Thanks to a Plugin, which allows a seamless integration of Pepper-specific tools in Android Studio, the development, testing and debugging experience is much more comfortable than it used to be.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13676\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.07.03-300x224.png\" alt=\"Pepper plugin for Android Studio\" width=\"599\" height=\"448\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>These include tools already known to those familiar with Pepper development, such as a virtual robot emulating both the tablet and the body, a robot browser to be able to connect to your Peppers via wifi and an animation editor, among others.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-13672 \" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10.png\" alt=\"Screenshots of the components of pepper's new SDK\" width=\"603\" height=\"317\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10.png 2374w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-300x158.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-1024x539.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-768x404.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-1536x809.png 1536w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-2048x1078.png 2048w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-1920x1011.png 1920w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-400x211.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Screen-Shot-2018-08-14-at-14.00.10-360x190.png 360w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/p>\n<p>Particularly the testing and debugging parts of the development process of a Pepper application used to be kind of tricky so far, having the software often distributed in several software components, namely the logic in python, a dialog based on a QiChat topic, part of a Choregraphe behavior and javascript code running on websites shown on the tablet, all of them communicating asynchronously. This pain is now gone, as all components of the app belong together and so can they be comfortably tested and debugged on Android Studio both manually or using automated testing. (yay!)<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lets-get-started\"><\/span>Let&#8217;s get started<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In the following, a quick overview of the necessary steps to build an app for the humanoid robot:<\/p>\n<ol>\n<li>Install Android Studio and the Android SDK<\/li>\n<li>Get Pepper SDK Plugin for Android Studio<\/li>\n<li>Install the Qi SDK<\/li>\n<li>Create a new project in Android Studio<\/li>\n<li>Create a robot application<\/li>\n<\/ol>\n<p>For the full Getting Started guide, visit the <a href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch1_gettingstarted\/getting_started.html\">official documentation<\/a>.<\/p>\n<p>After understanding how the robot lifecycle works, in parallel to the Android Activity Lifecycle, you can have your Android app control the robot using the SDK. Keep in mind that any mobile app will run on Pepper&#8217;s tablet (whether it makes sense is another story) but this doesn&#8217;t work both ways, meaning robot apps will only run on a real robot and on the robot simulator.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lets-talk-about-the-SDK\"><\/span>Let&#8217;s talk about the SDK<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The SDK provides mechanisms to enforce safety of robot control and scoped execution i.e. to control the robot, an application requires the &#8218;focus&#8216;, which can be owned by just one app at a time, that must be running in the foreground. Once the focus has been gained, it is also guaranteed that no other app or background services will be able to interrupt the control of the robot.<\/p>\n<p>The API is conveniently built using a consistent usage pattern across all features, as well as a unified start and stop pattern and error handling, which makes its use quite intuitive.<\/p>\n<p>Regarding multitasking and asynchronicity, for most of the actions sync and async flavors of every method are provided, as well as chaining operations mechanisms.<\/p>\n<p>The actions of the current\u00a0<a href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/api.html\">API<\/a>\u00a0(v3, released on 29th of June 2018) are grouped into the following 5 categories:<\/p>\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/perception\/index_perception.html\">Perceptions: <\/a>to control the focus on humans and retrieve characteristics such as the human face picture, the estimated age and gender, the estimated basic emotion of the human (based on\u00a0facial features, voice intonation, touch and speech semantics), the\u00a0excitement state (based on voice and movements), the attention state (based on the head orientation, and the gaze direction) and the\u00a0engagement intention state (based on\u00a0trajectory, speed, head orientation). It is also possible to make Pepper focus on a particular human and manually control which human must be engaged following a specific engagement strategy.<\/li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/conversation\/index_conversation.html\">Conversation:<\/a>\u00a0to make the robot chat with humans\u00a0by interrogating one or several chatbots, either based on QiChat or using any other framework e.g.Dialogflow, Botfuel or Microsoft Bot Framework. The use of multiple chatbots is now supported since, although most people intuitively think that the robot can answer to anything, no chatbot can actually understand and give a good answer for every possible user input. Chaining several chatbots (see picture below) that perform well in their domain should be a better approach than trying to make a unique chatbot answer to everything and re-develop every time already existing content such as Wikipedia, weather and so on.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/_images\/chat.png\" alt=\"A diagram depicting pepper's conversation workflow\" width=\"600\" height=\"309\" \/><\/p>\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/movement\/index_motion.html\">Motion:<\/a>\u00a0to control everything related to movement, not only moving around actions (trying to safely reach a target location) but also animations (execute a series of movements with the limbs and the head, or follow a predefined trajectory), localization and mapping actions, based on SLAM (Simultaneous Localization And Mapping).<\/li>\n<li class=\"toctree-l1\"><a href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/knowledge\/reference\/knowledge.html#knowledge\">Knowledge<\/a>: this module provides a knowledge base and an inference engine to build a knowledge-based system. The knowledge\u00a0service handles a graph-based database, where each knowledge graph is composed of nodes, grouped by triplets.<\/li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/abilities\/index_abilities.html\">Autonomous Abilities:<\/a>\u00a0to control the subtle robot background movements (aka. idle movements) and blink occurring autonomously in the background, in absence of interaction or other actions to be run.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Lets-see-some-Java-Code\"><\/span>Let&#8217;s see some (Java) Code<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To get an idea of how the APIs look like, find here some snippets of code for basic actions. Note that the Qi context is necessary for most of the robot actions, and is gained by the focused activity when receiving the robot focus.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Run an animation (series of movements, programmed using a timeline editor to control the actuators and saved as a resource):\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<pre class=\"lang:java decode:true\">\/\/ Create an animation object\r\n\r\nFuture&lt;Animation&gt; animation = AnimationBuilder.with(qiContext)\r\n\r\n        .withResources(animationResourceId)\r\n\r\n        .buildAsync();\r\n\r\n\/\/ Chain the composition of the animate action\r\n\r\nanimation.andThenCompose(animation1 -&gt; {\r\n\r\n    Future&lt;Animate&gt; animate = AnimateBuilder.with(qiContext)\r\n\r\n            .withAnimation(animation1)\r\n\r\n            .buildAsync();\r\n\r\n    \/\/ Add a consumer to the action execution and run the action asynchronously\r\n\r\n    animate.andThenConsume(animate1 -&gt; animate1.async().run());\r\n\r\n    return animate;\r\n\r\n});<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Start a chat (conversation action) based on a scripted QiChatbot and an extern Chatbot:<\/li>\n<li style=\"list-style-type: none;\"><\/li>\n<li style=\"list-style-type: none;\">A QiChatbot uses a topic or list of topics written in\u00a0<span class=\"std std-ref\"><a class=\"reference internal\" href=\"https:\/\/android.aldebaran.com\/sdk\/doc\/pepper-sdk\/ch4_api\/conversation\/qichat\/qichat_index.html#qichat\">QiChat Language<\/a>\u00a0and utilises<\/span>\u00a0both embedded speech recognition (works even offline) and remote speech recognition, which provides considerably better results and is necessary if you want to be able to recognize &#8222;free text&#8220;, i.e. text not defined in advance in the script, but requires internet access.<\/li>\n<li style=\"list-style-type: none;\">On the other side, DialogFlow (formerly Api.ai) owned by Google provides a natural language\u00a0user interface using machine learning.\u00a0The self-implemented DialogFlowChatbot class from this example extends the class BaseChatbot from the SDK, and overrides its methods to apply the desired logic, query the cloud service and implement the reply reactions. This can be used for any other chatbot. The conversational interface must in this case be designed through their console in the browser.\n<ul>\n<li style=\"list-style-type: none;\">\n<pre class=\"lang:java decode:true\">\/\/ Create a topic\r\n\r\nTopic mainTopic = with(qiContext).withResource(localTopicResourceId).build();\r\n\r\n\/\/ Create QiChatbot\r\n\r\nQiChatbot qichatbot = QiChatbotBuilder.with(qiContext).withTopics(mainTopic).build();\r\n\r\n\/\/ Create DialogFlow chatbot\r\n\r\nDialogflowChatbot dialogFlowChatbot = new DialogflowChatbot(qiContext, DialogFlowConfig.ACCESS_TOKEN\r\n\r\n\/\/ Create the Chat action.\r\n\r\nChat chat = ChatBuilder.with(qiContext).withChatbot(qichatbot, dialogFlowChatbot).build();\r\n\r\n\/\/ Set Chat listeners\r\n\r\nchat.addOnStartedListener(() -&gt; {\r\n\r\n    \/\/ Do something when the chat is started\r\n\r\n});\r\n\r\nchat.addOnHeardListener(phrase -&gt; i(\"The robot heard the following phrase: %s\", phrase.getText()));\r\n\r\n...\r\n\r\n\/\/ Run the Chat action asynchronously\r\n\r\nchatFuture = chat.async().run();<\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><\/h3>\n<h2><span class=\"ez-toc-section\" id=\"Lets-see-Pepper-in-action\"><\/span>Let&#8217;s see Pepper in action!<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>See one of our Peppers in action at our Cologne office.<\/p>\n<p>[youtube https:\/\/www.youtube.com\/watch?v=Ic0AM0_4Ftg&amp;w=560&amp;h=315]<\/p>\n<p>In a social robot, the interaction with humans plays a crucial role. For those of you who already knew Pepper, in this video you will appreciate how the interaction has become much more intuitive for the user just by providing better feedback about when the robot is listening or not and showing what it has understood, together with the improvement of the speech recognition engine. You can also see that by integrating and combining powerful services and sources of knowledge a lot of new use-cases for the humanoid robot become possible.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In this blog post I tried to illustrate the current development status of Pepper the robot and all recent major changes in the platform. Despite the hurdle of migration, having to fully rewrite old code and APIs that are still in the process of getting stable, we see the platform is developing in the right direction, evolving rapidly and offering new and attractive features when it comes to build specific software for the social humanoid robot.<\/p>\n<p>There is, however, still a lot to do so stay tuned to learn about further development of Pepper and get in touch if you have ideas you would like to implement with Pepper!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since its commercial launch about two years ago, Pepper the Robot has conquered so diverse\u00a0spaces around the globe that a day passing by without Pepper in the press is becoming unusual. These humanoid robots developed by Softbank Robotics and programmed by an ecosystem of partners from all around Europe welcome guests, answer questions, help find [&hellip;]<\/p>\n","protected":false},"author":57,"featured_media":14190,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[74],"service":[],"coauthors":[{"id":57,"display_name":"Silvia Santano","user_nicename":"ssantano"}],"class_list":["post-13651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-iot"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>When Pepper met Android - inovex GmbH<\/title>\n<meta name=\"description\" content=\"What&#039;s new with Pepper? It looks just the same.\u00a0True. But you know, it&#039;s the inside that counts! As announced at the Google I\/O 2016, and finally released end of June this year, Android is now powering Pepper, changing the way pepper is programmed in every way. Here are the changes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"When Pepper met Android - inovex GmbH\" \/>\n<meta property=\"og:description\" content=\"What&#039;s new with Pepper? It looks just the same.\u00a0True. But you know, it&#039;s the inside that counts! As announced at the Google I\/O 2016, and finally released end of June this year, Android is now powering Pepper, changing the way pepper is programmed in every way. Here are the changes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-19T06:00:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-20T05:31:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Silvia Santano\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android-1024x576.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Silvia Santano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Silvia Santano\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/\"},\"author\":{\"name\":\"Silvia Santano\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/f2d17a49f3a806bc6cdb4902a32a0ef9\"},\"headline\":\"When Pepper met Android\",\"datePublished\":\"2018-10-19T06:00:35+00:00\",\"dateModified\":\"2024-06-20T05:31:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/\"},\"wordCount\":1952,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/Pepper-mit-Android.jpeg\",\"keywords\":[\"IoT\"],\"articleSection\":[\"Applications\",\"English Content\",\"General\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/\",\"name\":\"When Pepper met Android - inovex GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/Pepper-mit-Android.jpeg\",\"datePublished\":\"2018-10-19T06:00:35+00:00\",\"dateModified\":\"2024-06-20T05:31:24+00:00\",\"description\":\"What's new with Pepper? It looks just the same.\u00a0True. But you know, it's the inside that counts! As announced at the Google I\\\/O 2016, and finally released end of June this year, Android is now powering Pepper, changing the way pepper is programmed in every way. Here are the changes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/Pepper-mit-Android.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/Pepper-mit-Android.jpeg\",\"width\":1280,\"height\":720,\"caption\":\"Roboter Pepper\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/when-pepper-met-android\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"When Pepper met Android\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inovexde\",\"https:\\\/\\\/x.com\\\/inovexgmbh\",\"https:\\\/\\\/www.instagram.com\\\/inovexlife\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inovex\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/f2d17a49f3a806bc6cdb4902a32a0ef9\",\"name\":\"Silvia Santano\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpegbd867eef3c3c053b3e6e1634ffac9ffc\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg\",\"caption\":\"Silvia Santano\"},\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/author\\\/ssantano\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"When Pepper met Android - inovex GmbH","description":"What's new with Pepper? It looks just the same.\u00a0True. But you know, it's the inside that counts! As announced at the Google I\/O 2016, and finally released end of June this year, Android is now powering Pepper, changing the way pepper is programmed in every way. Here are the changes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/","og_locale":"de_DE","og_type":"article","og_title":"When Pepper met Android - inovex GmbH","og_description":"What's new with Pepper? It looks just the same.\u00a0True. But you know, it's the inside that counts! As announced at the Google I\/O 2016, and finally released end of June this year, Android is now powering Pepper, changing the way pepper is programmed in every way. Here are the changes.","og_url":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2018-10-19T06:00:35+00:00","article_modified_time":"2024-06-20T05:31:24+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android.jpeg","type":"image\/jpeg"}],"author":"Silvia Santano","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android-1024x576.jpeg","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Silvia Santano","Gesch\u00e4tzte Lesezeit":"12\u00a0Minuten","Written by":"Silvia Santano"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/"},"author":{"name":"Silvia Santano","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/f2d17a49f3a806bc6cdb4902a32a0ef9"},"headline":"When Pepper met Android","datePublished":"2018-10-19T06:00:35+00:00","dateModified":"2024-06-20T05:31:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/"},"wordCount":1952,"commentCount":1,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android.jpeg","keywords":["IoT"],"articleSection":["Applications","English Content","General"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/","url":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/","name":"When Pepper met Android - inovex GmbH","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android.jpeg","datePublished":"2018-10-19T06:00:35+00:00","dateModified":"2024-06-20T05:31:24+00:00","description":"What's new with Pepper? It looks just the same.\u00a0True. But you know, it's the inside that counts! As announced at the Google I\/O 2016, and finally released end of June this year, Android is now powering Pepper, changing the way pepper is programmed in every way. Here are the changes.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android.jpeg","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/08\/Pepper-mit-Android.jpeg","width":1280,"height":720,"caption":"Roboter Pepper"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/when-pepper-met-android\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"When Pepper met Android"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/f2d17a49f3a806bc6cdb4902a32a0ef9","name":"Silvia Santano","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpegbd867eef3c3c053b3e6e1634ffac9ffc","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg","caption":"Silvia Santano"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/ssantano\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/13651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=13651"}],"version-history":[{"count":3,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/13651\/revisions"}],"predecessor-version":[{"id":54884,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/13651\/revisions\/54884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/14190"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=13651"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=13651"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=13651"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=13651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}