콘텐츠로 건너뛰기

Robotis Turtlebot3를 wsl에서 제어하기

1. PC 설정 (Windows 11 + WSL 2)

가장 중요한 단계다. WSL의 네트워크 문제를 해결하지 않으면 로봇과 통신할 수 없다.

1-1. 윈도우 네트워크 설정 (핵심)

  1. 네트워크 프로필 변경:
    • 설정 > 네트워크 및 인터넷 > Wi-Fi > 속성
    • 네트워크 프로필 유형을 [공용(Public)]에서 [개인(Private)]으로 변경.
    • 이유: 공용 네트워크는 로봇에서 들어오는 신호(Inbound)를 차단함.
  2. WSL 미러링 모드 적용:
    • 경로: C:\\Users\\<사용자명>\\.wslconfig (파일이 없으면 생성)
    • 내용 입력: [wsl2] networkingMode=mirrored firewall=true
    • 적용: PowerShell(관리자)에서 wsl --shutdown 후 다시 실행.
    • 확인: WSL 터미널에서 hostname -I 입력 시 192.168.x.x (공유기 대역)가 나와야 함.
  3. 방화벽 설정:
    • 네트워크 프로필 유횽이 [개인]이 아니면 아래의 방화벽 설정이 동작하지 않는다.
New-NetFirewallRule -DisplayName "Allow_Robot_Inbound" -Direction Inbound -Action Allow -Protocol UDP -RemoteAddress 192.168.1.200
#파이어월에게 "Allow_Robot_Inbound"라는 이름을 가진 규칙을 만들어. 
#패킷은 인바우드, 통과시킬 패킷은 UDP인데 발신컴은 192.168.1.200이야.

Name                          : {a1fd59cd-92d3-4bfd-a9a3-9d7593ca8612}
DisplayName                   : Allow_Robot_Inbound
Description                   :
DisplayGroup                  :
Group                         :
Enabled                       : True
Profile                       : Any
Platform                      : {}
Direction                     : Inbound
Action                        : Allow
EdgeTraversalPolicy           : Block
LooseSourceMapping            : False
LocalOnlyMapping              : False
Owner                         :
PrimaryStatus                 : OK
Status                        : 저장소에서 규칙을 구문 분석했습니다. (65536)
EnforcementStatus             : NotApplicable
PolicyStoreSource             : PersistentStore
PolicyStoreSourceType         : Local
RemoteDynamicKeywordAddresses : {}
PolicyAppId                   :

PS C:\Windows\system32>

윈도우즈10에서 매우 복잡하게 브릿지모드를 이용해서 로봇과 연결했지만, wsl에서 웹캠을 등록하는 과정에서 문제가 발생하였다.

[ WARN:0@0.025] global cap_v4l.cpp:999 open VIDEOIO(V4L2:/dev/video0): can't open camera by index
[ERROR:0@0.029] global obsensor_uvc_stream_channel.cpp:158 getStreamChannelGroup Camera index out of range
캠을 열 수 없습니다.

다시 확인해 보니, 랩톱이 윈도우즈 11이라 IP 미러링으로 간단히 연결하려고 했는데, 로봇과 통신 문제가 발생했다. 본 글은 윗 문제에 대한 트러블슈팅이다.

> usbipd attach --wsl --busid 2-4
usbipd: info: Using WSL distribution 'Ubuntu-22.04' to attach; the device will be available in all WSL 2 distributions.
usbipd: info: Loading vhci_hcd module.
usbipd: info: Detected networking mode 'mirrored'.
usbipd: info: Using IP address 127.0.0.1 to reach the host.
PS C:\Windows\system32>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다