Skip to content

Commit 7c2a36c

Browse files
committed
update global_planner,del detection code
1 parent 6a6615b commit 7c2a36c

21 files changed

+460
-406
lines changed

Modules/prometheus_case2_ugv/CMakeLists.txt Modules/global_planner_ugv/CMakeLists.txt

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 2.8.3)
2-
project(prometheus_case2_ugv)
2+
project(prometheus_global_planner_ugv)
33

44
find_package(Eigen3 REQUIRED)
55
find_package(PCL 1.7 REQUIRED)
@@ -39,16 +39,16 @@ add_library(occupy_map src/occupy_map.cpp)
3939
target_link_libraries(occupy_map ${PCL_LIBRARIES})
4040
add_library(A_star src/A_star.cpp)
4141
target_link_libraries(A_star occupy_map)
42-
add_library(case2_fsm_ugv src/case2_fsm_ugv.cpp)
43-
target_link_libraries(case2_fsm_ugv A_star)
44-
target_link_libraries(case2_fsm_ugv ${catkin_LIBRARIES})
45-
target_link_libraries(case2_fsm_ugv ${PCL_LIBRARIES})
46-
47-
add_executable(case2_ugv_main src/case2_ugv_node.cpp)
48-
add_dependencies(case2_ugv_main prometheus_case2_ugv_gencpp)
49-
target_link_libraries(case2_ugv_main ${catkin_LIBRARIES})
50-
target_link_libraries(case2_ugv_main ${PCL_LIBRARIES})
51-
target_link_libraries(case2_ugv_main case2_fsm_ugv)
42+
add_library(global_planner_ugv src/global_planner_ugv.cpp)
43+
target_link_libraries(global_planner_ugv A_star)
44+
target_link_libraries(global_planner_ugv ${catkin_LIBRARIES})
45+
target_link_libraries(global_planner_ugv ${PCL_LIBRARIES})
46+
47+
add_executable(global_planner_ugv_main src/global_planner_ugv_node.cpp)
48+
add_dependencies(global_planner_ugv_main prometheus_global_planner_ugv_gencpp)
49+
target_link_libraries(global_planner_ugv_main ${catkin_LIBRARIES})
50+
target_link_libraries(global_planner_ugv_main ${PCL_LIBRARIES})
51+
target_link_libraries(global_planner_ugv_main global_planner_ugv)
5252

5353

5454
## Mark cpp header files for installation

Modules/prometheus_case2_ugv/include/A_star.h Modules/global_planner_ugv/include/A_star.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
using namespace std;
1919

