- 目前,TurtleBot3 官方支援 ROS1 Noetic 和 ROS2 Humble。2025年將分配更多資源,計劃在第一季完成對 Humble 的範例支持,並在第二季擴展對 Jazzy 的支持。下表概述了每個 ROS 發行版支援的功能。
- 此文於 April, 2025 中譯發布,對照英文線上手冊由 Chap 3 開始。內容不會即時修正,內容如有差異不同,請以 [英文線上手冊] 為主
功能支援 (V: 有,X: 無) | ROS1 Noetic | ROS2 Humble | ROS2 Jazzy(soon) |
---|---|---|---|
Teleop 遙控 | V | V | V |
SLAM 建圖定位 | V | V | V |
Navigation 導航 | V | V | V |
Simulation 模擬 | V | V | V |
Manipulation 機器手臂 | V | V | X |
Home Service Challenge家庭服務挑戰賽 | V | X | X |
Autonomous Driving自動駕駛挑戰賽 | V | V | X |
Machine Learning機器學習based on Melodic | X (port soon) | X | X |
C3. TB3 快速入門指南 #
C3.1. PC Setup(桌電/筆電) 設定 #
C3.1.1. 在 Remote PC 下載及安裝 Ubuntu #
首先要在 Remote PC(你的桌電或是筆電)上安裝 Ubuntu(一種 Linux 作業系統). 請先下載 Ubuntu 24.04 LTS Desktop 版及參考安裝步驟進行安裝.
C3.1.2. 在 Remote PC 安裝 ROS2 #
請遵照官方 ROS2 文件來安裝 ROS2 Jazzy。
對大部分 Linux 使用者,強烈建議使用 Debian package installation method 。
補充資料:如何安裝 ROS2 的詳細資訊。 #
1. 到 Debian package installation 頁面
2. 複製下方綠色方框內的 CLI 指令,然後貼到 terminal 視窗內(Ctrl + Shift + v)。

3. 一般來說,對 Remote PC 推薦選擇 ros-jazzy-desktop

4. 增加一行 source 你的環境到你的 bashrc 檔
[Remote PC]
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc
C3.1.3. 安裝相關 ROS2 Packages #
1. 在 Remote PC 開新 terminal (Ctrl + Alt + T)
2. 安裝 Gazebo 模擬器
[Remote PC]
$ sudo apt-get update
$ sudo apt-get install curl lsb-release gnupg
$ sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install gz-harmonic
3. 安裝 Cartographer
[Remote PC]
$ sudo apt install ros-jazzy-cartographer
$ sudo apt install ros-jazzy-cartographer-ros
4. 安裝 Navigation2
[Remote PC]
$ sudo apt install ros-jazzy-navigation2
$ sudo apt install ros-jazzy-nav2-bringup
C3.1.4. 安裝 TurtleBot3 Packages #
安裝所需的 TurtleBot3 Packages
[Remote PC]
$ source /opt/ros/jazzy/setup.bash
$ mkdir -p ~/turtlebot3_ws/src
$ cd ~/turtlebot3_ws/src/
$ git clone -b jazzy https://github.com/ROBOTIS-GIT/DynamixelSDK.git
$ git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3.git
$ sudo apt install python3-colcon-common-extensions
$ cd ~/turtlebot3_ws
$ colcon build --symlink-install
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
C3.1.5. 環境設置 #
1. 在 Remote PC 上設定 ROS 環境
[Remote PC]
$ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
$ echo 'source /opt/ros/jazzy/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
C3.2. SBC 單板電腦設定 #
此節 SBC 建議使用樹莓派 4B
C3.2.1. 準備 microSD 卡及讀卡機 #

