-
Notifications
You must be signed in to change notification settings - Fork 0
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
- Windows 10 64-bit
- Powershell
- Git
- Windows Terminal
- 10 GB para cada distribuição
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
- 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
- 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
- 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
-
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 comandouuidgen, executado em um terminal do VS-2019 como administrador. Execute duas vezes, e use um resultado diferente para cada distro
- 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