Skip to content

Instalar o ROS no Windows

EltonCN edited this page May 20, 2021 · 7 revisions

Esse tutorial foi baseado em: ROS ROS2

Ele irá instalar o ROS1 Noetic e ROS2 Foxy

1. Pré-requisitos

2. Instalar VS-Community 2019

VS-Code não funciona

  • Baixe o instalador e instale
    • Durante a instalação, certifique-se de escolher "Desktop development with C++" e as opções para Python

3. Instalar o Gerenciador de Pacotes e Git

  • Procure o "x64 Native Tools Command Prompt for VS 2019" no menu iniciar, e inicie como administrador (clicar com Ctrl+Shift+C). Certifique-se em todos os passos que você está usando o terminal x64, e não o x86
  • Execute o comando, aceitando todas as caixas de diálogo: @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
  • Abra novamente o terminal do VS-2019 como administrador, e execute os comandos para instalar e atualizar o git:
choco upgrade git -y
git --version

4. Instalar o ROS

4.1 ROS1 - Noetic

  • Novamente no terminal do VS-2019 como administrador, execute esses comandos:
    • OBS: se parecer que travou em alguma porcentagem durante o download, tente apertar "Enter" (por algum motivo funciona?)
mkdir c:\opt\chocolatey 
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1
choco upgrade ros-noetic-desktop_full -y --execution-timeout=0

4.2 ROS2 - Foxy

  • No terminal do VS-2019 como administrador, execute:
mkdir c:\opt\chocolatey
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1
choco upgrade ros-foxy-desktop -y --execution-timeout=0 --pre

5. Configurando o terminal

  • Abra o Windows Terminal como administrador, na barra de cima, abra o menu suspenso ao lado do símbolo "+", e selecione "Configurações" (irá abrir um arquivo de texto JSON)

    • Caso ele abra um menu gráfico de configurações no lugar do arquivo de texto, dessa até o fim do menu no canto esquerdo e selecione "Abrir o arquivo JSON"
  • Encontre o bloco "profiles":{ ... "list": [, e adicione cada um dos blocos para cada distribuição:

  • Noetic:

    • OBS: ele está considerando que seu catkin workspace estará em "C:\dev\catkin_ws". Caso não utilize esse local, altere o campo "commandline" (último comando, após o último "&&").
    • OBS2: Caso vá utilizar o ROS em múltiplos computadores, altere o endereço "127.0.0.1" (aparece duas vezes, em "ROS_IP" e "ROS_MASTER_URI") para os endereços corretos. Caso o computador de instalação seja onde será executado o roscore, utilize o endereço ip desse computador.
{
     "commandline": "C:\\Windows\\System32\\cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools\\VsDevCmd.bat\" -arch=amd64 -host_arch=amd64 && set ChocolateyInstall=c:\\opt\\chocolatey&& c:\\opt\\ros\\noetic\\x64\\setup.bat&& set ROS_IP=127.0.0.1&& set ROS_MASTER_URI=http://127.0.0.1:11311&& c:\\dev\\catkin_ws\\devel\\setup.bat",
    "guid": "{xxxxx}",
    "icon": "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
    "name": "ROS Noetic",
    "startingDirectory": "c:\\ws"
},
  • Foxy:
{
     "commandline": "C:\\Windows\\System32\\cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools\\VsDevCmd.bat\" -arch=amd64 -host_arch=amd64&& c:\\opt\\ros\\foxy\\x64\\setup.bat&& c:\\opt\\ros\\foxy\\x64\\share\\gazebo\\setup.bat&& set SDF_PATH=c:\\opt\\ros\\foxy\\x64\\share\\sdformat\\1.6",
    "guid": "{xxxxx}",
    "icon": "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
    "name": "ROS2 Foxy",
    "startingDirectory": "c:\\ws"
},
  • Altere o "xxxxx" em "guid": {xxxxx}" para o resultado do comando uuidgen, executado em um terminal do VS-2019 como administrador. Execute duas vezes, e use um resultado diferente para cada distro

6. (Opcional) Extensão ROS do VS-Code

  • Caso vá usar o VS-Code para desenvolver seus códigos, pode ser útil instalar a extensão "ROS" do VS-Code. Ela permite visualizar os parâmetros de métodos e atributos de classes do ROS; como o rospy/roscpp e os campos de mensagens