20-
namespace prometheus_case2_ugv
20+
namespace global_planner_ugv
2121
{
2222

2323
#define IN_CLOSE_SET 'a'

Modules/prometheus_case2_ugv/include/case2_fsm_ugv.h Modules/global_planner_ugv/include/global_planner_ugv.h

+7-31
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#ifndef CASE2_FSM_UGV
2-
#define CASE2_FSM_UGV
1+
#ifndef GLOBAL_PLANNER_UGV
2+
#define GLOBAL_PLANNER_UGV
33

44
#include <ros/ros.h>
55
#include <boost/format.hpp>
@@ -23,7 +23,6 @@
2323
#include "prometheus_msgs/UGVCommand.h"
2424
#include "prometheus_msgs/ArucoInfo.h"
2525
#include "prometheus_msgs/Case2Result.h"
26-
#include "prometheus_msgs/Case3Result.h"
2726
#include "prometheus_msgs/StationCommand.h"
2827
#include "prometheus_msgs/MultiDetectionInfo.h"
2928

@@ -38,10 +37,10 @@ using namespace std;
3837

3938
#define MIN_DIS 0.1
4039

41-
namespace prometheus_case2_ugv
40+
namespace global_planner_ugv
4241
{
4342

44-
class Case2FSM_UGV
43+
class GlobalPlannerUGV
4544
{
4645

4746
private:
@@ -59,24 +58,19 @@ class Case2FSM_UGV
5958
ros::Subscriber Gpointcloud_sub;
6059
ros::Subscriber Lpointcloud_sub;
6160
ros::Subscriber laserscan_sub;
62-
// 【订阅】识别结果
63-
ros::Subscriber detection_sub, detection_sub_real;
6461
// 【发布】控制指令
6562
ros::Publisher command_pub;
6663
// 【发布】规划路径
6764
ros::Publisher path_cmd_pub;
68-
// 【发布】检测结果至其他无人车、无人车、地面站
69-
ros::Publisher case2_result_pub;
7065
// 【定时器】主循环定时器、路径追踪定时器、目标追踪定时器
71-
ros::Timer mainloop_timer, track_path_timer, object_tracking_timer, send_nei_odom_timer;
66+
ros::Timer mainloop_timer, track_path_timer, send_nei_odom_timer;
7267
// 五种状态机
7368
enum EXEC_STATE
7469
{
7570
INIT,
7671
WAIT_GOAL,
7772
PLAN,
7873
PATH_TRACKING,
79-
OBEJECT_TRACKING,
8074
RETURN,
8175
STOP
8276
};
@@ -85,7 +79,6 @@ class Case2FSM_UGV
8579
int swarm_num_ugv;
8680
// 无人车名字
8781
string ugv_name;
88-
bool follow_target;
8982
float k_p,k_aoivd;
9083
// 是否仿真模式
9184
bool sim_mode;
@@ -153,36 +146,19 @@ class Case2FSM_UGV
153146
geometry_msgs::PoseStamped target_pos;
154147
// 上一条轨迹开始时间
155148
ros::Time tra_start_time;
156-
157-
// 检测相关状态量
158-
bool detected_by_myself;
159-
bool detected_by_others;
160-
161-
// 是否丢失目标
162-
bool lost_object;
163-
int num_count_vision_lost;
164-
int num_count_vision_get;
165-
// 目标位置
166-
Eigen::Vector3d object_pos_body,object_pos_enu;
167-
double dis_to_object;
168-
// 检测范围
169-
Eigen::Vector2d detection_range_x,detection_range_y;
170149

171150
// 回调函数
172151
void goal_cb(const geometry_msgs::PoseStampedConstPtr& msg);
173152
void ugv_state_cb(const prometheus_msgs::UGVStateConstPtr &msg);
174153
void Gpointcloud_cb(const sensor_msgs::PointCloud2ConstPtr &msg);
175154
void Lpointcloud_cb(const sensor_msgs::PointCloud2ConstPtr &msg);
176155
void laser_cb(const sensor_msgs::LaserScanConstPtr &msg);
177-
void detection_cb(const prometheus_msgs::ArucoInfoConstPtr &msg);
178-
void detection_cb_real(const prometheus_msgs::MultiDetectionInfoConstPtr &msg);
179156
void cmd_cb(const prometheus_msgs::StationCommandConstPtr& msg);
180157
void nei_odom_cb(const nav_msgs::Odometry::ConstPtr& odom, int id);
181158

182159
void send_nei_odom_cb(const ros::TimerEvent& e);
183160
void mainloop_cb(const ros::TimerEvent& e);
184161
void track_path_cb(const ros::TimerEvent& e);
185-
void object_tracking_cb(const ros::TimerEvent& e);
186162

187163
// 【获取当前时间函数】 单位:秒
188164
float get_time_in_sec(const ros::Time& begin_time);
@@ -195,10 +171,10 @@ class Case2FSM_UGV
195171

196172

197173
public:
198-
Case2FSM_UGV(/* args */)
174+
GlobalPlannerUGV(/* args */)
199175
{
200176
}
201-
~Case2FSM_UGV()
177+
~GlobalPlannerUGV()
202178
{
203179
}
204180

Modules/prometheus_case2_ugv/include/occupy_map.h Modules/global_planner_ugv/include/occupy_map.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "printf_utils.h"
2626
using namespace std;
2727

28-
namespace prometheus_case2_ugv
28+
namespace global_planner_ugv
2929
{
3030

3131
class Occupy_map
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<launch>
2+
<arg name="swarm_num_ugv" default="1"/>
3+
<!-- 参数 -->
4+
<arg name="ugv_id" default="1"/>
5+
<arg name="sim_mode" default="false"/>
6+
7+
8+
<!-- 启动全局规划算法 -->
9+
<node pkg="prometheus_global_planner_ugv" type="global_planner_ugv_main" name="global_planner_ugv_main_$(arg ugv_id)" output="screen">
10+
<!-- 0 for 全局点云,1 for 局部点云,2 for laserscan -->
11+
<param name="global_planner_ugv/map_input_source" value="2" type="int"/>
12+
<remap from="/ugv$(arg ugv_id)/prometheus/global_planner_ugv/global_pcl" to="/map_generator/global_cloud" />
13+
<remap from="/ugv$(arg ugv_id)/prometheus/global_planner_ugv/local_pcl" to="/ugv$(arg ugv_id)/map_generator/local_cloud" />
14+
<remap from="/ugv$(arg ugv_id)/prometheus/global_planner_ugv/laser_scan" to="/ugv$(arg ugv_id)/sensor/2Dlidar_scan" />
15+
<param name="global_planner_ugv/swarm_num_ugv" value="$(arg swarm_num_ugv)"/>
16+
<param name="global_planner_ugv/ugv_id" value="$(arg ugv_id)" />
17+
<param name="global_planner_ugv/ugv_height" value="0.0" />
18+
<param name="global_planner_ugv/sim_mode" value="$(arg sim_mode)" type="bool"/>
19+
<!-- 手动给定目标点模式 -->
20+
<param name="global_planner_ugv/manual_mode" value="true" type="bool"/>
21+
<!-- 重规划间隔 -->
22+
<param name="global_planner_ugv/replan_time" value="0.2" type="double"/>
23+
<!-- path track间隔 -->
24+
<param name="global_planner_ugv/track_frequency" value="0.1" type="double"/>
25+
<!-- 地图参数 -->
26+
<param name="map/origin_x" value="-20.0" type="double"/>
27+
<param name="map/origin_y" value="-20.0" type="double"/>
28+
<param name="map/map_size_x" value="40.0" type="double"/>
29+
<param name="map/map_size_y" value="40.0" type="double"/>
30+
<param name="map/queue_size" value="1" type="int"/>
31+
<param name="map/border" value="true" type="bool"/>
32+
<param name="map/resolution" value="0.2" type="double"/>
33+
<param name="map/inflate" value="0.2" type="double"/>
34+
<param name="global_planner_ugv/odom_inflate" value="0.3" type="double"/>
35+
<!-- costmap -->
36+
<param name="global_planner_ugv/cost_inflate" value="2" type="int"/>
37+
<param name="astar/lambda_cost" value="10.0" type="double"/>
38+
</node>
39+
</launch>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<launch>
2+
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find prometheus_global_planner_ugv)/launch/rviz_global_planner_ugv.rviz" required="true" />
3+
</launch>

0 commit comments

Comments
 (0)