def Create_actors(self, world, blueprint_library): ego_list = [] npc_list = [] obstacle_list = [] sensor_list = [] # ego车辆设置--------------------------------------------------------------- ego_bp = blueprint_library.find(id='vehicle.lincoln.mkz2017') # 坐标建立 ego_transform = Transform( Location(x=160.341522, y=-371.640472, z=0.281942), Rotation(pitch=0.000000, yaw=0.500910, roll=0.000000)) # 车辆从蓝图定义以及坐标生成 ego = world.spawn_actor(ego_bp, ego_transform) if ego is None: print('ego created failed') else: ego_list.append(ego) print('created %s' % ego.type_id) # 视角设置------------------------------------------------------------------ spectator = world.get_spectator() # spec_transform = ego.get_transform() spec_transform = Transform( Location(x=140.341522, y=-375.140472, z=15.281942), Rotation(pitch=0.000000, yaw=0.500910, roll=0.000000)) spec_transform.location += carla.Location(x=60, z=45) spec_transform.rotation = carla.Rotation(pitch=-90, yaw=90) spectator.set_transform(spec_transform) # npc设置-------------------------------------------------------------------- npc_transform = ego_transform for i in range(1): npc_transform.location += carla.Location(x=-15, y=-3.5) npc_bp = blueprint_library.find(id='vehicle.lincoln.mkz2017') npc_bp.set_attribute('color', '229,28,0') npc = world.try_spawn_actor(npc_bp, npc_transform) if npc is None: print('No.%s npc created failed' % i) else: npc_list.append(npc) print('created %s' % npc.type_id) # 障碍物设置------------------------------------------------------------------ obstacle_transform = ego_transform for i in range(28): if i == 0: obsta_bp = blueprint_library.find( id='vehicle.mercedes-benz.coupe') obstacle_transform.location += carla.Location(x=95, y=3.8) obstacle = world.try_spawn_actor(obsta_bp, obstacle_transform) obstacle_transform.location += carla.Location(x=0, y=-5.3) if obstacle is None: print('%s obstacle created failed' % i) else: obstacle_list.append(obstacle) print('created %s' % obstacle.type_id) else: obsta_bp = blueprint_library.find( id='static.prop.streetbarrier') obstacle_transform.location += carla.Location(x=-3.5, y=7.4) obstacle1 = world.try_spawn_actor(obsta_bp, obstacle_transform) obstacle_list.append(obstacle1) obstacle_transform.location += carla.Location(y=-7.4) obstacle2 = world.try_spawn_actor(obsta_bp, obstacle_transform) obstacle_list.append(obstacle2) # 传感器设置------------------------------------------------------------------- ego_collision = SS.CollisionSensor(ego) npc_collision = SS.CollisionSensor(npc) # lane_invasion = SS.LaneInvasionSensor(ego) sensor_list.append(ego_collision) sensor_list.append(npc_collision) return ego_list, npc_list, obstacle_list, sensor_list
def Create_actors(self,world, blueprint_library): ego_list = [] npc_list = [] obstacle_list = [] sensor_list = [] # ego车辆设置--------------------------------------------------------------- ego_bp = blueprint_library.find(id='vehicle.lincoln.mkz2017') # 坐标建立 ego_transform = Transform(Location(x=30, y=-4.350967, z=0.1), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) # 车辆从蓝图定义以及坐标生成 ego = world.spawn_actor(ego_bp, ego_transform) ego_list.append(ego) print('created %s' % ego.type_id) # 视角设置------------------------------------------------------------------ spectator = world.get_spectator() spec_transform = Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) spec_transform.location += carla.Location(x=-15,z=50) spec_transform.rotation = carla.Rotation(pitch=-90,yaw=0,roll=-0.000000) spectator.set_transform(spec_transform) # npc设置-------------------------------------------------------------------- npc_transform = Transform(Location(x=30, y=-4.350967, z=0.1), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) for i in range(1): npc_transform.location += carla.Location(x=-11,y=6) npc_transform.rotation = carla.Rotation(pitch=0.348271,yaw=275, roll=-0.000000) npc_bp = blueprint_library.find(id='vehicle.lincoln.mkz2017') # print(npc_bp.get_attribute('color').recommended_values) npc_bp.set_attribute('color', '229,28,0') npc = world.try_spawn_actor(npc_bp, npc_transform) if npc is None: print('%s npc created failed' % i) else: npc_list.append(npc) print('created %s' % npc.type_id) # 障碍物设置------------------------------------------------------------------ obsta_bp = blueprint_library.find(id='static.prop.streetbarrier') #障碍物1 obstacle_transform1 =Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) obstacle_transform1.location += carla.Location(x=14,y=1.8) obstacle_transform1.rotation = carla.Rotation(pitch=0, yaw=0, roll=0.000000) for i in range(10): obstacle1 = world.try_spawn_actor(obsta_bp, obstacle_transform1) obstacle_transform1.location += carla.Location(x=-2.5,y=-0.04) obstacle_list.append(obstacle1) #障碍物2 obstacle_transform2 =Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) obstacle_transform2.location += carla.Location(x=-8.5,y=1.82) obstacle_transform2.rotation = carla.Rotation(pitch=0, yaw=275, roll=0.000000) for i in range(4): obstacle2 = world.try_spawn_actor(obsta_bp, obstacle_transform2) obstacle_transform2.location += carla.Location(x=-0.1,y=2.5) obstacle_list.append(obstacle2) #障碍物3 obstacle_transform3 =Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) obstacle_transform3.location += carla.Location(x=13,y=-1.8) obstacle_transform3.rotation = carla.Rotation(pitch=0, yaw=0, roll=0.000000) for i in range(9): obstacle3 = world.try_spawn_actor(obsta_bp, obstacle_transform3) obstacle_transform3.location += carla.Location(x=-2.5,y=-0.1) obstacle_list.append(obstacle3) #障碍物4 obstacle_transform4 =Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) obstacle_transform4.location += carla.Location(x=-24,y=-52) obstacle_transform4.rotation = carla.Rotation(pitch=0, yaw=270, roll=0.000000) for i in range(15): obstacle4 = world.try_spawn_actor(obsta_bp, obstacle_transform4) obstacle_transform4.location += carla.Location(x=-0.05,y=2.5) obstacle_list.append(obstacle4) #障碍物5 obstacle_transform5 =Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) obstacle_transform5.location += carla.Location(x=-20.5,y=-52) obstacle_transform5.rotation = carla.Rotation(pitch=0, yaw=270, roll=0.000000) for i in range(13): obstacle5 = world.try_spawn_actor(obsta_bp, obstacle_transform5) obstacle_transform5.location += carla.Location(x=-0.05,y=2.5) obstacle_list.append(obstacle5) #障碍物6 obstacle_transform6 =Transform(Location(x=30, y=-4.350967, z=0), Rotation(pitch=-0.348271, yaw=180, roll=-0.000000)) obstacle_transform6.location += carla.Location(x=-20,y=-21) obstacle_transform6.rotation = carla.Rotation(pitch=0, yaw=45, roll=0.000000) for i in range(8): obstacle6 = world.try_spawn_actor(obsta_bp, obstacle_transform6) obstacle_transform6.location += carla.Location(x=1.7,y=2.4) obstacle_list.append(obstacle6) # 传感器设置------------------------------------------------------------------- ego_collision = SS.CollisionSensor(ego) npc_collision = SS.CollisionSensor(npc) ego_invasion = SS.LaneInvasionSensor(ego) npc_invasion = SS.LaneInvasionSensor(npc) sensor_list.extend([[ego_collision,ego_invasion],[npc_collision,npc_invasion]]) return ego_list,npc_list,obstacle_list,sensor_list
def Create_actors(self, world, blueprint_library): ego_list = [] npc_list = [] obstacle_list = [] sensor_list = [] # ego车辆设置--------------------------------------------------------------- ego_bp = blueprint_library.find(id='vehicle.lincoln.mkz2017') # 坐标建立 ego_transform = Transform(Location(x=9, y=-110.350967, z=0.1), Rotation(pitch=0, yaw=-90, roll=-0.000000)) # 车辆从蓝图定义以及坐标生成 ego = world.spawn_actor(ego_bp, ego_transform) ego_list.append(ego) print('created %s' % ego.type_id) # 视角设置------------------------------------------------------------------ spectator = world.get_spectator() # spec_transform = ego.get_transform() spec_transform = Transform(Location(x=9, y=-115.350967, z=0), Rotation(pitch=0, yaw=180, roll=-0.000000)) spec_transform.location += carla.Location(x=-5, z=60) spec_transform.rotation = carla.Rotation(pitch=-90, yaw=1.9, roll=-0.000000) spectator.set_transform(spec_transform) # npc设置-------------------------------------------------------------------- npc_transform = Transform(Location(x=9, y=-110.350967, z=0.1), Rotation(pitch=0, yaw=-90, roll=-0.000000)) for i in range(1): npc_transform.location += carla.Location(x=-18, y=-24) npc_transform.rotation = carla.Rotation(pitch=0, yaw=0, roll=-0.000000) npc_bp = blueprint_library.find(id='vehicle.lincoln.mkz2017') # print(npc_bp.get_attribute('color').recommended_values) npc_bp.set_attribute('color', '229,28,0') npc = world.try_spawn_actor(npc_bp, npc_transform) if npc is None: print('%s npc created failed' % i) else: npc_list.append(npc) print('created %s' % npc.type_id) # 障碍物设置------------------------------------------------------------------ obsta_bp = blueprint_library.find(id='static.prop.streetbarrier') # 障碍物1 obstacle_transform1 = Transform( Location(x=9, y=-110.350967, z=0), Rotation(pitch=0, yaw=-90, roll=-0.000000)) obstacle_transform1.location += carla.Location(x=50, y=-27, z=3) obstacle_transform1.rotation = carla.Rotation(pitch=0, yaw=0, roll=0.000000) for i in range(30): obstacle1 = world.try_spawn_actor(obsta_bp, obstacle_transform1) obstacle_transform1.location += carla.Location(x=-2.5, y=-0.05, z=-0.12) obstacle_list.append(obstacle1) # 障碍物2 # obstacle_transform2 = Transform(Location(x=9, y=-110.350967,z=0), # Rotation(pitch=0, yaw=-90, roll=-0.000000)) # obstacle_transform2.location += carla.Location(x=-2.8,y=-18.5) # obstacle_transform2.rotation = carla.Rotation(pitch=0, yaw=0, roll=0.000000) # for i in range(7): # obstacle2 = world.try_spawn_actor(obsta_bp, obstacle_transform2) # obstacle_transform2.location += carla.Location(x=-2.5) # obstacle_list.append(obstacle2) # # 障碍物3 # obstacle_transform3 = Transform(Location(x=9, y=-110.350967,z=0), # Rotation(pitch=0, yaw=-90, roll=-0.000000)) # obstacle_transform3.location += carla.Location(x=-1.65,y=-17.5) # obstacle_transform3.rotation = carla.Rotation(pitch=0, yaw=90, roll=0.000000) # for i in range(10): # obstacle3 = world.try_spawn_actor(obsta_bp, obstacle_transform3) # obstacle_transform3.location += carla.Location(x=0.006,y=2.5) # obstacle_list.append(obstacle3) # # 障碍物4 # obstacle_transform4 = Transform(Location(x=9, y=-110.350967,z=0), # Rotation(pitch=0, yaw=-90, roll=-0.000000)) # obstacle_transform4.location += carla.Location(x=2.45,y=-15) # obstacle_transform4.rotation = carla.Rotation(pitch=0, yaw=90, roll=0.000000) # for i in range(10): # obstacle4 = world.try_spawn_actor(obsta_bp, obstacle_transform4) # obstacle_transform4.location += carla.Location(y=2.5) # obstacle_list.append(obstacle4) # 传感器设置------------------------------------------------------------------- ego_collision = SS.CollisionSensor(ego) npc_collision = SS.CollisionSensor(npc) ego_invasion = SS.LaneInvasionSensor(ego) npc_invasion = SS.LaneInvasionSensor(npc) sensor_list.extend([[ego_collision, ego_invasion], [npc_collision, npc_invasion]]) return ego_list, npc_list, obstacle_list, sensor_list