Skip to content

Commit f825730

Browse files
committed
modify update flow
1 parent c01269b commit f825730

5 files changed

Lines changed: 16 additions & 38 deletions

File tree

GEMstack/onboard/perception/parking_detection.py

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -168,39 +168,25 @@ def update(self, cone_obstacles: Dict[str, ObstacleState]):
168168
grouped_ordered_ground_centers_2D.append(ordered_ground_centers_2D)
169169
parking_obstacles_poses += parking_obstacles_pose
170170
parking_obstacles_dims += parking_obstacles_dim
171-
172-
# Return if no goal parking spot is found
173-
if len(goal_parking_spots) < 1:
174-
return None
175-
176-
# Now select the closest parking goal
177-
if len(goal_parking_spots) > 1:
178-
self.goal_parking_spot = closest_point_to_origin(goal_parking_spots)
179-
else:
180-
self.goal_parking_spot = goal_parking_spots[0]
181171

182172
# Update local variables for visualization
183173
self.cone_pts_3D = cone_pts_3D
184174
self.grouped_ordered_ground_centers_2D = grouped_ordered_ground_centers_2D
185175
self.parking_obstacles_poses = parking_obstacles_poses
186176
self.parking_obstacles_dims = parking_obstacles_dims
187-
177+
178+
# Now select the closest parking goal, return if none is found
188179
if len(goal_parking_spots) > 1:
189-
print("\n")
190-
print(f"self.cone_pts_3D: {self.cone_pts_3D}")
191-
print("\n")
192-
print(f"self.all_ordered_ground_centers_2D: {self.grouped_ordered_ground_centers_2D}")
193-
print("\n")
194-
print(f"self.goal_parking_spot: {self.goal_parking_spot}")
195-
print("\n")
196-
print(f"self.parking_obstacles_pose: {self.parking_obstacles_poses}")
197-
print("\n")
198-
print(f"self.parking_obstacles_dims: {self.parking_obstacles_dims}")
199-
print("\n")
180+
self.goal_parking_spot = closest_point_to_origin(goal_parking_spots)
181+
elif len(goal_parking_spots) == 1:
182+
self.goal_parking_spot = goal_parking_spots[0]
183+
else:
184+
self.goal_parking_spot = None
185+
return None
200186

201187
# Constructing parking obstacles
202188
current_time = self.vehicle_interface.time()
203-
obstacle_id = 0
189+
obstacle_id = 30
204190
parking_obstacles = {}
205191
for o_pose, o_dim in zip(self.parking_obstacles_poses, self.parking_obstacles_dims):
206192
x, y, z, yaw = o_pose

GEMstack/onboard/perception/spot_corner_detection.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ..component import Component
88
from ..interface.gem import GEMInterface
99
from ...state import VehicleState, Obstacle, ObjectPose, ObjectFrameEnum, ObstacleState, ObstacleMaterialEnum
10-
from sensor_msgs.msg import Image, PointCloud2
10+
from sensor_msgs.msg import Image
1111
from .utils.constants import *
1212
from .utils.detection_utils import *
1313
from .utils.visualization_utils import *
@@ -35,7 +35,6 @@ def __init__(
3535

3636
# Publishers
3737
self.pub_detection_fr = rospy.Publisher("/parking_spot_detection/annotated_image/front_right", Image, queue_size=1)
38-
self.pub_detection_corners_pc2 = rospy.Publisher("/parking_spot_detectio/corners/point_cloud", PointCloud2, queue_size=10)
3938

4039
# Main sensors callback
4140
def callback(self, right_cam_msg):
@@ -134,16 +133,11 @@ def visualize(self, image, centers, corners, approxes, corners_3d_vehicle_frame)
134133
for approx in approxes:
135134
cv2.polylines(image, [approx], isClosed=True, color=(0, 255, 0), thickness=5)
136135

137-
# Draw 3D corners
138-
# ros_detection_corners_pc2 = create_point_cloud(np.array(corners_3d_vehicle_frame).reshape(-1, 3), LIDAR_PC_COLOR, VEHICLE_FRAME)
139-
# self.pub_detection_corners_pc2.publish(ros_detection_corners_pc2)
140-
141136
# Publish the annotated
142137
right_cam_annotated_ros_img = self.bridge.cv2_to_imgmsg(image, 'bgr8')
143138
self.pub_detection_fr.publish(right_cam_annotated_ros_img)
144139

145140

146-
147141
def spin(self):
148142
rospy.spin()
149143

GEMstack/onboard/perception/utils/constants.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ def ignore_relative_path(loader, node):
3030
OBSTACLE_MARKER_COLOR = (1.0, 0.0, 0.0, 0.4)
3131
LIDAR_PC_COLOR = (255, 0, 0)
3232
CONE_CENTER_PC_COLOR = (255, 0, 255)
33-
MAX_POLYGON_MARKERS = 3
34-
MAX_PARKING_SPOT_MARKERS = 1
33+
MAX_POLYGON_MARKERS = 5
34+
MAX_PARKING_SPOT_MARKERS = 5
3535
MAX_OBSTACLE_MARKERS = 10

GEMstack/onboard/perception/utils/math_utils.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ def group_points_by_multiple_of_k(points, k):
1010

1111
def closest_point_to_origin(points):
1212
if not points:
13-
return None # Return None if the list is empty
14-
13+
return None
1514
points_array = np.array(points)
16-
distances = np.linalg.norm(points_array, axis=1) # Compute Euclidean distances
17-
min_index = np.argmin(distances) # Index of the closest point
18-
15+
distances = np.linalg.norm(points_array, axis=1)
16+
min_index = np.argmin(distances)
1917
return tuple(points_array[min_index])

GEMstack/onboard/perception/utils/visualization_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ def create_parking_spot_marker(closest_spot, length=GEM_E4_LENGTH, width=GEM_E4_
212212
# Transparency and color (green)
213213
marker.color.r = 0.0
214214
marker.color.g = 1.0
215-
marker.color.b = 0.0
215+
marker.color.b = 1.0
216216
marker.color.a = 0.5
217217

218218
marker.pose.orientation.w = 1.0

0 commit comments

Comments
 (0)