이제 터틀봇3 버거를 키보드를 이용해서 움직여보자~
역시
e-메뉴얼 참고하기
터틀봇3 전원을 켜고 PC(원격PC)에서 ssh로 접속을 한다
ssh ubuntu@{라즈베리파이의 ip주소}
예
ssh ubuntu@192.168.0.1
TURTLEBOT3_MODEL 모델을 burger로 export 해준다
매번 터미널이 열릴 때마다 모델이름으로 지정을 해줘야하므로
매번 export하기 번거로우니 ~/.bashrc 파일에 추가해준다
에디터로 bashrc 파일을 열어서 맨 아래줄에 추가해준다
export TURTLEBOT3_MODEL=burger
wq로 눌러줘서 저장하고 빠져나온다
먼저 turtlebot3 robot을 가동을 해줘야하는데 명령어는
ros2 launch turtlebot3_bringup robot.launch.py
ros 에서는 roslaunch 였는데 ros2가 되면서 명령어, 쓰는 방식이 조금씩 바뀐거 같다 ros2 launch 패키징명 노드파일 형태가 된다
생략...
[turtlebot3_ros-3] [INFO] [1646205886.675499900] [turtlebot3_node]: Add Devices
[turtlebot3_ros-3] [INFO] [1646205886.675544230] [turtlebot3_node]: Succeeded to create motor power server
[turtlebot3_ros-3] [INFO] [1646205886.680233019] [turtlebot3_node]: Succeeded to create reset server
[turtlebot3_ros-3] [INFO] [1646205886.682675600] [turtlebot3_node]: Succeeded to create sound server
[turtlebot3_ros-3] [INFO] [1646205886.684987340] [turtlebot3_node]: Run!
대략 이런식으로 나오면서 가동이 되는데 터미널 자체에다가 또 명령어를 입력할 수 없으니
현재 터미널에서는 그대로 두고
새로운 다른 터미널을 열어서 ssh로 다시 접속을 해준다
ssh ubuntu@192.168.0.1
로봇을 움직이려면 컨트롤러로 움직일 수 있는데
무선 조종을 무선 컨트롤러로 말고도 키보드로 작동할 수가 있는데 그게 바로 teleop_keyboard 이다
새로 ssh로 접속한 터미널에서 아래처럼 실행
ros2 run turtlebot3_teleop teleop_keyboard
만약 .bashrc 파일에 터틀봇3 모델명을 안했다면
export TURTLEBOT3_MODEL=burger 를 해줘야한다
위의 명령어를 실행하면 아래처럼 나온다
Control Your TurtleBot3!
---------------------------
Moving around:
w
a s d
x
w/x : increase/decrease linear velocity (Burger : ~ 0.22, Waffle and Waffle Pi : ~ 0.26)
a/d : increase/decrease angular velocity (Burger : ~ 2.84, Waffle and Waffle Pi : ~ 1.82)
space key, s : force stop
CTRL-C to quit
이제 위의 키보드로 움직일 수가 있다. 잘 나와있는 것 처럼 끌때는 ctrl-c
w 키를 누르면 linear velocity 가 증가하면서 터틀봇3 버거가 움직이는 것을 볼 수 있다
currently: linear velocity 0.02 angular velocity 0.0
참고: 터틀봇3를 라즈베리파이에 따로 usb 전원을 연결하지말고
자체 배터리로 opencr 보드의 전원을 켜줘야한다
만약 라즈베리파이에 usb 충전기를 연결하고하면
teleop을 실행해도 터틀봇은 움직이지 않는다