如果 PC 沒有 microSD 槽,請改用 microSD 讀卡機來燒錄映像檔。
- TurtleBot3 產品並沒有附 microSD 讀卡機,需自備
C3.2.2. 安裝 Raspberry Pi Imager #
下載 Raspberry Pi Imager ,來安裝樹莓派版的 Ubuntu Server 24.04。
如果已經安裝了 Raspberry Pi Imager,請更新到最新版。
如要了解更多 Raspberry Pi Imager 資訊,請參考此篇文章。
從官網 raspberry.org 下載 Raspberry Pi Imager
補充資料:如何安裝 Raspberry Pi Imager 的詳細資訊。 #
可選擇安裝 deb 或是 apt 的 rpi-imager 版本
1. deb 版: 下載 deb 檔

$ cd Downloads
$ sudo dpkg -i imager_[you_rversion]_amd64.deb #check the file name downloaded
如果出現相依性錯誤,使用下列指令來強制安裝
$ sudo apt-get install -f
$ rpi-imager
2. apt 版
$ sudo apt install rpi-imager
$ rpi-imager
C3.2.3. 安裝 Ubuntu 24.04 #
步驟
1. 執行 Raspberry Pi Imager
2. 按 CHOOSE OS
3. 選擇 Other general-purpose OS
4. 選擇 Ubuntu
5. 選擇 Ubuntu Server 24.04.2 LTS(64-bit),其支援 Raspberry Pi 3/4/400。(要選擇 Server OS,不是 desktop OS)

6. 按 CHOOSE STORAGE,選擇 microSD 卡
7. 按 Next 來安裝 Ubuntu
8. 按 Edit Setting 來設定 WiFi 及 ssh

9. 設定 username and password, Configure wireless LAN, Wireless LAN country。以及在 SERVICES tab 勾選 Enable SSH 及 Use password authenication。


10. 完成上述設定步驟,則下一節的 WiFi 設定步驟(到步驟 4)可以跳過。
C3.2.4. 設定 Raspberry Pi #
1. 樹莓派開機
- 請參考此處有關,樹莓派如何連接 HDMI,電源,輸入設備
a. 連接 HDMI 螢幕到樹莓派的 HDMI port
b. 連接鍵盤跟滑鼠到樹莓派的 USB port
c. 插入 microSD 卡
d. 連接電源(透過 USB or OpenCR),將樹莓派開機
e. 登入 ID: ubuntu,密碼: ubuntu。登入後,會要求改密碼。

2. 輸入指令,編輯網路設定檔
[Turtlebot3 SBC]
$ sudo nano /etc/netplan/50-cloud-init.yaml
3. 檔案開啟後,將 WIFI_SSID 及 WIFI_PASSWORD 內容替換為你的 Wifi ID 及密碼。

4. Ctrl + S 儲存檔案,Ctrl + X 結束編輯。
5. 以下指令來編輯自動更新檔
[Turtlebot3 SBC]
$ sudo nano /etc/apt/apt.conf.d/20auto-upgrades
6. 編輯自動更新檔設定,符合下列指令
[Turtlebot3 SBC]
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
7. Ctrl + S 儲存檔案,Ctrl + X 結束
8. 設定 systemd 避免無網路時會開機延遲,需要以下指令來 mask systemd 程序。
[Turtlebot3 SBC]
$ systemctl mask systemd-networkd-wait-online.service
9. 停用 Disable Suspend 及 Hilbernation
[Turtlebot3 SBC]
$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
10. SBC 重開機
[Turtlebot3 SBC]
$ sudo reboot
11. 樹莓派重開機後,如果要在 Remote PC 上使用 SSH 連上樹莓派工作,可在 Remote PC 的 terminal 使用以下指令來連接 SBC,密碼要使用 step 1 修改後的密碼
[Remote PC]
$ ssh ubuntu@{IP Address of Raspberry PI}
補充資料:了解更多如何透過 SSH 來連接。 #
1. 編輯 SSH 設定檔
[Turtlebot3 SBC]
$ sudo nano /etc/ssh/sshd_config.d/50-cloud-init.conf

