Skip to content

Commit b0c77d0

Browse files
authored
expose std service to call global, add UI panel inside Rviz
1 parent 8880fdf commit b0c77d0

File tree

5 files changed

+47
-28
lines changed

5 files changed

+47
-28
lines changed

gbplanner/config/rviz/m100_sim.rviz

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Panels:
2525
- /POST1/MarkerArray2
2626
- /POST1/MarkerArray3
2727
Splitter Ratio: 0.544668615
28-
Tree Height: 828
28+
Tree Height: 656
2929
- Class: rviz/Selection
3030
Name: Selection
3131
- Class: rviz/Tool Properties
@@ -45,6 +45,8 @@ Panels:
4545
Name: Time
4646
SyncMode: 0
4747
SyncSource: VLP
48+
- Class: gbplanner_ui/GbPlanner Control
49+
Name: GbPlanner Control
4850
Visualization Manager:
4951
Class: ""
5052
Displays:
@@ -206,13 +208,13 @@ Visualization Manager:
206208
Queue Size: 100
207209
Value: true
208210
- Class: rviz/MarkerArray
209-
Enabled: false
211+
Enabled: true
210212
Marker Topic: /vis/planning_homing_path
211213
Name: HomingPath
212214
Namespaces:
213215
{}
214216
Queue Size: 100
215-
Value: false
217+
Value: true
216218
- Class: rviz/MarkerArray
217219
Enabled: false
218220
Marker Topic: /vis/planning_graph
@@ -290,8 +292,8 @@ Visualization Manager:
290292
- Alpha: 1
291293
Autocompute Intensity Bounds: true
292294
Autocompute Value Bounds:
293-
Max Value: 2.7149744
294-
Min Value: 0.138104916
295+
Max Value: 2.72305822
296+
Min Value: 0.138391018
295297
Value: true
296298
Axis: Z
297299
Channel Name: intensity
@@ -520,35 +522,37 @@ Visualization Manager:
520522
Views:
521523
Current:
522524
Class: rviz/Orbit
523-
Distance: 103.752136
525+
Distance: 98.0074921
524526
Enable Stereo Rendering:
525527
Stereo Eye Separation: 0.0599999987
526528
Stereo Focal Distance: 1
527529
Swap Stereo Eyes: false
528530
Value: false
529531
Focal Point:
530-
X: 67.5463791
531-
Y: 19.115593
532-
Z: -33.9160614
532+
X: 119.164963
533+
Y: 9.18015099
534+
Z: -12.1816568
533535
Focal Shape Fixed Size: true
534536
Focal Shape Size: 0.0500000007
535537
Invert Z Axis: false
536538
Name: Current View
537539
Near Clip Distance: 0.00999999978
538-
Pitch: 1.49979651
540+
Pitch: 1.33979666
539541
Target Frame: <Fixed Frame>
540542
Value: Orbit (rviz)
541-
Yaw: 3.11538696
543+
Yaw: 3.25038838
542544
Saved: ~
543545
Window Geometry:
544546
Displays:
545-
collapsed: true
547+
collapsed: false
548+
GbPlanner Control:
549+
collapsed: false
546550
Height: 1028
547-
Hide Left Dock: true
551+
Hide Left Dock: false
548552
Hide Right Dock: true
549553
Image:
550554
collapsed: false
551-
QMainWindow State: 000000ff00000000fd00000004000000000000016a0000037dfc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c00610079007300000000280000037d000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650000000190000002310000001600fffffffb0000000c00430061006d00650072006100000003affffffff60000000000000000fb0000000a0049006d00610067006501000002dc000000c90000000000000000000000010000010f00000399fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000002800000399000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003a00000003bfc0100000002fb0000000800540069006d00650100000000000003a00000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000003a00000037d00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
555+
QMainWindow State: 000000ff00000000fd00000004000000000000016a0000037dfc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000028000002d1000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650000000190000002310000001600fffffffb0000000c00430061006d00650072006100000003affffffff60000000000000000fb0000000a0049006d00610067006501000002dc000000c90000000000000000fb00000022004700620050006c0061006e006e0065007200200043006f006e00740072006f006c01000002ff000000a6000000a600ffffff000000010000010f00000399fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000002800000399000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003a00000003bfc0100000002fb0000000800540069006d00650100000000000003a00000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000002300000037d00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
552556
Selection:
553557
collapsed: false
554558
Time:

gbplanner/launch/m100/gbplanner_sim.launch

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@
7575
<rosparam command="load" file="$(arg pci_file)" />
7676
</node>
7777

78-
<group if="$(arg rviz_en)">
79-
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find gbplanner)/config/rviz/m100_sim.rviz" />
80-
</group>
78+
<node pkg="rviz" type="rviz" name="gbplanner_ui" output="screen" args="-d $(find gbplanner)/config/rviz/m100_sim.rviz"/>
8179

