- 使用馬達:XM430-W210-T
- 最大線性速度:0.40 m/s
- 最大角速度:1.25 rad/s
為了測試客製化系列的模型(下方教學以FET稱呼),需要下列一些配置。
可選擇直接安裝Ubuntu環境或在windows底下使用虛擬機安裝Ubuntu。
-
在windows底下使用虛擬機安裝Ubuntu。
-
直接安裝Ubuntu環境。
-
在PC下載並安裝Ubuntu20.04。
- Ubuntu 20.04 LTS Desktop image (64-bit)
- 詳細Ubuntu步驟請參考Ubuntu官方教學。
-
使用腳本安裝ROS noetic。(需連接網路)
$ sudo apt update $ sudo apt upgrade $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_noetic.sh $ chmod 755 ./install_ros_noetic.sh $ bash ./install_ros_noetic.sh
-
-
安裝相關依賴ROS packages。(需連接網路)
$ sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro ros-noetic-compressed-image-transport ros-noetic-rqt* ros-noetic-rviz ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers
-
選擇下列方式安裝FET ROS packages。(需連接網路)
-
腳本安裝(package會安裝於catkin_ws/src底下,若想安裝在其他workspace,請使用指令安裝另外創立worksapce。)
$ wget https://raw.githubusercontent.com/zhl017/omiyage/main/Setup_script/turtlebot3_fet/pc_setup.sh && chmod +x pc_setup.sh && ./pc_setup.sh && rm pc_setup.sh
-
指令安裝
$ sudo apt remove ros-noetic-turltebot3-msgs $ sudo apt remove ros-noetic-turtlebot3 $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ git clone https://github.com/zhl017/turtlebot3_fet $ git clone https://github.com/zhl017/turtlebot3_msgs_idm_custom $ cd ~/catkin_ws && catkin_make $ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc $ source ~/.bashrc
-
使用者名稱 : ubuntu
使用者密碼 : turtlebot
-
燒入Raspbeery Pi映像檔。
-
開機後遠端進入SBC並選擇下列方式安裝相關ROS packages。(需連接網路)
-
腳本安裝(package會安裝於catkin_ws/src底下,若想安裝在其他workspace,請使用指令安裝另外創立worksapce。)
$ wget https://raw.githubusercontent.com/zhl017/omiyage/main/Setup_script/turtlebot3_fet/sbc_setup.sh && chmod +x sbc_setup.sh && ./sbc_setup.sh && rm sbc_setup.sh
-
指令安裝
$ sudo apt remove ros-noetic-turltebot3-msgs $ sudo apt remove ros-noetic-turtlebot3 $ sudo rm -r catkin_ws $ mkdir -p ~/caktin_ws/src $ cd ~/catkin_ws/src $ git clone https://github.com/zhl017/turtlebot3_fet $ git clone https://github.com/zhl017/turtlebot3_msgs_idm_custom $ git clone -b develop https://github.com/ROBOTIS-GIT/ld08_driver.git $ cd ~/catkin_ws/src/turtlebot3_fet $ sudo rm -r fet_description/ fet_teleop/ fet_navigation/ fet_slam/ fet_example/ $ cd ~/catkin_ws && catkin_make -j1 $ source ~/.bashrc
-
-
將OpenCR連接上Raspberry Pi或PC上。
-
首次安裝可下載相關套件。
$ sudo dpkg --add-architecture armhf $ sudo apt-get update $ sudo apt-get install libc6:armhf
-
設定板子窗口、型號,及刪除先前更新韌體包。
$ export OPENCR_PORT=/dev/ttyACM0 $ export OPENCR_MODEL=fet $ rm -rf ./opencr_update.tar.bz2
-
下載新的韌體包並解壓縮。
$ wget https://github.com/zhl017/OpenCR-Binaries/raw/idm-devel/turtlebot3_idm_custom/ROS1/latest/opencr_update.tar.bz2 $ tar -xvf opencr_update.tar.bz2
-
上傳文件至OpenCR。
$ cd ./opencr_update $ ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr
-
確認終端機顯示
[OK] jump_to_fw
字樣表示燒入成功。
第一次連接可透過wifi連接或是網路線連接來遠端進入FET中進行網路設定。
我們使用Raspberry Pi 作為WiFi熱點,請使用PC進行連接。
ssid : TurtleBot_FET
password : turtlebot
-
PC連接後,檢查IP位址。
$ ifconfig
可以看到類似
10.42.0.XXX
的IP型態。 -
檢查是否與FET互通。
$ ping 10.42.0.1
-
遠端進入FET並輸入密碼turtlebot。
$ ssh [email protected]
我們設定Raspberry Pi網路孔固定IP,請使用網路線與PC進行連接。
IP : 192.168.123.1
-
PC連接後進入網路設定修改IP選項ipv4修改為手動設定IP。
address : 192.168.123.2 netmask : 255.255.255.0 gateway : 192.168.123.255
-
檢查IP位址。
$ ifconfig
確認是否有看到
192.168.123.2
的IP型態。 -
檢查是否與FET互通。
$ ping 192.168.123.1
-
遠端進入FET並輸入密碼turtlebot。
$ ssh [email protected]
-
開啟wifi設定檔案。
sudo nano /etc/netplan/50-cloud-init.yaml
-
輸入想連接的wifi裝置與密碼。
-
確認修改完畢後使用快捷鍵
ctrl+s
儲存以及快捷鍵ctrl+x
離開。 -
輸入指令重新載入配置。
$ sudo netplan apply
確認PC與FET連接到相同的wifi環境底下並確認各自的IP位址。
-
修改「~/.bashrc」檔案。
$ nano ~/.bashrc
透過使用快捷鍵
alt+/
幫助您移動到文件最底部,並寫下下列訊息。-
PC端加入下列參數
export ROS_MASTER_URI=http://PC_IP:11311 export ROS_HOSTNAME=PC_IP export TURTLEBOT3_MODEL=fet
example. PC_IP = 10.1.10.2
export ROS_MATER_URI=http://10.1.10.2:11311
export ROS_HOSTNAME=10.1.10.2 -
SBC端加入下列參數
export ROS_MASTER_URI=http://PC_IP:11311 export ROS_HOSTNAME=SBC_IP export TURTLEBOT3_MODEL=fet
example. SBC_IP = 10.1.10.5
export ROS_MATER_URI=http://10.1.10.2:11311
export ROS_HOSTNAME=10.1.10.5
-
-
確認修改完畢後使用快捷鍵
ctrl+s
儲存以及快捷鍵ctrl+x
離開。 -
最後,輸入指令重新載入配置。
$ source ~/.bashrc
- 開機
確認PC與SBC都連到相同的網路且bashrc檔案已設定完畢。
-
於PC端,執行ROS Master。
roscore
-
於PC端,使用指令遠端至FET。
$ ssh ubuntu@sbc_ip_address # password : turtlebot $ roslaunch fet_bringup fet_robot.launch
- 基本遙控
- 於PC端,執行遙控範例。
$ roslaunch fet_teleop fet_teleop_key.launch
- SLAM (gmapping)
-
於PC端,執行SLAM建圖。
$ roslaunch fet_slam fet_slam.launch
-
於PC端,執行儲存地圖。
$ rosrun map_server map_saver -f ~/map
- Navigation
- 於PC端,執行Navigation。
$ roslaunch fet_navigation fet_navigation.launch map_file:=$(map_file_path)
更多詳細資訊請參閱官方電子手冊。