본문 바로가기

AI로봇/ROS2+SLAM

AI로봇랩 3강) ROS2로 원격 로봇 제어하기

Frenz AI로봇랩에서 진행한 AI로봇랩 2기 3강 내용입니다.

 

내용

   - ROS2를 이용하여 PC에서 원격으로 로봇(시뮬레이션&실제)을 제어


참고

 

ROS2: Teleop 명령으로 조종하기 - OMOROBOT

터미널을 열고 ssh를 통해 r1mini에 (ip가 192.168.1.2인 경우)접속하여 다음을 입력합니다. 이제 원격 PC에서 teleop keyboard를 실행하기 위해 다음을 입력합니다. 이제 아래와 같은 화면이 나타납니다. 키

omorobot.com

 


ROS2: Teleop 명령으로 로봇 제어하기

1) 원격으로 로봇 제어(시뮬레이션)

  • 로봇이 없는 경우 시뮬레이션에서 로봇을 제어해보자. 원격 PC에서 teleop keyboard를 실행한다.
  • Ubuntu terminal을 2개 연 후 아래와 같이 각각 명령어를 입력한다

 

 

(terminal 1) >> ros2 run omo_r1mini_teleop teleop_keyboard
(terminal 2) >> ros2 launch omo_r1mini_gazebo omo_r1mini.launch.py

 

  • 성공하면 아래와 같이 Gazebo 창이 뜬다. terminal 2에 커서를 누른 후 키보드를 이용하여 앞뒤좌우(wxad)를 눌러 시뮬레이션 상의 로봇을 움직일 수 있다. 꼭 시뮬레이션에서 로봇을 동작시킨 후 실제 로봇에 적용하자.

 

 

2) 원격으로 로봇 제어(실제 로봇)

  • 꼭 1)에서 시뮬레이션으로 로봇이 잘 동작하는지 체크 한 후, 실제 로봇에 적용해본다. 
  • Ubuntu terminal을 2개 연 후 아래와 같이 각각 명령어를 입력한다.

 

2.1) Terminal 1 (Omorobot)

  • 원격PC에서 SSH를 이용해 r1mini(Omorobot)에 접속한 후 실행
  • ssh를 통해 r1mini에 (ip가 192.168.144.192인 경우) 접속하여 다음을 입력

 

 

(terminal 1) >> ssh r1mini@<<r1mini의 IP>>
                ex) ssh r1mini@192.168.0.1  # ip가 192.168.0.1인 경우
(terminal 1) >> ros2 launch omo_r1mini_bringup omo_r1mini_bringup.launch.py

 

 

2.2) Terminal 2 (원격PC)

  • 원격 PC에서 Omorobot을 키보드로 제어(teleop keyboard) 하기 위하여 아래 명령어를 입력한다.

 

 

(terminal 2) >> ros2 run omo_r1mini_teleop teleop_keyboard

 

 

  • 1)에서와 마찬가지로 (terminal 2)에 커서를 누른 후, 앞뒤좌우(wxad)를 눌러 로봇의 바퀴가 움직이면 성공~!

 

 

 

 

원격으로 로봇이 움직여지나요?? 그럼 이제 로봇의 하이라이트, SLAM을 시작해봅시다~!!