{"id":722,"date":"2019-11-08T16:40:41","date_gmt":"2019-11-08T19:40:41","guid":{"rendered":"https:\/\/omecatronico.com.br\/blog\/?p=722"},"modified":"2019-11-27T00:50:45","modified_gmt":"2019-11-27T03:50:45","slug":"instalacao-ros-melodic-morenia","status":"publish","type":"post","link":"https:\/\/omecatronico.com.br\/blog\/instalacao-ros-melodic-morenia\/","title":{"rendered":"Instala\u00e7\u00e3o ROS Melodic Morenia"},"content":{"rendered":"\n<p><a href=\"http:\/\/ros.org\" target=\"_blank\" rel=\"noreferrer noopener\">ROS : Robotic Operating System.<\/a><\/p>\n\n\n\n<p>Esta s\u00e9rie de posts sobre o ROS ser\u00e1 baseada na documenta\u00e7\u00e3o oficial da p\u00e1gina <a href=\"http:\/\/ros.org\">ros.org<\/a>. Estou aprendendo ROS e documentando os principais t\u00f3picos a medida que <s>der tempo<\/s> for estudando um por um. Existem v\u00e1rios caminhos e formas de instalar e trabalhar com o ROS, aqui est\u00e1 uma delas =).<\/p>\n\n\n\n<p>Se voc\u00ea ainda n\u00e3o sabe o que \u00e9 ROS&#8230; d\u00ea uma olhada em <a href=\"http:\/\/www.ros.org\/about-ros\/\">http:\/\/www.ros.org\/about-ros\/<\/a><\/p>\n\n\n\n<p>Abaixo est\u00e1 detalhada a configura\u00e7\u00e3o UBUNTU 18.04 LTS (Bionic Beaver) em conjunto com a vers\u00e3o do ROS (Melodic Morenia).<strong> OBS:<\/strong> Melodic Morenia funciona apenas com Ubuntu Bionic Beaver (18.04) e com Artful (17.10). \u00c9 aconselhado usar <a rel=\"noreferrer noopener\" href=\"http:\/\/wiki.ros.org\/Distributions\" target=\"_blank\">vers\u00f5es LTS do ROS<\/a>.&nbsp; Usar m\u00e1quina virtual dentro do Windows \u00e9 aconselhado mas se for usar o &#8220;Microsoft Kinect&#8221; podem ocorrer problemas de comunica\u00e7\u00e3o na porta USB.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<ol><li><a href=\"http:\/\/releases.ubuntu.com\/18.04\/ubuntu-18.04.3-desktop-amd64.iso\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">Baixar ISO do UBUNTU 18.04<\/a><\/li><li>Se for criar M\u00e1quina virtual no Windows existe o programa &#8220;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.virtualbox.org\/\" target=\"_blank\">Virtual Box<\/a>&#8221; da Oracle que \u00e9 gratuito.&nbsp; Baixar, instalar, criar maquina virtual e apontar para ISO do Ubuntu que acabou de baixar.<\/li><li>Opcional: Usar modo Bridge na op\u00e7\u00e3o de Rede no Virtual Box para a m\u00e1quina virtual estar na mesma faixa de IP que o seu computador.<\/li><\/ol>\n\n\n\n<p>Considerando que voc\u00ea j\u00e1 instalou tudo e que para iniciar o processo voc\u00ea j\u00e1 deve estar no Ubuntu&#8230;Clique no bot\u00e3o de inicio do Ubuntu e Abra o &#8220;Terminal&#8221;(\u00e9 s\u00f3 digitar <strong>ter<\/strong> no bot\u00e3o de in\u00edcio do Ubuntu) e siga os passos a seguir.<\/p>\n\n\n\n<p><strong>DICA:<\/strong> &#8220;control+V&#8221; n\u00e3o funciona no terminal. voc\u00ea pode usar &#8220;shift+control+v&#8221; ou pressionar o bot\u00e3o do meio(a rodinha) do mouse para poder colar o texto.<\/p>\n\n\n\n<p><strong>DICA 2:<\/strong> Podem acontecer erros se o seu Ubuntu n\u00e3o estiver atualizado. Busque &#8220;atualizador de Programas&#8221; na pesquisa do sistema. E atualize o sistema antes de tentar instalar o ROS.<\/p>\n\n\n\n<p><strong>DICA 3:<\/strong> cuidado ao copiar e colar comando que contenham aspas simples ou duplas pois existem mais de um tipo de aspas simples&#8230; leia mais em <a rel=\"noreferrer noopener\" href=\"https:\/\/www.vivaolinux.com.br\/dica\/LibreOffice-Corrigindo-aspas-duplas-simples\" target=\"_blank\">corrigindo aspas simples e duplas.<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><strong>1.<\/strong> Incluir na sua lista de reposit\u00f3rios de pacotes da instala\u00e7\u00e3o do Ubuntu o &#8220;packages.ros.org&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>sudo sh -c 'echo \"deb http:\/\/packages.ros.org\/ros\/ubuntu $(lsb_release -sc) main\" &gt; \/etc\/apt\/sources.list.d\/ros-latest.list'<\/strong><\/pre>\n\n\n\n<p><strong>2.<\/strong> Instalar uma chave de acesso e autentica\u00e7\u00e3o para o ros.org<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-key adv --keyserver 'hkp:\/\/keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654<\/pre>\n\n\n\n<p><strong>3.<\/strong> Agora vamos atualizar a lista de pacotes dispon\u00edveis:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>sudo apt update <\/strong><\/pre>\n\n\n\n<p><strong>4.<\/strong> Agora vamos instalar o ROS completo (ROS, rqt, rviz, robot-generic libraries, 2D\/3D simulators, navigation and 2D\/3D perception). Existem v\u00e1rias maneiras de instalar apenas os recursos que voc\u00ea quer, mas n\u00e3o faz parte deste tutorial.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>sudo apt install ros-melodic-desktop-full <\/strong><\/pre>\n\n\n\n<p><strong>5.<\/strong> Antes de usar o ROS temos de inicializar o ROSDEP. Ele vai servir para instalar depend\u00eancias de c\u00f3digos necess\u00e1rios para compila\u00e7\u00e3o de alguns c\u00f3digos do pr\u00f3prio n\u00facleo do ROS.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>sudo rosdep init <\/strong><\/pre>\n\n\n\n<p>Depois atualize o rosdep:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>rosdep update <\/strong><\/pre>\n\n\n\n<p><strong>6.<\/strong> Agora vamos adicionar as vari\u00e1veis de ambiente no shell para que toda vez que voc\u00ea abrir o terminal ele reconhe\u00e7a os comandos do ROS.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>echo \"source \/opt\/ros\/melodic\/setup.bash\" &gt;&gt; ~\/.bashrc <\/strong><\/pre>\n\n\n\n<p>Depois:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>source ~\/.bashrc <\/strong><\/pre>\n\n\n\n<p><strong>7.<\/strong> Instalar o ROSINSTALL. Ele \u00e9 uma ferramenta de linha de comando para baixar facilmente muitas \u00e1rvores de c\u00f3digos fonte para pacotes ROS com apenas um comando. Recomendado instalar.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential<\/pre>\n\n\n\n<p><strong>8.<\/strong> Criar uma pasta para ser o seu &#8220;Workspace&#8221; (\u00c1rea de trabalho) do ROS, onde ficar\u00e3o os seus projetos e c\u00f3digos de testes.&nbsp; Executar o comando abaixo no terminal criar\u00e1 uma pasta dentro do seu HOME com nome &#8220;catkin_ws&#8221; e dentro dela &#8220;src&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir -p ~\/catkin_ws\/src<\/pre>\n\n\n\n<p>Depois vamos navegar at\u00e9 a pasta do Workspace:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>cd catkin_ws<\/strong><\/pre>\n\n\n\n<p>E finalmente executaremos o comando make do catkin para configurar todo seu workspace com pastas ex.:&nbsp; &#8220;build&#8221;, &#8220;source&#8221;&#8230;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>catkin_make<\/strong><\/pre>\n\n\n\n<p><strong>9.<\/strong> Agora vamos tornar padr\u00e3o o novo workspace (catkin_ws) e tamb\u00e9m para n\u00e3o ter que executar toda vez que abrir um terminal o comando de source para seu home do catkin&#8230; vamos adiciona-lo ao bashrc para ficar como padr\u00e3o. Complete o comando abaixo com seu nome de usu\u00e1rio do Ubuntu ( aparece no terminal como&nbsp; usuario@suaMaquina: ), assim, onde tem xxxxx apague e insira seu nome de usuario:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>echo \"source \/home\/xxxxx\/catkin_ws\/devel\/setup.bash\" &gt;&gt; ~\/.bashrc<\/strong><\/pre>\n\n\n\n<p>Depois:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>source ~\/.bashrc<\/strong><\/pre>\n\n\n\n<p><strong>10.&nbsp;<\/strong>Para testar use o comando abaixo. Dever\u00e1 aparecer como resposta &#8220;<strong>\/home\/xxxxx\/catkin_ws\/src:\/opt\/ros\/melodic\/share&#8221;<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>echo $ROS_PACKAGE_PATH<\/strong><\/pre>\n\n\n\n<p><strong>DICA:<\/strong> Outra maneira de testar \u00e9 fechar os terminais e abrir um e digitar <strong>roscd<\/strong> que deve levar voc\u00ea para sua pasta de workspace &#8220;catkin_ws\/devel&#8221;.<\/p>\n\n\n\n<p>Finalmente&#8230; a instala\u00e7\u00e3o terminou. Agora vamos para opcionais.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Lembretes finais:<\/strong><\/h2>\n\n\n\n<p>Algumas dicas e programas \u00fateis:<\/p>\n\n\n\n<ul><li>Um editor leve e pr\u00e1tico, principalmente se voc\u00ea usa m\u00e1quina virtual, \u00e9 o <a rel=\"noreferrer noopener\" href=\"https:\/\/code.visualstudio.com\/download\" target=\"_blank\">Visual Studio Code<\/a>. Baixe a vers\u00e3o &#8220;.deb&#8221; j\u00e1 que voc\u00ea est\u00e1 usando Ubuntu e instale. Existe uma extens\u00e3o chamada &#8220;ROS&#8221;, instale e o intellisense vai funcionar bem.<\/li><\/ul>\n\n\n\n<ul><li>O terminal do Ubuntu permite ter v\u00e1rias abas atrav\u00e9s de shift+ctrl+t. <\/li><li> DICA: Se voc\u00ea \u00e9 iniciante no terminal do Linux&#8230; \u00e9 interessante dar uma olhada nesse <a href=\"http:\/\/www.ee.surrey.ac.uk\/Teaching\/Unix\/\">Guia R\u00e1pido de comandos<\/a> <\/li><\/ul>\n\n\n\n<ul><li>O ROS est\u00e1 instalado na pasta &#8220;opt\/ros\/kinetic&#8221;<\/li><li>o workspace \u00e9 onde se encontram o &#8220;setup.bash&#8221; e &#8220;setup.h&#8221; e por padr\u00e3o ficam em &#8220;opt\/ros\/kinetic&#8221;. Durante a instala\u00e7\u00e3o acima criamos o workspace chamado &#8220;catkin_ws&#8221; e configuramos para ser o padr\u00e3o. O novo &#8220;setup.bash&#8221; agora est\u00e1 em &#8220;catkin_ws\/devel&#8221;<\/li><li>Os &#8220;packages&#8221; s\u00e3o os projetos individuais que ficam dentro do workspace, mais precisamente, dentro de &#8220;catkin_ws\/src&#8221;<\/li><li>Para criar um projeto de nome &#8220;projeto1&#8221; e j\u00e1 com suporte \u00e0s mensagens padr\u00e3o do ROS, python e C++, v\u00e1 para pasta &#8220;catkin_ws\/src&#8221; e execute:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">catkin_create_pkg projeto1 std_msgs rospy roscpp\ncd ..\ncatkin_make<\/pre>\n\n\n\n<ul><li>O projeto estar\u00e1 criado e compilado em &#8220;catkin_ws\/src\/projeto1&#8221;<\/li><li>Dentro de projeto1 existe a pasta &#8220;src&#8221; onde ficar\u00e3o os c\u00f3digos fonte de seu projeto. Tamb\u00e9m dentro da pasta do projeto1 exite a pasta &#8220;include&#8221;, onde ficar\u00e3o as bibliotecas que voc\u00ea precisar adicionar.<\/li><li>Ap\u00f3s criar os c\u00f3digos fonte dentro de &#8220;src&#8221; \u00e9 necess\u00e1rio adicionar ao &#8220;CMakeLists.txt&#8221; a informa\u00e7\u00e3o que eles existem e como devem ser compilados. Para um n\u00f3 de nome &#8220;node1&#8221;, e um programa de nome &#8220;publisher1.cpp&#8221;, adicionar:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">add_executable(node1 scr\/publisher1.cpp)\ntarget_link_libraries (node1 ${catkin_LIBRARIES})<\/pre>\n\n\n\n<ul><li>Agora voltar para o workspace e executar o catkin_make.<\/li><li>Para rodar um &#8220;n\u00f3&#8221; ser\u00e1 usado o comando &#8220;rosrun&#8221; seguido do nome do &#8220;package&#8221; e seguido do nome do &#8220;n\u00f3&#8221;<\/li><li>Dica: apertar &#8220;TAB&#8221; duas vezes seguidas ap\u00f3s digitar o nome do &#8220;package&#8221; vai listar o nome de todos os poss\u00edveis execut\u00e1veis do pacote.<\/li><li>para visualizar os n\u00f3s e suas rela\u00e7\u00f5es com os t\u00f3picos de forma gr\u00e1fica, existe o rqt_graph:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">rosrun rqt_graph rqt_graph<\/pre>\n\n\n\n<p>Ent\u00e3o&#8230; \u00e9 s\u00f3 =)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ROS : Robotic Operating System. Esta s\u00e9rie de posts sobre o ROS ser\u00e1 baseada na documenta\u00e7\u00e3o oficial da p\u00e1gina ros.org. Estou aprendendo ROS e documentando os principais t\u00f3picos a medida que der tempo for estudando um por um. Existem v\u00e1rios caminhos e formas de instalar e trabalhar com o ROS, aqui est\u00e1 uma delas =). [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":727,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,32,41],"tags":[61,33],"_links":{"self":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/722"}],"collection":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/comments?post=722"}],"version-history":[{"count":5,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/722\/revisions"}],"predecessor-version":[{"id":813,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/posts\/722\/revisions\/813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/media\/727"}],"wp:attachment":[{"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/media?parent=722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/categories?post=722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/omecatronico.com.br\/blog\/wp-json\/wp\/v2\/tags?post=722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}