Skip to content

R1_001. Windows 용 ROS melodic 설치

Seokhwan Kim edited this page Jun 22, 2019 · 1 revision

들어가기 전에

  • 이 문서는 ROS Windows 설치 문서 (http://wiki.ros.org/Installation/Windows) 를 번역한 문서입니다. 기계 번역은 아니고, 사람이 직접 번역했고 조금 더 친절한 설명을 조금 추가한 문서입니다.

  • 각 항목 중 원문에 없는 추가 설명에 대해서는

    [추가설명]
    추가 설명입니다.
    

    와 같은 형식으로 추가하였습니다.

1. Windows 운영체제

  • Windows 용 ROS1 은 Windows 10 Desktop, Windows 10 IoT Edition 을 지원합니다. 여기서 Windows 10 Desktop 이란, Windows Home, Professional, Enterprise 버전 등을 의미합니다. 현재 64비트 버전만을 지원합니다.
  • 현재 Windows 10 IoT Core 버전은 지원하지 않습니다.

2. 설치를 위한 필요 디스크 공간

  • 혹시 본인의 컴퓨터에 C:\opt 디렉토리가 존재한다면,해당 디렉토리를 꼭 백업하십시오. C:\opt 디렉토리는 설치 디렉토리 (root location for the installation) 으로 사용됩니다.
  • C 드라이브에 10기가 이상의 공간이 필요합니다.

3. Visual Studio 2017 설치

  • ROS 프로젝트를 빌드하기 위해서는 Visual Studio 와 Windows 용 Microsoft SDK 가 필요합니다.

  • Visual Studio 2017 커뮤니티 에디션 또는 프로페셔널 에디션 다운로드

    • C++ development 패키지를 꼭 설치하십시오.
  • 관리자 모드로 Visual Studio 를 실행할 수 있는 바로가기를 만듭니다.

    • 바로가기를 만들기 위해서는 원하는 위치에서 마우스 오른쪽 버튼 클릭 후, 새로 만들기 > 바로 가기 를 선택합니다.

    • 바로가기를 만들면 바로 한 창이 뜨면서, "항목 위치 입력(T):" 라는 입력칸이 나옵니다. 그 입력 칸에 아래의 명령줄 중 설치한 Visual Studio 의 에디션에 맞게 복사하여 붙혀줍니다.

      • Community 에디션 :
      C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
      • Professional 에디션 :
      C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
      • Enterprise 에디션 :
      C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
      [추가설명]
      위의 명령줄은 사실 명령어 프롬프트를 실행하면서, 동시에 Visual Studio 설치시 
      함께 설치되는 Developer Command Prompt for VS 2017 를 위한 배치파일을 함께 
      실행해주는 것입니다. Developer Command Prompt 는 대단한 것은 아니고, 
      개발자들이 일반적으로 많이 사용하는 도구들 (예 컴파일러, 링커 등) 을 path 에
      추가하여 바로 사용할 수 있게끔 설정해놓은 배치파일일 뿐입니다.
      
    • 바로 가기의 이름을 ROS 로 설정합니다.

    • 바로 가기를 관리자 권한으로 실행하게끔 설정합니다.

      • 조금 전 만든 바로 가기에서 마우스 오른 버튼을 클릭하여 "설정" 을 클릭합니다.
      • 창이 하나 열리는데, "바로 가기" 탭을 선택합니다.
      • 오른쪽 아래에 "고급" 버튼을 클릭합니다.
      • "관리자 권한으로 실행(R)" 의 체크박스를 선택합니다.
      • 확인 버튼을 클릭합니다.
      • "속성" 다이얼로그에서 "확인" 버튼을 눌러 창을 닫습니다.
      [추가설명]
      Windows 가 발전하면서 많이 발전한 것중 한 가지가 바로 보안 입니다. 
      관리자 (Administrator) 권한을 별도로 설정하여, C 드라이브 등 시스템에 중요한 
      부분을 건들때에는 꼭 관리자 권한으로 실행하고, 사용자가 이를 확인하게끔 
      하였습니다. ROS 를 설치할 때, 기본적으로 C 드라이브를 많이 사용하는데, 
      처음부터 관리자 모드로 이를 실행하게끔 하면 C 드라이브 설치 시 권한관련한 오류가
      뜨지 않게끔하기 위해, 위와 같은 설정을 하는 것입니다.
      
    [추가설명]
    위와 같은 사항에 대해서 이미 익숙하시다면, 사실 시작버튼에서 developer prompt 를 
    직접 관리자 모드로 실행하여 아래를 진행하셔도 문제 없습니다.
    
    • Chocolatey 설치
      • Chocolatey 는 Windows 환경에서의 package manager 입니다. 이런 package manager 는 ROS 프로젝트 빌드와 실행에 필요한 도구와 라이브러리들을 설치하는 과정을 도와줍니다.
      • 위에서 만든 ROS 바로 가기를 클릭하여 실행합니다.
      • 그리고, 아래의 명령줄을 복사하고 붙혀 실행합니다.
        @"%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" 
      • 무엇이든 질문이 나오면 yes / y 등을 입력하여 진행합니다.
      • 완료가 되면 command prompt 를 종료하여 설치를 완료합니다.
    • Git 설치
      • 앞서 만든 ROS 바로 가기를 실행하여, 아래의 명령줄을 복사하여 실행합니다.
        choco install git -y
      • Git 를 설치한 이후에는 아래의 명령을 실행하여, git 이 제대로 설치되었는지를 확인합니다.
        git --version

4. 바이너리 패키지 설치

Windows 용 ROS 를 설치하기 위해서는 아래의 순서대로 실행하는 것을 권장합니다.

4.1 Windows 용 ROS 설치

정신적 편안함을 위해서, desktop_full metapackage 설치를 권장합니다. Metapackage 는 모든 package 를 포함합니다. Desktop metapackage 는 로봇을 시각화 (visulization), 디버깅, 실행, 빌드하는데 필요한 패키지의 모음입니다.

위에서 만든 ROS 바로 가기를 클릭하여실행하고, 아래의 명령줄을 복사하여 실행합니다. (약 30여분 소요됩니다.)

choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0
[추가설명]
2019년 6월 현재, 아래와 같은 메시지가 출력되면서 설치가 멈추는 현상이 있습니다.

ERROR: default sources list file already exists:
C:/opt/ros/melodic/x64/etc/ros\rosdep\sources.list.d\20-default.list
Please delete if you wish to re-initialize

위의 메시지의 설명대로, 
C:/opt/ros/melodic/x64/etc/ros\rosdep\sources.list.d\20-default.list
파일을 삭제해주면, 
설치가 다시 시작합니다.

4.2 ROS2 와 함께 설치하기

ROS2 를 함께 설치할 계획이 있다면, 아래와 같이 %ChocolateyInstall% 환경변수를 다른 디렉토리로 설정하고 설치합니다.

예는 다음과 같습니다.

mkdir c:\opt\chocolatey
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

위와 같이 환경변수를 다르게 설정하였기 때문에, 설치 후 업그레이드를 할 때에는 다시, 설치시 사용했던 %ChocolateyInstall% 변수를 설정하여 업그레이드 해야합니다.

set ChocolateyInstall=c:\opt\chocolatey
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

4.3 윈도우에서 ROS 사용하기

ROS 를 사용할 때에는 Command Prompt 를 많이 사용합니다. 복잡한 path 설정을 간편하게 하기 위해서 아래와 같이 설정합니다.

  • 위에서 추가한 ROS 바로가기를 실행합니다.
  • c:\opt\ros\melodic\x64\setup.bat 스크립트를 실행합니다.
  • 이제, 패키지 체크, ROS 노드 빌드, ROS 실행 등 다양한 ROS 커맨드를 실행할 수 있습니다.
매번 이러한 과정이 번거롭다면, 위에서 만든 ROS 바로가기의 명령에 
&& c:\opt\ros\melodic\x64\setup.bat
을 추가하여 매번 ROS 를 실행할 때, 스크립트가 자동실행되게끔 할 수 있습니다. 

4.4 업데이트 방법

ROS 를 업데이트하기 위해서는 Chocolatey 의 업그레이드 기능을 활용할 수 있습니다. 위에서 만든 ROS 바로가기를 실행하고, 아래의 명령을 실행합니다.

choco upgrade ros-melodic-desktop_full -y --execution-timeout=0

느린 인터넷으로 인해 설치가 실패하는 것을 대비하여, "--execution-timeout=0" 를 꼭 추가하여 실행하는 것을 추천합니다.

[추가설명]
4.2 ROS2 와 함께 설치하기와 같이 "set ChocolateyInstall=c:\opt\chocolatey" 를 설정하고
설치하였다면, 위의 업데이트 이전에 "set ChocolateyInstall=c:\opt\chocolatey" 를
다시 실행하고 업그레이드를 실행해야 합니다. 

이를 위의 ROS 바로가기에서, 
&& set ChocolateyInstall=c:\opt\chocolatey
를 추가하는 것도 좋은 방법입니다.