ROS2 Joystick Teleop#

What you’ll do

  • ROS2에서 웹 조이스틱 노드로 명령 입력(/cmd_vel)을 만들어 차량을 움직여 봅니다.

Prerequisites

Next


참고

차량을 조이스틱으로 조작해봅시다

주의

초기 테스트는 바퀴가 공중에 뜬 상태(또는 아주 낮은 속도)에서 진행하세요.


1. 차량 노드 실행#

ros2 run kmc_hardware_driver_node kmc_hardware_driver_observe_node \
  --ros-args -p port:=/dev/ttyKMC -p baud:=115200 -p battery_hz:=1.0

2. 웹 조이스틱 노드 실행#

kmc_web_joystick_node는 웹 페이지에서 입력을 받아 /cmd_vel을 publish합니다(ROS2 명령 입력).

2.1 PC에서 로컬로 접속#

ros2 run kmc_hardware_driver_node kmc_web_joystick_node

접속: http://127.0.0.1:8080

2.2 휴대폰/다른 기기에서 접속#

ros2 run kmc_hardware_driver_node kmc_web_joystick_node \
  --ros-args -p bind_address:=0.0.0.0 -p http_port:=8080

같은 Wi-Fi에 연결된 장치에서 http://<차량_IP>:8080로 접속합니다. 방화벽이 있으면 8080 포트를 허용해야 합니다.


3. 주기 설정(선택)#

ros2 run kmc_hardware_driver_node kmc_web_joystick_node \
  --ros-args -p publish_hz:=100.0 -p rate_publish_hz:=2.0
  • publish_hz: /cmd_vel publish 주기 (\(\mathrm{Hz}\))

  • rate_publish_hz: rate 토픽 갱신 주기 (\(\mathrm{Hz}\))

  • 추가 설정

http://<차량_IP>:8080/?send_hz=1000

send_hz를 링크에 추가하여 속도를 조정할 수 있습니다.#

4. 토픽#

  • Publish

    • /cmd_vel (ROS2 명령 입력)

    • /cmd_vel_tx_rate_hz

    • /driver_rx_rate_hz

  • Subscribe

    • /vehicle_speed (rate 계산용)