2. 安裝 net-tools 及檢查你的 IP
[Turtlebot3 SBC]
$ reboot
$ sudo apt update
$ sudo apt install net-tools
$ ifconfig

3. 在 remote PC 輸入下列指令,要使用 Ubuntu 系統的 password
[Remote PC]
$ ssh ubuntu@{IP Address of Raspberry PI}
C3.3. 在樹莓派安裝套件 #
補充資料:如果使用 TB3 2GB 版,在 building packages 時務必要產生 swap memory。要不然會記憶體不足,因而 building packages 失敗。 #
- 產生 2GB swap memory
[Turtlebot3 SBC]
$ sudo fallocate -l 2G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
- 以下指令會確保系統重開機時,swap 檔會自動啟用
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 檢查 swap memory
$ free -h

1. 安裝 ROS2 Jazzy Jalisco
[Turtlebot3 SBC]
請依照官方 ROS2 Jazzy installation guide 安裝說明。建議安裝 ROS-Base(Bare Bones)。
2. 安裝及 Build ROS Packages
Building turtlebot3 package 可能會耗時超過 1hr。請務必 SMPS 電源線接市電供電,不要用電池。
[Turtlebot3 SBC]
$ sudo apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential
$ sudo apt install ros-jazzy-hls-lfcd-lds-driver
$ sudo apt install ros-jazzy-turtlebot3-msgs
$ sudo apt install ros-jazzy-dynamixel-sdk
$ sudo apt install libudev-dev
$ mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src
$ git clone -b jazzy https://github.com/ROBOTIS-GIT/turtlebot3.git
$ git clone -b jazzy https://github.com/ROBOTIS-GIT/ld08_driver.git
$ cd ~/turtlebot3_ws/src/turtlebot3
$ rm -r turtlebot3_cartographer turtlebot3_navigation2
$ cd ~/turtlebot3_ws/
$ echo 'source /opt/ros/jazzy/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
$ colcon build --symlink-install --parallel-workers 1
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
3. 設定 OpenCR 的 USB port
[Turtlebot3 SBC]
$ sudo cp `ros2 pkg prefix turtlebot3_bringup`/share/turtlebot3_bringup/script/99-turtlebot3-cdc.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
4. 要在 ROS2 DDS communication 中設定 ROS Domain ID,當在相同網域時,ROS_Domain_ID 在 Remote PC 端及 TurtleBot3 端都要相同。參照以下指令,來指定 ROS_Domain_ID 給 TB3 上的 SBC
– 預設 TurtleBot3 ID 是 30
– 建議將 Remote PC 跟 TurtleBot3 的 ROS_Domain_ID 都設為 30
[Turtlebot3 SBC]
$ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
$ source ~/.bashrc
C3.3.1. LDS 光達的設定 #


2022 年版 TurtleBot3 標配的光達已經改為 LDS-02。請使用下列指令在 SBC(樹莓派) 上來設定 LDS-02 光達。
依照 LDS 光達型號,使用 LDS-01 或 LDS-02
[Turtlebot3 SBC]
$ echo 'export LDS_MODEL=LDS-02' >> ~/.bashrc
下列指令來套用變更
[Turtlebot3 SBC]
$ source ~/.bashrc
C3.3. OpenCR 控制板設定 #
1. 使用 microUSB 連接線連接樹莓派及 OpenCR

2. 樹莓派安裝所需套件,以便上傳 OpenCR 韌體
[Turtlebot3 SBC]
$ sudo dpkg --add-architecture armhf
$ sudo apt-get update
$ sudo apt-get install libc6:armhf
3. 依照 TB3 的款式,設定 OpenCR_MODEL 參數名稱為 burger 或 waffle
[Turtlebot3 SBC]
$ export OPENCR_PORT=/dev/ttyACM0
$ export OPENCR_MODEL=burger
$ rm -rf ./opencr_update.tar.bz2
4. 下載韌體解壓縮,以便上傳
[Turtlebot3 SBC]
$ wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS2/latest/opencr_update.tar.bz2
$ tar -xvf opencr_update.tar.bz2
5. 上傳韌體到 OpenCR
[Turtlebot3 SBC]
$ cd ./opencr_update
$ ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr
6. 以 Burger 為例,如果成功上傳韌體,會出現下列資訊

