新建工作空間,拷貝如下幾個代碼包,並編譯。
其中mcl_3dl和mcl_3dl_msgs爲使用mcl定位的軟件包和它的依賴包;patrol_robot爲與底層stm32通訊的包,包括串口連接和電機轉動指令等;pointcloud_to_laserscan爲pcd 文件轉點雲的軟件包;robot_pose爲imu節點啓動的軟件包;sonar_pub爲超聲波雷達啓動節點軟件包;velodyne爲激光雷達節點啓動包;其他3個爲本項目所錄製的pcd文件。
啓動各個節點
第一步:底層驅動開發
roslaunch patrol_robot patrol_robot_start.launch
launch文件中包含啓動了以下幾個節點
<!--velodyne vlp_16 laser-->激光雷達節點啓動包
<!--IMU--> imu節點啓動包
<!-- pointcloud to laserscan -->pcd圖轉成點雲的節點啓動包
<!--amcl-->amcl定位軟件包
<!--sonar-->超生波雷達節點啓動包
第二步:利用pure_pursuit記錄巡邏車走過的路徑,具體實現的方式可以參考本人前面的博文
roslaunch pure_pursuit waypoint_maker.launch
第三步:通過pure_pursuit純追蹤算法實現巡邏任務
roslaunch pure_pursuit pure_pursuit.launch
launch文件中包含了如下的幾個節點 ,巡邏車巡邏任務分爲三段路程,分別是:1.從充電樁退出來,到達巡邏的起始位置;2.從巡邏起始位置開始巡邏,完成之後回到起始位置;3.再從開始位置進入充電樁充電。
<node name="Pure_Pursuit" pkg="pure_pursuit" type="pure_pursuit_node" output="screen" >
<rosparam file="$(find pure_pursuit)/launch/params/pure_pursuit_params.yaml" command="load" />
<param name="waypoints_filepath" type="string" value="/home/utryjc/catkin_ws/src/pure_pursuit/1224_autoware.csv" />
<param name="waypointsbattery_filepath" type="string" value="/home/utryjc/catkin_ws/src/pure_pursuit/1231backway.csv" />#從充電樁退出來,到達巡邏的起始位置的巡邏路徑點
</node>
第四步:獲取攝像頭信息並對指定的地點進行拍照,然後上傳照片
roslaunch pure_pursuit manage.launch
<launch>
<node name="connect" pkg="pure_pursuit" type="simple.py" output="screen" />
</launch>