{"id":362,"date":"2015-07-26T05:46:02","date_gmt":"2015-07-26T05:46:02","guid":{"rendered":"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=362"},"modified":"2015-07-26T17:24:10","modified_gmt":"2015-07-26T17:24:10","slug":"simulation-with-ros-in-the-nootrix-virtual-machine","status":"publish","type":"post","link":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=362","title":{"rendered":"Turtlebot simulation with ROS in the Nootrix virtual machine"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-16 synved-social-resolution-single synved-social-provider-facebook nolightbox\" data-provider=\"facebook\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Facebook\" href=\"http:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362&#038;t=Turtlebot%20simulation%20with%20ROS%20in%20the%20Nootrix%20virtual%20machine&#038;s=100&#038;p&#091;url&#093;=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362&#038;p&#091;images&#093;&#091;0&#093;=http%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Fwp-content%2Fuploads%2Ftftree-300x169.png&#038;p&#091;title&#093;=Turtlebot%20simulation%20with%20ROS%20in%20the%20Nootrix%20virtual%20machine\" style=\"font-size: 0px; width:16px;height:16px;margin:0;margin-bottom:5px;margin-right:5px;\"><img loading=\"lazy\" decoding=\"async\" alt=\"Facebook\" title=\"Share on Facebook\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"16\" height=\"16\" style=\"display: inline; width:16px;height:16px; margin: 0; padding: 0; border: none; box-shadow: none;\" src=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/32x32\/facebook.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-16 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362&#038;text=Check%20this%20out%20%2F%20Mira%20esto\" style=\"font-size: 0px; width:16px;height:16px;margin:0;margin-bottom:5px;margin-right:5px;\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"16\" height=\"16\" style=\"display: inline; width:16px;height:16px; margin: 0; padding: 0; border: none; box-shadow: none;\" src=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/32x32\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-16 synved-social-resolution-single synved-social-provider-reddit nolightbox\" data-provider=\"reddit\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Reddit\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362&#038;title=Turtlebot%20simulation%20with%20ROS%20in%20the%20Nootrix%20virtual%20machine\" style=\"font-size: 0px; width:16px;height:16px;margin:0;margin-bottom:5px;margin-right:5px;\"><img loading=\"lazy\" decoding=\"async\" alt=\"reddit\" title=\"Share on Reddit\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"16\" height=\"16\" style=\"display: inline; width:16px;height:16px; margin: 0; padding: 0; border: none; box-shadow: none;\" src=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/32x32\/reddit.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-16 synved-social-resolution-single synved-social-provider-pinterest nolightbox\" data-provider=\"pinterest\" target=\"_blank\" rel=\"nofollow\" title=\"Pin it with Pinterest\" href=\"http:\/\/pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362&#038;media=http%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Fwp-content%2Fuploads%2Ftftree-300x169.png&#038;description=Turtlebot%20simulation%20with%20ROS%20in%20the%20Nootrix%20virtual%20machine\" style=\"font-size: 0px; width:16px;height:16px;margin:0;margin-bottom:5px;margin-right:5px;\"><img loading=\"lazy\" decoding=\"async\" alt=\"pinterest\" title=\"Pin it with Pinterest\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"16\" height=\"16\" style=\"display: inline; width:16px;height:16px; margin: 0; padding: 0; border: none; box-shadow: none;\" src=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/32x32\/pinterest.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-16 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362&#038;title=Turtlebot%20simulation%20with%20ROS%20in%20the%20Nootrix%20virtual%20machine\" style=\"font-size: 0px; width:16px;height:16px;margin:0;margin-bottom:5px;margin-right:5px;\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"16\" height=\"16\" style=\"display: inline; width:16px;height:16px; margin: 0; padding: 0; border: none; box-shadow: none;\" src=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/32x32\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-16 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Turtlebot%20simulation%20with%20ROS%20in%20the%20Nootrix%20virtual%20machine&#038;body=Check%20this%20out%20%2F%20Mira%20esto:%20https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F362\" style=\"font-size: 0px; width:16px;height:16px;margin:0;margin-bottom:5px;\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"16\" height=\"16\" style=\"display: inline; width:16px;height:16px; margin: 0; padding: 0; border: none; box-shadow: none;\" src=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/32x32\/mail.png\" \/><\/a><p><a id=\"spanish\"><\/a><br \/>\n<a href=\"#english\">[In English]<\/a><\/p>\n<p>Siguiendo con la idea de utilizar la <a href=\"http:\/\/nootrix.com\/2014\/09\/ros-indigo-virtual-machine\/\" target=\"_blank\">m\u00e1quina virtual de Nootrix<\/a> para Indigo 32, he estado trabajando con las opciones incluidas en ROS para simular\u00a0 el robot <a href=\"http:\/\/www.turtlebot.com\/\" target=\"_blank\">Turtlebot<\/a> usando Gazebo y rviz.<\/p>\n<p>Para lograr una visualizaci\u00f3n y teleoperaci\u00f3n b\u00e1sicas hay que ejecutar lo siguiente:<\/p>\n<ul>\n<li>Instalar todo lo que haga falta para simular el Turtlebot:\n<ul>\n<li><em>sudo apt-get install ros-indigo-turtlebot-simulator<\/em><\/li>\n<li><em>sudo apt-get install ros-indigo-turtlebot-apps<\/em><\/li>\n<li><em>sudo apt-get install ros-indigo-simulators<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Abrir un terminal y ejecutar <em>roslaunch turtlebot_gazebo turtlebot_world.launch<\/em><\/li>\n<li>Abrir otro terminal y ejecutar <em>roslaunch turtlebot_rviz_launchers view_navigation.launch<\/em><\/li>\n<li>Abrir un \u00faltimo terminal y lanzar un nodo que permita la teleoperaci\u00f3n. Yo he utilizado\u00a0<em>roslaunch kobuki_keyop keyop.launch<\/em>, ya que el funcionamiento de la otra opci\u00f3n de teleoperaci\u00f3n (<em>roslaunch turtlebot_teleop keyboard_teleop.launch<\/em>) no me queda claro.<\/li>\n<li>El resultado puede verse en <a href=\"https:\/\/www.youtube.com\/watch?v=c-ErzKztt3k\" target=\"_blank\">este v\u00eddeo<\/a>.<\/li>\n<\/ul>\n<p>Para navegar con Turtlebot y construir un mapa, se puede consultar <a href=\"http:\/\/wiki.ros.org\/turtlebot_gazebo\/Tutorials\/indigo\/Make%20a%20map%20and%20navigate%20with%20it\" target=\"_blank\">este tutorial<\/a> o <a href=\"http:\/\/learn.turtlebot.com\/2015\/02\/01\/28\/\" target=\"_blank\">este otro<\/a>. Ninguno de los dos funciona:<\/p>\n<ul>\n<li>En un terminal, se ejecuta <em>roslaunch turtlebot_gazebo turtlebot_world.launch<\/em>. Hasta ah\u00ed, todo ok.<\/li>\n<li>En otro terminal, ejecutar <em>roslaunch turtlebot_gazebo gmapping_demo.launch<\/em>. Ah\u00ed se fastidia el invento, y al cabo de unos momentos aparece el mensaje <em>[ WARN] [1437734908.414750431, 97.100000000]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information<\/em>.<\/li>\n<li>Si en un tercer terminal se lanza rviz con <em>roslaunch turtlebot_rviz_launchers view_navigation.launch<\/em>, el fixed frame por defecto es <em>map<\/em>, y el elemento map aparece en amarillo y con el mensaje <em>No map received<\/em>.<\/li>\n<li>Si se abre otro terminal para teleoperar el robot (<em>roslaunch kobuki_keyop keyop.launch<\/em>), el robot se mueve tanto en Gazebo como en rviz, pero sin mostrar las lecturas de las sensores.<\/li>\n<li>Finalmente, si en otro terminal intentamos grabar el mapa con <em>rosrun map_server map_saver -f mimapa<\/em>, el mensaje que aparece es <em>Waiting for the map<\/em>.<\/li>\n<\/ul>\n<p>Para averiguar qu\u00e9 estaba fallando, comprob\u00e9 diferentes cosas:<\/p>\n<ul>\n<li>Si el \u00e1rbol de transformadas estaba completamente conectado: <em>rosrun tf view_frames<\/em>. Aparentemente, s\u00ed lo est\u00e1.<a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-367\" src=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree-300x169.png\" alt=\"tftree\" width=\"300\" height=\"169\" srcset=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree-300x169.png 300w, https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree-1024x576.png 1024w, https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree.png 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>Hacer un <em>source<\/em> antes de cada roslaunch: <em>source \/opt\/ros\/indigo\/setup.bash\u00a0<\/em><\/li>\n<li>Comprobar el topic \/map (en el que, seg\u00fan rviz, se lee el mapa), para ver si los nodos implicados acced\u00edan a \u00e9l: <em>rqt_graph<\/em>, <em>rosnode info slam_gmapping<\/em>, <em>rosnode info rviz<\/em>. Todo bien tambi\u00e9n.<\/li>\n<li>Comprobar qu\u00e9 informaci\u00f3n se transmit\u00eda por el topic \/map. A pesar de que los nodos estaban bien conectados, al hacer <em>rosrun tf tf_echo \/map \/odom<\/em> los valores que circulaban por \u00e9l eran siempre nulos, incluso si mov\u00eda el robot con la teleoperaci\u00f3n del kobuki.<\/li>\n<\/ul>\n<p>Despu\u00e9s de buscar ayuda infructuosamente por tooooda internet ;), pens\u00e9 en instalar ROS directamente sobre mi Xubuntu 14.04, sin m\u00e1quina virtual. Lo hice, volv\u00ed a lanzar Gazebo, rviz y la teleoperaci\u00f3n del kobuki, y tach\u00e1n tach\u00e1n, apareci\u00f3 un error distinto: <em>[ERROR] [1433813576.466253926, 24.270000000]: Scan message must contain angles from -x to x, i.e. angle_min = -angle_max<\/em>. Este error me sonaba de haberlo visto reportado y resuelto en <a href=\"http:\/\/answers.ros.org\/questions\/\" target=\"_blank\">answers.ros.org<\/a>, as\u00ed que hice lo que se dec\u00eda en <a href=\"http:\/\/answers.ros.org\/question\/210849\/scan-message-must-contain-angles-from-x-to-x\/\" target=\"_blank\">esta respuesta<\/a> y consegu\u00ed hacer un mapa con gmapping.<\/p>\n<p>As\u00ed que se me ocurri\u00f3 replicar esa soluci\u00f3n en el ROS de la m\u00e1quina virtual, y esta vez s\u00ed, logr\u00e9 un hermoso mapilla virtualmente simulado \ud83d\ude42<\/p>\n<p><a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-368\" src=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki-235x300.jpg\" alt=\"mapiki\" width=\"235\" height=\"300\" srcset=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki-235x300.jpg 235w, https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki.jpg 479w\" sizes=\"(max-width: 235px) 100vw, 235px\" \/><\/a><\/p>\n<p>Digamos que he logrado la soluci\u00f3n ingenieril (funciona) pero no la cient\u00edfica (no s\u00e9 por qu\u00e9) \ud83d\ude09 Cualquier explicaci\u00f3n sobre qu\u00e9 estaba fallando ser\u00e1 bienvenida.<\/p>\n<p><a id=\"english\"><\/a><br \/>\n<a href=\"#spanish\">[En espa\u00f1ol]<\/a><\/p>\n<p>According to my idea of using the <a href=\"http:\/\/nootrix.com\/2014\/09\/ros-indigo-virtual-machine\/\" target=\"_blank\">Indigo 32 Nootrix virtual machine<\/a>, I have been checking the options included in ROS for simulating the Turtlebot robot with Gazebo and rviz.<\/p>\n<p>In order to get a basic visualization and teleoperation, you should follow these steps:<\/p>\n<ul>\n<li>First, get all the tools to simulate the Turtlebot:\n<ul>\n<li><em>sudo apt-get install ros-indigo-turtlebot-simulator<\/em><\/li>\n<li><em>sudo apt-get install ros-indigo-turtlebot-apps<\/em><\/li>\n<li><em>sudo apt-get install ros-indigo-simulators<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Open a terminal and run <em>roslaunch turtlebot_gazebo turtlebot_world.launch<\/em><\/li>\n<li>Open another terminal and run <em>roslaunch turtlebot_rviz_launchers view_navigation.launch<\/em><\/li>\n<li>Open a third terminal and launch something that lets you to teleoperate the robot. I have used\u00a0 <em>roslaunch kobuki_keyop keyop.launch<\/em>, since how the other ROS option for teleoperation works (<em>roslaunch turtlebot_teleop keyboard_teleop.launch<\/em>) is not clear to me.<\/li>\n<li>You can see the results in <a href=\"https:\/\/www.youtube.com\/watch?v=c-ErzKztt3k\" target=\"_blank\">this video<\/a>.<\/li>\n<\/ul>\n<p>If you want to navigate the Turtlebot and get a map, you have <a href=\"http:\/\/wiki.ros.org\/turtlebot_gazebo\/Tutorials\/indigo\/Make%20a%20map%20and%20navigate%20with%20it\" target=\"_blank\">this tutorial<\/a> or <a href=\"http:\/\/learn.turtlebot.com\/2015\/02\/01\/28\/\" target=\"_blank\">this other<\/a>. None of them works:<\/p>\n<ul>\n<li>Open a terminal and run <em>roslaunch turtlebot_gazebo turtlebot_world.launch<\/em>. Everything is ok.<\/li>\n<li>In other terminal, run <em>roslaunch turtlebot_gazebo gmapping_demo.launch<\/em>. This is where things go wrong and you get the message <em>[ WARN] [1437734908.414750431, 97.100000000]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information<\/em>.<\/li>\n<li>If you open a third terminal with <em>roslaunch turtlebot_rviz_launchers view_navigation.launch<\/em>, the default fixed frame is <em>map<\/em>, and the map element is shown in yellow, with the message <em>No map received<\/em>.<\/li>\n<li>If you open another terminal for teleoperation (<em>roslaunch kobuki_keyop keyop.launch<\/em>), the robot moves both in Gazebo and rviz, but it does not show the sensor readings.<\/li>\n<li>Finally, if you open another terminal and try to store the map with <em>rosrun map_server map_saver -f mimap<\/em>, you get a <em>Waiting for the map<\/em> message.<\/li>\n<\/ul>\n<p>Here is a list of all the things I tried to solve the problem:<\/p>\n<ul>\n<li>Was the transforms tree properly connected (<em>rosrun tf view_frames)<\/em>?. Apparently, it was.<a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-367\" src=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree-300x169.png\" alt=\"tftree\" width=\"300\" height=\"169\" srcset=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree-300x169.png 300w, https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree-1024x576.png 1024w, https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/tftree.png 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n<li>I sourced before every roslaunch: <em>source \/opt\/ros\/indigo\/setup.bash\u00a0<\/em><\/li>\n<li>I checked the \/map topic (where the map is read, according to rviz), in order to see in the involved nodes were properly connected: <em>rqt_graph<\/em>, <em>rosnode info slam_gmapping<\/em>, <em>rosnode info rviz<\/em>. Everything seemed ok too.<\/li>\n<li>I checked which information was sent through the \/map topic. Despite of the nodes being well connected, <em>rosrun tf tf_echo \/map \/odom<\/em> proved that all the values moving across the topic were always null, even if the robot was teleoperated with the kobuki node.<\/li>\n<\/ul>\n<p>After vainly googling half the internet ;), I thought I could install ROS directly on my Xubuntu 14.04, without virtual machine. I did it, run again Gazebo, rviz and kobuki teleoperation and, oh boy, I got a different error: <em>[ERROR] [1433813576.466253926, 24.270000000]: Scan message must contain angles from -x to x, i.e. angle_min = -angle_max<\/em>. I recalled this error from <a href=\"http:\/\/answers.ros.org\/questions\/\" target=\"_blank\">answers.ros.org<\/a>, so I did what it was explained\u00a0 <a href=\"http:\/\/answers.ros.org\/question\/210849\/scan-message-must-contain-angles-from-x-to-x\/\" target=\"_blank\">in this answer<\/a> and finally I got a map.<\/p>\n<p>So I applied that solution to the ROS on the virtual machine, and finally I got a lovely virtually simulated little map \ud83d\ude42<\/p>\n<p><a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-368\" src=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki-235x300.jpg\" alt=\"mapiki\" width=\"235\" height=\"300\" srcset=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki-235x300.jpg 235w, https:\/\/jafma.net\/ana\/theweekendarchaeologist\/wp-content\/uploads\/mapiki.jpg 479w\" sizes=\"(max-width: 235px) 100vw, 235px\" \/><\/a><\/p>\n<p>We could say that this is the engineering solution (it works), but not the scientific solution (I don&#8217;t know why) \ud83d\ude09 Any explanation on what was failing will be heartily welcomed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[In English] Siguiendo con la idea de utilizar la m\u00e1quina virtual de Nootrix para Indigo 32, he estado trabajando con las opciones incluidas en ROS para simular\u00a0 el robot Turtlebot usando Gazebo y rviz. Para lograr una visualizaci\u00f3n y teleoperaci\u00f3n b\u00e1sicas hay que ejecutar lo siguiente: Instalar todo lo que haga falta para simular el &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=362\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Turtlebot simulation with ROS in the Nootrix virtual machine&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[4,10],"tags":[25,36,28],"_links":{"self":[{"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts\/362"}],"collection":[{"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=362"}],"version-history":[{"count":7,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts\/362\/revisions"}],"predecessor-version":[{"id":371,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts\/362\/revisions\/371"}],"wp:attachment":[{"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=362"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}