7. 如果上傳失敗,可以依下列指示,嘗試在 recovery mode 下重新上傳韌體。OpenCR 的 recovery mode 啟動順序如下。在 recovery mode 時,OpenCR 的 STATUS led 燈會定時的閃爍。
- 按住 PUSH SW2 鍵
- 按一下 Reset 鍵
- 然後鬆開 Reset 鍵
- 再鬆開 PUSH SW2 鍵

補充資料:使用 Arduino IDE 來上傳韌體步驟。 #
1. 如 PC 的 OS 是 Linux,下列指令可設定 USB ports 給 OpenCR 使用。如果是其他 OS(OSX or Windows),可跳過此步驟。
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/99-opencr-cdc.rules
$ sudo cp ./99-opencr-cdc.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
$ sudo apt install libncurses5-dev:i386
2. 安裝 Arduino IDE
3. 安裝好後,執行 Arduino IDE
4. 按 Ctrl 及 , 來打開 Preferences menu
5. 在 Additional Boards Manager URLs 輸入下列位址
https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json

6. 打開 TurtleBot3 韌體。依你的平台選擇對應的韌體。
- Burger: File > Examples > Turtlebot3 ROS2 > turtlebot3_burger
- Waffle/Waffle Pi: File > Examples > Turtlebot3 ROS2 > turtlebot3_waffle
7. 連接 OpenCR 板到 PC 上,從 Tools > Board 選單選擇 OpenCR > OpenCR Board
8. 從 Tools > Port 選單中,選擇連接 OpenCR 的 USB port
9. upload 圖示或 Ctrl+U 來上傳 TB3 韌體


10. 如果上傳失敗,可以依下列指示,嘗試在 recovery mode 下重新上傳韌體。OpenCR 的 recovery mode 啟動順序如下。在 recovery mode 時,OpenCR 的 STATUS led 燈會定時的閃爍。
- 按住 PUSH SW2 鍵
- 按一下 Reset 鍵
- 然後鬆開 Reset 鍵
- 再鬆開 PUSH SW2 鍵

C3.3.1. OpenCR 測試 #
你可以使用 PUSH SW1 及 PUSH SW2 按鍵,來檢查 TB3 是否正確組裝。這個流程,會測試左右兩個 Dynamixel 智能馬達設定,及 OpenCR 控制板韌體。

1. 在組裝好 TB3 後,將電池連上 OpenCR,打開電源開關,應會看到 OpenCR 板上的 Power LED 燈亮起
2. 將 TB3 放在平面地板上。為安全起見,建議空間的安全半徑為 1m。
3. 按住 PUSH SW1 鍵幾秒鐘,會讓 TB3 往前直行 30cm。
4. 按住 PUSH SW2 鍵幾秒鐘,會讓 TB3 原地旋轉 180 度。
C3.4. 硬體組裝 #

