ROS2 Turtlebot3 실물 구동
nmap 사용
sudo apt install nmap
폰에 핫스팟 연결하고 폰의 IP 확인하기
nmap -sn 10.42.0.0/24
/*
Starting Nmap 7.80 ( https://nmap.org ) at 2025-01-02 09:25 KST
Nmap scan report for lej-ubuntu (10.42.0.1)
Host is up (0.00012s latency).
Nmap scan report for 10.42.0.99
Host is up (0.088s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.74 seconds
*/
핫스팟 연결하기
Settings > Wi-Fi > 우측 상단 세로 쩜쩜쩜 > Turn On Wi-Fi Hotspot
ssh ID 할 거랑 비밀번호 8자리를 넣고, Turn On
ifconfig
/*
10.42.0.1
*/
ssh
ssh 아이디@IP주소
sftp
sftp 아이디@IP주소
이렇게 하면 sftp로 들어간 곳에서 파일을 get 해올 수 있다.
sftp> ls *.jpg
background.jpg
sftp> get background.jpg
Fetching /home/gnd0/background.jpg to background.jpg
/home/gnd0/background.jpg 100% 32KB 907.4KB/s 00:00
Turtlebot3 실물 연결
이미지 다운로드
TurtleBot3 > Quick Start Guide > SBC Setup
핫스팟 연결
sd카드를 내 노트북에 연결하고 writable을 선택해서
writable/etc/netplan 에서 sudo vim 50-cloud-init.yaml
나는 핫스팟 ID를 turtle3, PW를 turtlebot3 로 했다.
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
dhcp6: true
optional: true
wifis:
wlan0:
dhcp4: true
dhcp6: true
access-points:
아이디:
password: 비밀번호비밀번호
터틀봇3에 전원을 연결하고 노트북에 핫스팟을 켠다.
노트북 터미널에서
nmap -sn 10.42.0.0/24
/*
Starting Nmap 7.80 ( https://nmap.org ) at 2025-01-02 11:08 KST
Nmap scan report for lej-ubuntu (10.42.0.1)
Host is up (0.00027s latency).
Nmap scan report for 10.42.0.99
Host is up (0.026s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 3.01 seconds
*/
터틀봇3와 내 노트북의 도메인아이디 같아야 함
vim ~/.bashrc에서
export ROS_DOMAIN_ID=12
구동되는지 확인
터틀봇3 원격 접속 터미널에서
ID는 ubuntu, PW는 turtlebot 이라고 했음
ros2 launch turtlebot3_bringup robot.launch.py
[turtlebot3_ros-3] [INFO]: Run!
이게 나오면
노트북 터미널에서
ros2 topic list
ros2 run turtlebot3_teleop teleop_keyboard
카메라 실행
터틀봇3의 터미널에서
ros2 run raspicam2 raspicam2_node --ros-args --params-file `ros2 pkg prefix raspicam2`/share/raspicam2/cfg/params.yaml
ros2 launch turtlebot3_bringup robot.launch.py
내 노트북 터미널에서
ros2 topic list
/*
/camera/image/camera_info
/camera/image/compressed
/parameter_events
/rosout
*/
ros2 run rqt_image_view rqt_image_view
안나오면 새로고침 버튼 누르기
/camera/image/compressed 선택
ros2 run turtlebot3_teleop teleop_keyboard
# ros2 run tb3_pkg remote_tb3
위에 다 실행시키면
ros2 topic list
/*
/battery_state
/camera/image/camera_info
/camera/image/compressed
/cmd_vel
/imu
/joint_states
/magnetic_field
/odom
/parameter_events
/robot_description
/rosout
/scan
/sensor_state
/tf
/tf_static
*/
지도 그리기
터틀봇3의 터미널에서
ros2 launch turtlebot3_bringup robot.launch.py
내 노트북에서
ros2 launch turtlebot3_cartographer cartographer.launch.py
ros2 run turtlebot3_teleop teleop_keyboard
맵 저장하기
ros2 run nav2_map_server map_saver_cli -f ~/map
네비게이션 실행
ros2 launch turtlebot3_navigation2 navigation2.launch.py map:=$HOME/map.yaml
Linux Shutdown 명령어
리부팅
sudo reboot
sudo shutdown -r 30 # 30분 뒤에 리부팅
sudo shutdown -r now
끄기
sudo halt
sudo shutdown -h now
Comments