{"id":1421,"date":"2015-01-19T15:24:31","date_gmt":"2015-01-19T14:24:31","guid":{"rendered":"http:\/\/www.generationrobots.com\/blog\/?p=1421"},"modified":"2023-03-29T12:16:55","modified_gmt":"2023-03-29T10:16:55","slug":"generation-robots-help-baxter-robot-detects-users-thanks-to-motorised-kinect-head-mount","status":"publish","type":"post","link":"https:\/\/www.generationrobots.com\/blog\/en\/generation-robots-help-baxter-robot-detects-users-thanks-to-motorised-kinect-head-mount\/","title":{"rendered":"Generation Robots helps Baxter robot to detect users, thanks to motorized Kinect head mount"},"content":{"rendered":"\n<html>\n <body>\n  <p>\n   In order to make Baxter robot\u00a0even more collaborative, the\n   <a class=\"catalogue\" href=\"\/en\/content\/141-grlab-engineering-department-specialized-in-mobile-robotics-ros\" title=\" GRLAB - engineering department specialized in mobile robotics &amp; ROS\">\n    GR Lab\n   <\/a>\n   , Generation Robots\u2019 engineering team, decided to fit upon it the most famous depth measuring sensor: The Kinect camera. There is nothing more natural for\u00a0a collaborative robot than to directly interact with someone, if he instantly detects this person in its surroundings.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n   \n   <figure class=\"wp-block-image size-large\">\n    <img fetchpriority=\"high\" decoding=\"async\" width=\"450\" height=\"317\" data-id=\"1424\" alt=\"Collaborative Baxter robot head mount with a motorised Kinect depth camera sensor\" class=\"wp-image-1424\" src=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/casque-1.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/casque-1.jpg 450w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/casque-1-300x211.jpg 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/>\n   <\/figure>\n   \n   \n   <figure class=\"wp-block-image size-large\">\n    <img decoding=\"async\" width=\"450\" height=\"300\" data-id=\"1416\" alt=\"Collaborative Baxter robot head mount with a motorised Kinect depth camera sensor\" class=\"wp-image-1416\" src=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/casque-2.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/casque-2.jpg 450w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/casque-2-300x200.jpg 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/>\n   <\/figure>\n   \n  <\/figure>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-why-embed-a-kinect-camera-and-why-feature-it-on-baxter-robot-s-head\">\n   Why embed a Kinect camera and why feature it on Baxter robot&rsquo;s\u00a0head?\n  <\/h2>\n  \n  \n  <p>\n   Thanks to the Kinect camera and\n   <a class=\"catalogue\" href=\"http:\/\/wiki.ros.org\/openni_tracker\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"the ROS Openni tracker package\">\n    the ROS Openni tracker package\n   <\/a>\n   (\n   <a class=\"catalogue\" href=\"http:\/\/wiki.ros.org\/openni_tracker\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"ROS Openni tracker package\">\n    http:\/\/wiki.ros.org\/openni_tracker\n   <\/a>\n   ) the potential operators are detected within an area. There was a question as to where and\u00a0how to fit the Kinect camera. The main criteria regarding the camera position is its viewing angle. The camera should have been able to observe its environment without any obstacles\u00a0hindering Baxter robot\u00a0movements.\n  <\/p>\n  \n  \n  <p>\n   So Baxter\u2019s head came as the best position possible for the Kinect camera. A head mount replacing Baxter collaborative robot\u2019s one was thus designed and 3D printed. This head mount is compatible with both Kinect V1 but also Kinect for Windows 8 (V2).\n  <\/p>\n  \n  \n  <figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n   \n   <figure class=\"wp-block-image size-large\">\n    <img decoding=\"async\" width=\"450\" height=\"241\" data-id=\"1417\" alt=\"Kinect Depth camera sensor v1 and its support for Baxter robot motorised head mount\" class=\"wp-image-1417\" src=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv1.1.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv1.1.jpg 450w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv1.1-300x161.jpg 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/>\n   <\/figure>\n   \n   \n   <figure class=\"wp-block-image size-large\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"1464\" height=\"732\" data-id=\"1419\" alt=\"Kinect Depth camera sensor v2 and its support for Baxter robot motorised head mount\" class=\"wp-image-1419\" src=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv2.1.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv2.1.jpg 1464w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv2.1-300x150.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv2.1-1024x512.jpg 1024w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv2.1-624x312.jpg 624w\" sizes=\"(max-width: 1464px) 100vw, 1464px\" \/>\n   <\/figure>\n   \n  <\/figure>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-consideration-on-the-way-to-control-the-tilt-angle-of-the-kinect-camera\">\n   Consideration on the way to control the tilt angle of the Kinect camera\n  <\/h2>\n  \n  \n  <p>\n   In order to make the human-robot interaction more effective our engineering team decided to control the Kinect tilt angle. The goal was that once Baxter identified a potential operator, the\u00a0camera must follow this operator and not lose this operator anymore. All of this in order to have the human-robot interaction as functional as possible.\n  <\/p>\n  \n  \n  <p>\n   The control of the Kinect tilt angle has been made possible thanks to\n   <a class=\"catalogue\" href=\"\/en\/401076-dynamixel-ax-18-a-actuator-robotis.html\" title=\"Dynamixel AX-18A Actuator\">\n    a Dynamixel AX-18A servomotor\n   <\/a>\n   whose position has been anticipated on Baxter new head mount.\u00a0We adjusted the tilt of the Kinect camera to the operator\u2019s height using the\n   <a class=\"catalogue\" href=\"https:\/\/github.com\/HumaRobotics\/dynamixel_hr\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"ROS-compatible and Python Dynamixel library by HumaRobotics and Generation Robots\">\n    ROS-compatible and Python Dynamixel library\n   <\/a>\n   .\n  <\/p>\n  \n  \n  <figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n   \n   <figure class=\"wp-block-image size-large\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"229\" data-id=\"1420\" alt=\"Views of the Kinect Depth camera sensor v2 and its support for Baxter robot motorised head mount\" class=\"wp-image-1420\" src=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/kinectv2.2.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/kinectv2.2.jpg 450w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/kinectv2.2-300x153.jpg 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/>\n   <\/figure>\n   \n   \n   <figure class=\"wp-block-image size-large\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"229\" data-id=\"1418\" alt=\"Views of the Kinect Depth camera sensor v1 and its support for Baxter robot motorised head mount\" class=\"wp-image-1418\" src=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv1.2.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv1.2.jpg 450w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2015\/01\/Kinectv1.2-300x153.jpg 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/>\n   <\/figure>\n   \n  <\/figure>\n  \n  \n  <p>\n   You can download below the STL Files:\n  <\/p>\n  \n  \n  <ol class=\"wp-block-list\">\n   \n   <li>\n    <a class=\"catalogue\" href=\"\/media\/Fichiers_STL_Chapeau_Baxter\/kinect_head.STL\" title=\"STL files for motorised Kinect head mount\">\n     Head mount STL file\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a class=\"catalogue\" href=\"\/media\/Fichiers_STL_Chapeau_Baxter\/Support_Kinect.STL\" title=\"STL files for motorised Kinect head mount support\">\n     Support for the head mount STL file\n    <\/a>\n   <\/li>\n   \n  <\/ol>\n  \n  \n  <p>\n   Products available on Generation Robots\u2019 website to create your own motorized head mount:\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    <a href=\"\/en\/401514-baxter-robot-research-prototype.html\" title=\"Baxter Research Robot\">\n     Baxter Research Robot\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a href=\"\/en\/401076-dynamixel-ax-18-a-actuator-robotis.html\" title=\"Dynamixel AX-18A Actuator\">\n     Dynamixel AX-18A Actuator\n    <\/a>\n   <\/li>\n   \n  <\/ul>\n  \n <\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>In order to make Baxter robot\u00a0even more collaborative, the GR Lab , Generation Robots\u2019 engineering team, decided to fit upon it the most famous depth measuring sensor: The Kinect camera. There is nothing more natural for\u00a0a collaborative robot than to directly interact with someone, if he instantly detects this person in its surroundings. Why embed[&#8230;]<br \/> <a class=\"button\" href=\"https:\/\/www.generationrobots.com\/blog\/en\/generation-robots-help-baxter-robot-detects-users-thanks-to-motorised-kinect-head-mount\/\" style=\"float:right;\">Read this article &gt;&gt;<\/a><\/p>\n","protected":false},"author":188,"featured_media":1446,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10535],"tags":[],"class_list":["post-1421","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides-and-tutorials"],"_links":{"self":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/1421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/users\/188"}],"replies":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/comments?post=1421"}],"version-history":[{"count":28,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/1421\/revisions"}],"predecessor-version":[{"id":12300,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/1421\/revisions\/12300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media\/1446"}],"wp:attachment":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media?parent=1421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/categories?post=1421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/tags?post=1421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}