C3.4.1. TB3 組裝手冊 #
TB3 出貨時是盒裝,零配件是未組裝狀態。請下載相對應的 PDF 來組裝
C3.5. Bringup 如何啟動 #
C3.5.1. Bringup 啟動 TB3 #
1. 在 remote PC 上 Ctrl + Alt + T 開新 terminal,使用 SSH 連上樹莓派的 IP address。在樹莓派上輸入你的 Ubuntu 密碼。
[Remote PC]
$ ssh ubuntu@{IP_ADDRESS_OF_RASPBERRY_PI}
2. 啟動基礎套件開始 TB3 應用。${TB3_MODEL} 名稱需要置換為 burger,waffle,or waffle_pi
[Turtlebot3 SBC]
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_bringup robot.launch.py
3. 啟如果使用的 TB3 是 burger,terminal 視窗會出現訊息如下
[Turtlebot3 SBC]
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_bringup robot.launch.py
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2019-08-19-01-24-19-009803-ubuntu-15310
[INFO] [launch]: Default logging verbosity is set to INFO
urdf_file_name : turtlebot3_burger.urdf
[INFO] [robot_state_publisher-1]: process started with pid [15320]
[INFO] [hlds_laser_publisher-2]: process started with pid [15321]
[INFO] [turtlebot3_ros-3]: process started with pid [15322]
[robot_state_publisher-1] Initialize urdf model from file: /home/ubuntu/turtlebot_ws/install/turtlebot3_description/share/turtlebot3_description/urdf/turtlebot3_burger.urdf
[robot_state_publisher-1] Parsing robot urdf xml string.
[robot_state_publisher-1] Link base_link had 5 children
[robot_state_publisher-1] Link caster_back_link had 0 children
[robot_state_publisher-1] Link imu_link had 0 children
[robot_state_publisher-1] Link base_scan had 0 children
[robot_state_publisher-1] Link wheel_left_link had 0 children
[robot_state_publisher-1] Link wheel_right_link had 0 children
[robot_state_publisher-1] got segment base_footprint
[robot_state_publisher-1] got segment base_link
[robot_state_publisher-1] got segment base_scan
[robot_state_publisher-1] got segment caster_back_link
[robot_state_publisher-1] got segment imu_link
[robot_state_publisher-1] got segment wheel_left_link
[robot_state_publisher-1] got segment wheel_right_link
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Init TurtleBot3 Node Main
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Init DynamixelSDKWrapper
[turtlebot3_ros-3] [INFO] [DynamixelSDKWrapper]: Succeeded to open the port(/dev/ttyACM0)!
[turtlebot3_ros-3] [INFO] [DynamixelSDKWrapper]: Succeeded to change the baudrate!
[robot_state_publisher-1] Adding fixed segment from base_footprint to base_link
[robot_state_publisher-1] Adding fixed segment from base_link to caster_back_link
[robot_state_publisher-1] Adding fixed segment from base_link to imu_link
[robot_state_publisher-1] Adding fixed segment from base_link to base_scan
[robot_state_publisher-1] Adding moving segment from base_link to wheel_left_link
[robot_state_publisher-1] Adding moving segment from base_link to wheel_right_link
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Start Calibration of Gyro
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Calibration End
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Motors
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Wheels
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Sensors
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create battery state publisher
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create imu publisher
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create sensor state publisher
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create joint state publisher
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Devices
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create motor power server
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create reset server
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Succeeded to create sound server
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Run!
[turtlebot3_ros-3] [INFO] [diff_drive_controller]: Init Odometry
[turtlebot3_ros-3] [INFO] [diff_drive_controller]: Run!
4. 可用下列指令,來列出 topics 及 services
- 將 Remote PC 及 Turtlebot3 SBC 連接到相同網路,Remote PC 就可以訂閱由 Turtlebot3 SBC 發布的 topics
a. 檢查 Remote PC 及 Turtlebot3 SBC 有沒有相同的 ROS_DOMAIN_ID。他們必須要有相同的 ROS_DOMAIN_ID。
[Remote PC],[Turtlebot3 SBC]
export ROS_DOMAIN_ID=30
b. 檢查 Remote PC 及 Turtlebot3 SBC 有沒有相同的 RMW(ROS Middleware) implementation。
[Remote PC],[Turtlebot3 SBC]
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
c. 檢查你的 wifi 路由器是否支援 multi cast。如果是,請設定你的路由器以允許 multi cast。
5. topics 及 services 的列表,會依據你安裝的 ROS 套件版本而有不同。
- Topic List
$ ros2 topic list
/battery_state
/cmd_vel
/imu
/joint_states
/magnetic_field
/odom
/parameter_events
/robot_description
/rosout
/scan
/sensor_state
/tf
/tf_static
- Service list
$ ros2 service list
/diff_drive_controller/describe_parameters
/diff_drive_controller/get_parameter_types
/diff_drive_controller/get_parameters
/diff_drive_controller/list_parameters
/diff_drive_controller/set_parameters
/diff_drive_controller/set_parameters_atomically
/hlds_laser_publisher/describe_parameters
/hlds_laser_publisher/get_parameter_types
/hlds_laser_publisher/get_parameters
/hlds_laser_publisher/list_parameters
/hlds_laser_publisher/set_parameters
/hlds_laser_publisher/set_parameters_atomically
/launch_ros/describe_parameters
/launch_ros/get_parameter_types
/launch_ros/get_parameters
/launch_ros/list_parameters
/launch_ros/set_parameters
/launch_ros/set_parameters_atomically
/motor_power
/reset
/sound
/turtlebot3_node/describe_parameters
/turtlebot3_node/get_parameter_types
/turtlebot3_node/get_parameters
/turtlebot3_node/list_parameters
/turtlebot3_node/set_parameters
/turtlebot3_node/set_parameters_atomically
C3.6. 基本操作 #
C3.6.1. Teleoperation 遙控 #
TurtleBot3 可用不同的設備來遙控。只要先確認 SBC 及 ROS 版本都有支援對應的 ROS packages。
C3.6.1.1. 鍵盤控制 #
1. 在 Remote PC 上新開 terminal
2. 執行 teleoperation node 以便進行遙控。如果 TURTLEBOT3_MODEL 參數未指定,請替換 ${TB3_MODEL} 為 burger 或 waffle 或 waffle_pi
[Remote PC]
$ export TURTLEBOT3_MODEL=${TB3_MODEL}
$ ros2 run turtlebot3_teleop teleop_keyboard
3. 如果節點開啟成功,terminal 會顯示訊息如下。
[Remote PC]
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
C3.6.1.2. RC-100 遙控器 #
ROBOTIS RC-100B 遙控器,已經預設在 TB3 Burger/Waffle/Waffle Pi OpenCR 控制板的韌體內。此遙控器須配合 BT-410 藍芽模組一起使用。TB3 Waffle Pi 款標配內含 RC-100B 遙控器及 BT-410 藍芽模組,Burger 款則需另購。當使用 RC-100 時,不需要執行任何特定節點,因為在韌體內,turtlebot_core node 節點會產生所需的 /cmd_vel topic,直接連接到 OpenCR 控制板。

