{"id":577,"date":"2015-11-18T07:07:06","date_gmt":"2015-11-18T07:07:06","guid":{"rendered":"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=577"},"modified":"2015-11-18T08:01:55","modified_gmt":"2015-11-18T08:01:55","slug":"r-arduino-ros","status":"publish","type":"post","link":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=577","title":{"rendered":"R + Arduino + ROS"},"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%252F577&#038;t=R%20%2B%20Arduino%20%2B%20ROS&#038;s=100&#038;p&#091;url&#093;=https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F577&#038;p&#091;images&#093;&#091;0&#093;=&#038;p&#091;title&#093;=R%20%2B%20Arduino%20%2B%20ROS\" 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%252F577&#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%252F577&#038;title=R%20%2B%20Arduino%20%2B%20ROS\" 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%252F577&#038;media=&#038;description=R%20%2B%20Arduino%20%2B%20ROS\" 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%252F577&#038;title=R%20%2B%20Arduino%20%2B%20ROS\" 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=R%20%2B%20Arduino%20%2B%20ROS&#038;body=Check%20this%20out%20%2F%20Mira%20esto:%20https%3A%2F%2Fjafma.net%2Fana%2Ftheweekendarchaeologist%2Findex.php%3Frest_route%3D%252Fwp%252Fv2%252Fposts%252F577\" 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 style=\"text-align: justify;\"><a id=\"spanish\"><\/a><br \/>\n<a href=\"#english\">[In English]<\/a><\/p>\n<p style=\"text-align: justify;\">Como ya coment\u00e9 en un post anterior, es posible integrar <a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=335\" target=\"_blank\">Arduino dentro de ROS<\/a>. Por otra parte, hay un <a href=\"http:\/\/wiki.ros.org\/rosR\" target=\"_blank\">paquete rosR <\/a>muy interesante que permite crear scripts R trabajando tambi\u00e9n en ROS; la documentaci\u00f3n del paquete es completa y cubre tanto la parte ROS como la parte R:<\/p>\n<ul>\n<li style=\"text-align: justify;\"><a href=\"https:\/\/gitlab.com\/OvGU-ESS\/rosR\" target=\"_blank\">P\u00e1gina Gitlab<\/a><\/li>\n<li style=\"text-align: justify;\"><a href=\"http:\/\/wiki.ros.org\/rosR_demos\" target=\"_blank\">Tutorial<\/a><\/li>\n<li style=\"text-align: justify;\"><a href=\"http:\/\/www.r-bloggers.com\/using-r-in-robotics-applications-with-ros\/\" target=\"_blank\">Post en R-bloggers<\/a><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Combinando ambos paquetes se pueden hacer cosas majas. Por ejemplo, en el v\u00eddeo al final del post se muestra c\u00f3mo un nodo ROS env\u00eda las lecturas de un sensor FSR conectado a un Arduino (Duemilanove, en este caso) por un topic al que est\u00e1 suscrito un script R que muestra un plot con esos valores sobre la marcha. El c\u00f3digo del sketch y del script, basados en los ejemplos proporcionados en la documentaci\u00f3n de ambos paquetes, est\u00e1n en <a href=\"https:\/\/github.com\/WeekendArchaeo\" target=\"_blank\">mi Github<\/a>.<\/p>\n<p style=\"text-align: justify;\">En este caso, he usado la m\u00e1quina virtual Nootrix con ROS indigo 32, ya que me resulta \u00fatil por motivos docentes. La misma combinaci\u00f3n Arduino-R tambi\u00e9n funciona correctamente en un Xubuntu 14.04.3 de 64 bits con ROS indigo instalado.<\/p>\n<p style=\"text-align: justify;\">Por probar, he compilado la versi\u00f3n 64 bits de rosR en un Ubuntu Mate 15 con ROS jade distribuido entre un port\u00e1til y el <a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=461\" target=\"_blank\">netbook del Turtlebot<\/a>, y tambi\u00e9n funciona&#8230; \u00a1\u00a1Turtlebot, R te espera :)!!<\/p>\n<p><a id=\"english\"><\/a><br \/>\n<a href=\"#spanish\">[En espa\u00f1ol]<\/a><\/p>\n<p style=\"text-align: justify;\">As I commented in a previous post, it is possible to use <a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=335\" target=\"_blank\">Arduino with ROS<\/a>. Furthermore, there is a very interesting <a href=\"http:\/\/wiki.ros.org\/rosR\" target=\"_blank\">rosR package <\/a>that allows to build R scripts also in ROS; the documentation of this package is complete and covers the ROS point of view as well as the R perspective:<\/p>\n<ul>\n<li style=\"text-align: justify;\"><a href=\"https:\/\/gitlab.com\/OvGU-ESS\/rosR\" target=\"_blank\">Gitlab web<\/a><\/li>\n<li style=\"text-align: justify;\"><a href=\"http:\/\/wiki.ros.org\/rosR_demos\" target=\"_blank\">Tutorial<\/a><\/li>\n<li style=\"text-align: justify;\"><a href=\"http:\/\/www.r-bloggers.com\/using-r-in-robotics-applications-with-ros\/\" target=\"_blank\">R-bloggers post<\/a><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">You can build nice things using both packages. For example, the video at the bottom of this post shows how a ROS node sends the readings of a FSR sensor connected to an Arduino (Duemilanove, in this case) through a topic; a R script which is subscribed to that topic plots those values on the fly. The code of the skecth and the script, based on the examples provided in the documentation of both packages, is in <a href=\"https:\/\/github.com\/WeekendArchaeo\" target=\"_blank\">my Github<\/a>.<\/p>\n<p style=\"text-align: justify;\">You can see in the video that I use the Nootrix ROS indigo 32 virtual machine, since I find it useful due to teaching reasons. The same Arduino-R combination also works fine under a Xubuntu 14.04.3 64 bits with ROS indigo.<\/p>\n<p style=\"text-align: justify;\">I tried to compile the rosR 64 bits version under Ubuntu Mate 15 with a ROS jade distributed between a desktop and the <a href=\"http:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=461\" target=\"_blank\">Turtlebot netbook<\/a>, and it also works&#8230; Turtlebot, R is waiting for you \ud83d\ude42<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/H-hmqPThJqI\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[In English] Como ya coment\u00e9 en un post anterior, es posible integrar Arduino dentro de ROS. Por otra parte, hay un paquete rosR muy interesante que permite crear scripts R trabajando tambi\u00e9n en ROS; la documentaci\u00f3n del paquete es completa y cubre tanto la parte ROS como la parte R: P\u00e1gina Gitlab Tutorial Post en &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/?p=577\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;R + Arduino + ROS&#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":[29,4,10],"tags":[46,21,25,44],"_links":{"self":[{"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts\/577"}],"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=577"}],"version-history":[{"count":11,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts\/577\/revisions"}],"predecessor-version":[{"id":588,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=\/wp\/v2\/posts\/577\/revisions\/588"}],"wp:attachment":[{"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jafma.net\/ana\/theweekendarchaeologist\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}