1. 程式人生 > >(四)turtlebot3控制機器人在實際環境下建圖

(四)turtlebot3控制機器人在實際環境下建圖

本文實現兩個功能,實際控制機器人及在實際環境下建圖
實際控制機器人有兩種方式,一種是在樹莓派上安裝和執行鍵盤操作程式.另外一種是在電腦上執行鍵盤操作程式
以下TurtleBot3 SBC 代表樹莓派,
Remote PC 代表遠端電腦
首先在樹莓派上使用鍵盤控制機器人運動,步驟如下

1控制機器人運動

1.1Remote PC ssh連線到樹莓派

樹莓派ip地址為:192.168.233.131

ssh jll@192.168.233.131

Remote PCip地址為:192.168.233.111

1.2樹莓派上啟動roscore,並配置ip地址

以樹莓派作為roscore的主機,如下配置

Remote PC 的~./bashrc中加入

export TURTLEBOT3_MODEL=burger
export ROS_MASTER_URI=http://192.168.233.131:11311
export ROS_HOSTNAME=192.168.233.131

樹莓派的~./bashrc中加入

export TURTLEBOT3_MODEL=burger
export ROS_MASTER_URI=http://192.168.233.131:11311
export ROS_IP=192.168.233.111

然後都source .bashrc

1.3Remote PC顯示turtlebot3狀態(包括顯示機器人和鐳射狀態等)

roslaunch turtlebot3_bringup turtlebot3_model.launch

1.4樹莓派上啟動turtlebot3

roslaunch turtlebot3_bringup turtlebot3_robot.launch

1.5樹莓派上啟動鍵盤操作程式

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

2實際環境下建圖

按照以下步驟進行建圖

2.1[Remote PC]上啟動turtlebot3_slam包

roslaunch turtlebot3_slam turtlebot3_slam.launch

2.2樹莓派上啟動turtlebot3

roslaunch turtlebot3_bringup turtlebot3_robot.launch

2.3樹莓派上啟動鍵盤操作程式

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

啟動後效果如圖
這裡寫圖片描述

2.4儲存地圖

啟動後儲存地圖

rosrun map_server map_saver -f ~/map

生成map.pgm和map.yaml
用於導航用
通過控制機器人運動後保持的地圖如下
這裡寫圖片描述

3實際環境下的導航

有地圖後就要用導航演算法進行導航,關閉slam節點
開啟導航包導航節點

roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

初始時如圖
這裡寫圖片描述

有此時需要設定初始位置,點選2D Pose Estimate按鈕,並拖動地圖上的方向來設定地圖上的大致位置

如圖這裡寫圖片描述

初始話好後就可以導航了,點選2D Nav Goal按鈕,並拖動設定方向,如圖
這裡寫圖片描述