8280
</launch>

gbplanner/src/rrg.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3264,10 +3264,7 @@ bool Rrg::isRemainingTimeSufficient(const double& time_cost,
32643264
double& time_spare) {
32653265
const double kTimeDelta = 20; // magic number, extra safety
32663266
time_spare = getTimeRemained() - time_cost;
3267-
if (time_spare < kTimeDelta) {
3268-
ROS_WARN("REACHED TIME LIMIT: BE CAREFUL.");
3269-
return false;
3270-
}
3267+
if (time_spare < kTimeDelta) return false;
32713268
return true;
32723269
}
32733270

@@ -3398,8 +3395,7 @@ std::vector<geometry_msgs::Pose> Rrg::runGlobalPlanner(int vertex_id,
33983395
double time_spare = 0;
33993396
if (!isRemainingTimeSufficient(time_cost, time_spare)) {
34003397
ROS_WARN("[Global] Not enough time to go the vertex [%d]", vertex_id);
3401-
ROS_WARN(
3402-
"[Global] Consider change to another ID or set ignore_time to True");
3398+
ROS_WARN("[Global] Consider another ID or set ignore_time to True");
34033399
return ret_path;
34043400
}
34053401
best_frontier = global_graph_->getVertex(vertex_id);
@@ -3442,12 +3438,10 @@ std::vector<geometry_msgs::Pose> Rrg::runGlobalPlanner(int vertex_id,
34423438
}
34433439
}
34443440
}
3445-
ROS_INFO("Get %d feasible frontiers from global frontiers.",
3446-
(int)feasible_global_frontiers.size());
3441+
ROS_INFO("There are %d potential frontiers, get %d feasible frontiers.",
3442+
(int)global_frontiers.size(), (int)feasible_global_frontiers.size());
34473443
if (feasible_global_frontiers.size() <= 0) {
3448-
ROS_INFO(
3449-
"No feasible frontier exists --> Call HOMING instead if fully "
3450-
"explored.");
3444+
ROS_WARN("No feasible frontier-->Call HOMING instead if fully explored.");
34513445
return ret_path;
34523446
}
34533447

planner_control_interface/include/planner_control_interface/planner_control_interface.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class PlannerControlInterface {
7474
ros::ServiceServer pci_set_homing_pos_server_;
7575
ros::ServiceServer pci_initialization_server_;
7676
ros::ServiceServer pci_global_server_;
77+
ros::ServiceServer pci_std_global_server_;
7778
ros::ServiceServer pci_stop_server_;
7879
ros::ServiceServer pci_std_stop_server_;
7980
ros::ServiceServer pci_geofence_server_;
@@ -131,6 +132,8 @@ class PlannerControlInterface {
131132

132133
bool globalPlannerCallback(planner_msgs::pci_global::Request &req,
133134
planner_msgs::pci_global::Response &res);
135+
bool stdSrvGlobalPlannerCallback(std_srvs::Trigger::Request &req,
136+
std_srvs::Trigger::Response &res);
134137

135138
bool stopPlannerCallback(planner_msgs::pci_stop::Request &req,
136139
planner_msgs::pci_stop::Response &res);

planner_control_interface/src/planner_control_interface.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ PlannerControlInterface::PlannerControlInterface(
6565
"pci_global", &PlannerControlInterface::globalPlannerCallback, this);
6666
planner_global_client_ =
6767
nh.serviceClient<planner_msgs::planner_global>("gbplanner/global");
68+
pci_std_global_server_ = nh_.advertiseService(
69+
"planner_control_interface/std_srvs/global_planning",
70+
&PlannerControlInterface::stdSrvGlobalPlannerCallback, this);
71+
6872
pci_stop_server_ = nh_.advertiseService(
6973
"pci_stop", &PlannerControlInterface::stopPlannerCallback, this);
7074
pci_std_stop_server_ = nh_.advertiseService(
@@ -238,6 +242,22 @@ bool PlannerControlInterface::homingCallback(
238242
return true;
239243
}
240244

245+
bool PlannerControlInterface::stdSrvGlobalPlannerCallback(
246+
std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res) {
247+
planner_msgs::pci_global::Request global_trigger_request;
248+
planner_msgs::pci_global::Response global_trigger_response;
249+
250+
global_trigger_request.not_exe_path = false;
251+
global_trigger_request.id = 0;
252+
global_trigger_request.not_check_frontier = false;
253+
global_trigger_request.ignore_time = false;
254+
255+
res.success =
256+
globalPlannerCallback(global_trigger_request, global_trigger_response);
257+
res.success &= global_trigger_response.success;
258+
return true;
259+
}
260+
241261
bool PlannerControlInterface::stdSrvHomingCallback(
242262
std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res) {
243263
planner_msgs::pci_homing_trigger::Request homing_trigger_request;

0 commit comments

Comments
 (0)