1. 將 BT-410 藍芽模組連接到 OpenCR 的任何 UART port。參考英文線上手冊 chap 13.1.2. OpenCR 1.0 (https://emanual.robotis.com/docs/en/platform/turtlebot3/appendix_opencr1_0/)
2. 使用 RC-100 遙控 TB3
- Up / Down: 直線加速或減速
- Left / Right: 角速度加速或減速
C3.6.2. Topic Monitor #
1. 從 PC 下指令執行 rqt。如果 topic monitor 視窗沒有出現,可以選擇 plugin -> Topics -> Topic Monitor.
[Remote PC]
$ rqt

2. 當 topic monitor 載入後,預設 topic values 是沒有監控的。點擊每個 topic 前的 checkbox 方塊框打 V 來開始監控。

3. 點擊 checkbox 前的 ▶ 三角箭號圖示,來查看詳細的 topic 資訊

- /battery_state 顯示電池狀態的有關資訊,如當下的電壓,尚有電池容量。

- /odom 顯示 TB3 的 odometry 測距訊息。Topic 有 encoder 數據的方向及位置資料。

- /sensor_state 顯示 encoder 數值、電池、扭力等訊息

- /scan 顯示所有 LDS 光達的數據訊息,如 angle_max and min, range_max and min, ranges 等
