카테고리 없음

윈도우와 리눅스의 조화를 통한 WSL에서의 ROS 개발 전략

toreddream 2025. 4. 24. 19:20

WSL 환경에서 ROS 개발을 위한 윈도우-리눅스 혼합 전략

서론

오늘날 로봇 공학과 자동화 기술은 급속하게 발전하고 있으며, 그 중심에는 로봇 운영 체제(ROS)가 있습니다. ROS는 로봇 소프트웨어 개발을 위한 프레임워크로, 다양한 플랫폼에서 이용 가능하지만, 오늘은 Windows Subsystem for Linux(WSL) 환경에서의 ROS 개발을 위한 윈도우-리눅스 혼합 전략에 대해 알아보겠습니다. 이 글은 ROS와 WSL의 기본적인 개념을 소개하고, WSL 환경에서 ROS를 효과적으로 개발하기 위한 전략을 제시합니다.

WSL이란 무엇인가?

Windows Subsystem for Linux(WSL)는 윈도우 운영 체제에서 리눅스 환경을 실행할 수 있게 해주는 호환성 레이어입니다. WSL을 사용하면 윈도우 사용자들이 리눅스 명령어와 도구를 활용하여 소프트웨어를 개발하고 실행할 수 있습니다. 이는 특히 ROS 개발에 유용하게 사용될 수 있습니다.

ROS란 무엇인가?

로봇 운영 체제(ROS)는 로봇 소프트웨어 개발을 위한 오픈 소스 프레임워크입니다. ROS는 모듈화된 아키텍처를 제공하여 재사용 가능한 소프트웨어 구성 요소를 쉽게 개발하고 통합할 수 있게 돕습니다. ROS는 다양한 프로그래밍 언어를 지원하며, 다양한 센서와 액추에이터에 대한 드라이버도 포함되어 있습니다.

WSL 환경 설정하기

WSL 설치하기

WSL을 설치하기 위해서는 다음과 같은 단계를 따르면 됩니다.

  1. 먼저, Windows PowerShell을 관리자 권한으로 실행합니다.
  2. WSL을 활성화하기 위해 다음 명령어를 입력합니다: wsl --install.
  3. 설치가 완료되면 시스템을 재부팅합니다.
  4. 재부팅 후, Microsoft Store에서 원하는 리눅스 배포판을 설치합니다. Ubuntu를 추천합니다.

리눅스 배포판 설정하기

리눅스 배포판 설치 후, 초기 설정을 위해 다음 단계를 수행합니다.

  1. 설치한 리눅스 배포판을 실행합니다.
  2. 사용자 이름과 비밀번호를 설정합니다.
  3. 업데이트 및 업그레이드를 수행합니다: sudo apt update && sudo apt upgrade.

ROS 설치하기

ROS 배포판 선택하기

ROS에는 여러 배포판이 있으며, 각각의 배포판은 특정 리눅스 버전과 호환됩니다. 가장 많이 사용되는 배포판으로는 Noetic, Melodic, 그리고 Kinetic이 있습니다. Ubuntu 20.04를 사용하는 경우 Noetic이 가장 적합합니다.

ROS Noetic 설치하기

다음 단계에 따라 ROS Noetic을 설치할 수 있습니다.

  1. 필수 패키지 설치: sudo apt install -y build-essential cmake git.
  2. ROS 관련 패키지 저장소 추가: sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" >> /etc/apt/sources.list.d/ros-latest.list'.
  3. 키 설정: curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -.
  4. 패키지 목록 업데이트: sudo apt update.
  5. ROS 기본 패키지 설치: sudo apt install ros-noetic-desktop-full.

환경 변수 설정하기

ROS 환경 변수를 설정하기 위해 다음을 추가합니다.

  1. 홈 디렉터리의 ~/.bashrc 파일을 엽니다: nano ~/.bashrc.
  2. 맨 아래에 다음 줄을 추가합니다: source /opt/ros/noetic/setup.bash.
  3. 변경 사항을 적용하려면 source ~/.bashrc를 실행합니다.

WSL에서 ROS 개발하기

ROS 패키지 생성하기

ROS 패키지는 ROS의 기본 구성 요소로, 다음 단계를 통해 생성할 수 있습니다.

  1. 작업 공간 디렉토리 생성: mkdir -p ~/catkin_ws/src.
  2. 작업 공간 초기화: cd ~/catkinws && catkinmake.
  3. 구성 요소 디렉토리로 이동: cd ~/catkin_ws/src.
  4. 패키지 생성: catkincreatepkg mypackage stdmsgs rospy roscpp.

노드 작성하기

ROS의 다양한 기능을 사용하기 위해서는 노드를 작성해야 합니다. C++ 또는 Python으로 작성할 수 있습니다.

  • C++ 노드 예시: src/mypackage/src/mynode.cpp.
  • Python 노드 예시: src/mypackage/scripts/mynode.py.

ROS 노드 실행하기

노드를 실행하기 위해서는 다음 단계를 따르면 됩니다.

  1. ROS 마스터 실행: roscore.
  2. 다른 터미널에서 노드 실행: rosrun mypackage mynode.

WSL과 Windows의 통합

WSL과 Windows 파일 시스템 접근하기

WSL에서는 윈도우 파일 시스템에 접근할 수 있어, 윈도우의 툴과 리눅스의 툴을 적절히 활용할 수 있습니다.

  • 원하는 윈도우 드라이브는 /mnt/c와 같은 경로로 접근할 수 있습니다.
  • Windows 파일을 리눅스의 코드를 편집할 수 있습니다.

통합 개발 환경 설정하기

코드 편집을 위해서는 Visual Studio Code와 같은 통합 개발 환경을 사용할 수 있습니다. WSL 통합 기능을 제공하므로, 리눅스의 개발 환경에서도 원활하게 사용할 수 있습니다.

결론

WSL 환경에서 ROS 개발은 윈도우와 리눅스의 장점을 모두 활용할 수 있는 훌륭한 방법입니다. 이 글에서는 WSL 설치에서부터 ROS 패키지 생성과 노드 실행 그리고 두 환경의 통합 방법까지 다루었습니다. 이를 통해 로봇 소프트웨어 개발의 기초를 쌓고, 더욱 발전된 로봇 기술에 기여할 수 있는 계기가 되길 바랍니다. 이 전략을 통해 ROS 개발에 대한 이해를 깊이 있게 할 수 있으며, 효과적인 개발 환경을 갖출 수 있을 것입니다.