윈도우즈에서 ROS 소프트웨어 실행하기

ROS는 윈도우즈를 공식 지원하지 않지만 ROS 일부는 윈도우즈에서 실행 가능합니다. 좀 더 자세하게 설명하면:

  • ROS Python 클라이언트 라이브러리(rospy)를 포함한 몇 몇 Python 코드를 실행할 수 있습니다. 일부 프로세스는 윈도우즈에서 실행하고 다른 것들은 다른 곳에서 실행시키는 경우 유용하게 사용할 수 있습니다.

  • Cygwin에서 C++ 코드를 실행할 수 있습니다.

아래에 어떻게 할 수 있는지 자세히 설명합니다.

윈도우즈에서 Python 코드 실행하기

ROS를 통해 상호작용할 필요가 있는 Python 코드를 윈도우즈에서 실행하고 싶을 경우, rospy 클라이언트 라이브러리를 활용하면 Python 기반 ROS 노드를 윈도우즈에서 실행할 수 있습니다. roslaunch 같은 고수준의 도구는 포팅할 수 있기는 하지만, 현재 윈도우즈에서 작동하지는 않습니다.

좀 까다롭기는 하지만 이렇게 하기 위해서는 몇 가지 해줘야 할 일이 있습니다.

필요 사항

자동 생성되는 message 및 service 관련 파일 복사하기

사용할 예정인 message 및 service 파일에 대해 자동 생성되는 Python 파일들이 있어야 합니다. 가장 쉬운 방법은 비윈도우즈 머신에서 관련 package를 컴파일한 후, 생성된 파일들을 복사하는 것입니다.

어떤 package가 message를 포함하고 있는지 알려면, 다음 명령을 수행합니다:

$ rosmsg packages

그런 다음 그 package들의 src/package_name/msg 디렉토리에 있는 파일들을 윈도우즈 머신으로 복사하면 됩니다.

어떤 package가 service를 포함하고 있는지 알려면, 다음 명령을 수행합니다::

$ rossrv packages

그런 다음 그 package들의 src/package_name/srv 디렉토리에 있는 파일들을 윈도우즈 머신으로 복사하면 됩니다.

roslib.load_manifest 호출 막기

rospyrospack 라이브러리를 사용하여 동적으로 적절한 PYTHONPATH값을 생성합니다. rospack은 아직 윈도우즈에서 작동하지 않으므로 관련 함수 호출을 막고, 대신 Python 경로를 손수 설정해야 합니다.

환경 설정

ROS_MASTER_URIROS_ROOT 환경 변수를 설정해야 합니다. 환경 변수를 참고하세요.

Robotics Equipment 사의 ROS 윈도우즈 포팅

ROS를 윈도우즈로 포팅한 버전을 여기에서 구할 수 있습니다. 이 포팅 버전은 현재 다음 package들을 포함하고 있습니다.

  • roslib
  • roscpp
  • rosconsole
  • message_filters
  • tf
  • actionlib

이 포팅 버전의 주 목적은 개발자들이 리눅스 기반 로봇에서 실행중인 ROS 시스템과 연결하여 멋진 윈도우즈 GUI를 작성할 수 있도록 하는데 있습니다.

시스템 요구사항:

  • Windows 7 또는 Vista (32/64 bit)
  • Microsoft Visual Studio 2008 또는 Microsoft Visual Studio 2008 Express 판
  • CMake (version 2.8 이상)

Cygwin에서 돌리기

Tingfan Wu의 자습서 tutorial를 참고하세요.

Wiki: ko/cturtle/Installation/Windows (last edited 2010-12-18 11:36:59 by yoonsoo.kim)