(四)turtlebot3控制機器人在實際環境下建圖
阿新 • • 發佈:2018-11-10
本文實現兩個功能,實際控制機器人及在實際環境下建圖
實際控制機器人有兩種方式,一種是在樹莓派上安裝和執行鍵盤操作程式.另外一種是在電腦上執行鍵盤操作程式
以下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按鈕,並拖動設定方向,如圖