diff --git a/carla_ros_bridge/src/carla_ros_bridge/walker.py b/carla_ros_bridge/src/carla_ros_bridge/walker.py index 41f828d2..b32c353c 100644 --- a/carla_ros_bridge/src/carla_ros_bridge/walker.py +++ b/carla_ros_bridge/src/carla_ros_bridge/walker.py @@ -10,6 +10,7 @@ Classes to handle Carla pedestrians """ +import carla_common.transforms as trans from carla import WalkerControl from carla_ros_bridge.traffic_participant import TrafficParticipant @@ -82,6 +83,19 @@ def control_command_updated(self, ros_walker_control): walker_control.jump = ros_walker_control.jump self.carla_actor.apply_control(walker_control) + def get_current_ros_pose(self): + """ + Function to return the pose for walkers. + + :return: the pose of the walker + :rtype: geometry_msgs.msg.Pose + """ + # Moving position of walkers from the pivot point to the bottom of the bounding box. + extent = self.carla_actor.bounding_box.extent + pose_transform = self.carla_actor.get_transform() + pose_transform.location -= pose_transform.get_up_vector() * extent.z + return trans.carla_transform_to_ros_pose(pose_transform) + def get_classification(self): """ Function (override) to get classification