Turtlebot3 waffle_pi teleoperation에 관해서 질문이 있습니다

remote pc 에서 ssh ubuntu@{IP}를 실행한 터미널에서
$ export TURTLEBOT3_MODEL=waffle_pi
$ ros2 launch turtlebot3_bringup robot.launch.py 를 통해 bringup을 실행을 했습니다

이후 teleoperation을 하기위해 remote pc에서 터미널을 열어서
$ export TURTLEBOT3_MODEL=waffle_pi
$ ros2 run turtlebot3_teleop teleop_keyboard
를 실행시켰더니 Control Your Turtlebot3 화면까지는 확인하였습니다.
하지만 여기서 wadx 어떠한 키보드를 눌러도 터틀봇이 작동하지 않습니다.

혹시나해서 ssh ubuntu@{ip} 를 실행한 터미널에서
$ export TURTLEBOT3_MODEL=waffle_pi
$ ros2 run turtlebot3_teleop teleop_keyboard
를 실행시켜 작동해보니 터틀봇이 작동하였습니다.

원래 ssh ubuntu@{ip} 를 실행한 터미널에서 teleoperation을 실행하는 것이 맞는것인지
아니라면 remote pc에서 왜 teleoperation이 작동 하지 않는것이지 궁급합니다.

remote PC에서 teleop이 동작하지 않는다면 remote PC와 RPI의 time sync가 이루어지지 않아 메세지가 드랍되는 경우라고 생각됩니다.

  1. remote PC와 RPI에서 Time sync 후 재시도해 보시고
  2. RPi에서 cmd_vel 토픽을 읽었을 때 remote PC의 값이 정상적으로 받아지는지 확인해보시기 바랍니다.

감사합니다 현재 ros2 topic list 및 ros2 service list는 모두 정상적으로 나오는게 확인되었습니다!
이후 Time sync를 시도해보겠습니다.

추가 질문이지만 라즈베리파이에서 cmd_vel 토픽을 읽는다는것이 어떠한 의미인지 잘 모르겠습니다. 방법을 가르쳐 주실수 있으십니까??

RPi의 터미널 창에서 아래 명령어를 입력하면 cmd_vel의 값을 출력합니다.

$ ros2 topic echo /cmd_vel

remote PC의 teleop에서 입력된 cmd_vel 값과 RPi에서 전달받은 값이 동일한지 확인을 하는 방법입니다.
메세지의 시간 차이로 인해 값이 전달되지 않는 경우 remote PC의 현재 값과 RPI에서 읽어들인 값이 달라지게 됩니다.

Time sync를 재설정하고 위의 과정을 반복해도 변화가 없습니다.

ssh ubuntu@~~ 로 접속한 터미널에서는 $ ros2 run turtlebot3_teleop teleop_keyboard 이후 awdx를 눌렀을때
ssh ubuntu@~~ 에서 ros2 topic echo /cmd_vel 을 입력한 터미널에서 변화가 생기지만
remotePC 터미널에서 $ ros2 run turtlebot3_teleop teleop_keyboard을 입력한 후 awdx를 입력해도
ros2 topic echo /cmd_vel 을 입력한 터미널에서 변화가 생기지 않습니다.
다른 해결방법이 있는지 궁급합니다

Remote PC에서 생성한 cmd_vel 값이 RPi에서 실행한 echo 화면에서 업데이트 되지 않는다면 네트워크 문제인 것 같습니다.
네트워크 환경에서 막혀있는 포트가 있는지 확인해보시기 바랍니다.

네트워크 이슈로 인해 Remote PC의 teleop이 제대로 실행되지 않는 경우 새로운 SSH를 RPi에 연결해서 TB3에서 teleop을 실행시키는 방법도 있습니다.

새로운 SSH를 RPi에 연결하라는 의미가 ssh 새로 install 하라는 의미와 같은 말씀이신가요??

모호한 문장으로 혼동을 드려 죄송합니다.

Remote PC에 새로운 터미널 창을 띄워서 RPi에 ssh 커맨드로 접속하라는 의미입니다.
터미널 창에는 한번에 한개의 명령어만 실행할 수 있기 때문에 bringup을 실행시킨 터미널에서는 teleop을 추가로 실행할 수 없습니다.
따라서 새로운 터미널 창에서 ssh로 RPi에 접속해서 teleop을 실행하시면 됩니다.

네 그대로 진행을 하고있습니다
RPi(1)
bringup 실행
RPi(2)
ros2 topic list 정상적으로 나타남, teleop 실행시 터틀봇이 움직입니다.
하지만
remotePC에서
ros2 topic list가 재대로 나타나지 않고, teleop도 작동하지 않습니다.
위 경우 ssh로 접속한 터미널에서는 bringup이 작동하고 있는도중에 실행시킨 결과입니다.

다른 해결방안이 있는지 궁금합니다!