world = World() node = Node(0) node.add_sensor('chemical', ChemicalSensor(interval=1, use_event_channel=True)) node.set_position(39.883531, -75.193963, 0) #sw of navy yard world.add_entity(node) node1 = Node(1) node1.add_sensor('chemical', ChemicalSensor(interval=1, use_event_channel=True)) node1.set_position(39.890776,-75.195594, 0) #w of navy yard world.add_entity(node1) node2 = Node(2) node2.set_position(39.892223,-75.196788, 0) #immediately east of I-95 bridge, on water node2.add_agent( ChemicalSpillAnnounceAgent(2, 1, 4, 0.1) ) #ID, interval, announce time, spill rate in km/s world.add_entity(node2) if __name__ == '__main__' : sim = Simulation(world) def quit(signal, frame) : print 'Stopping...' sim.stop() sys.exit(0) signal.signal(signal.SIGINT, quit) sim.start(2) while True : pass
from ahoy.agents.aisship import AISShip from ahoy.agents.smallship import SmallShip from ahoy.sensors.radarsensor import RadarSensor from ahoy.sensors.sonarsensor import SonarSensor from ahoy.util.units import * world = World() wlan = Network("wlan0", LogLossComms()) world.add_network(wlan) for i in range(0, 5): n = Node(i) n.add_interface(Interface("wlan0", wlan, power=120)) ship = AISShip((i + 21), 0.0203, "localhost", 12346, "wlan0") n.add_agent(ship) world.add_entity(n) if __name__ == "__main__": sim = Simulation(world) def quit(signal, frame): print "Stopping..." sim.stop() sys.exit(0) signal.signal(signal.SIGINT, quit) sim.start(2) while True:
from ahoy.agents.divertagent import DivertAgent from ahoy.agents.sensorforwardagent import SensorForwardAgent from ahoy.sensors.radarsensor import RadarSensor from ahoy.sensors.sonarsensor import SonarSensor from ahoy.agents.correlationagent import CorrelationAgent from ahoy.util.units import * world = World() aisnet = Network('aisn', LogLossComms()) world.add_network(aisnet) for i in range(0, 6): n = Node(len(world.get_entities())) n.add_interface(Interface('ais1', aisnet, power=120)) ship = AISShip(n.get_uid(), 0.0203, 'localhost', 12346, 'ais1') n.add_agent(ship) world.add_entity(n) path = "agents/paths/path" for i in range(8,12): n = Node(len(world.get_entities())) ship = SmallShip(n.get_uid(), i, 0.03, path + str(i) + ".dat") n.add_agent(ship) world.add_entity(n) """ # Make sensor interfaces s1net = Network('sonar1n', LogLossComms()) world.add_network(s1net) s2net = Network('sonar2n', LogLossComms()) world.add_network(s2net)
from ahoy.agents.correlationagent import CorrelationAgent world = World() wlan = Network('wlan0', LogLossComms()) tnet = Network('tnet',LogLossComms()) world.add_network(wlan) world.add_network(tnet) path = "agents/paths/path" pathfile = "agents/paths/tpaths.dat" tanknode = Node(len(world.get_entities())) #uavnode.set_position(39.8656978,-75.21841399, 0.0001) tanknode.add_interface(Interface('tnet',tnet,power=120)) tanknode.add_agent(Tanker(tanknode.get_uid(),0.08,'tnet',pathfile)) world.add_entity(tanknode) threatnode = Node(len(world.get_entities())) tagent = ThreatShip(threatnode.get_uid(),0.10,pathfile) tagent.follow(tanknode.get_uid()) threatnode.add_agent(tagent) world.add_entity(threatnode) #for i in range(0,4): # n = Node(i+100) # ship = SmallShip(i+200, i, 0.03, path + str(i) + ".dat") # n.add_agent(ship) # world.add_entity(n)
from ahoy.agents.sensorforwardagent import SensorForwardAgent from ahoy.sensors.radarsensor import RadarSensor from ahoy.sensors.sonarsensor import SonarSensor from ahoy.agents.correlationagent import CorrelationAgent #from ahoy.agents.histcorragent import HistoryCorrelationAgent from ahoy.util.units import * world = World() aisnet = Network('aisn', LogLossComms()) world.add_network(aisnet) for i in range(0, 2): n = Node(len(world.get_entities())) n.add_interface(Interface('ais1', aisnet, power=120)) ship = AISShip(n.get_uid(), 0.0203, 'localhost', 12347, 'ais1') n.add_agent(ship) world.add_entity(n) path = "agents/paths/path" for i in range(9,11): n = Node(len(world.get_entities())) ship = SmallShip(n.get_uid(), i, 0.03, path + str(i) + ".dat") n.add_agent(ship) world.add_entity(n) # Make sensor interfaces s1net = Network('sonar1n', LogLossComms()) world.add_network(s1net) s2net = Network('sonar2n', LogLossComms()) world.add_network(s2net)
sonar2n.add_interface(Interface('sonar2', s2net, power=120)) world.add_entity(sonar2n) # Red Bank Battlefield (nw part of land sticking out south of navy yard) sonar3n = Node(902) sonar3n.set_position(39.872596,-75.190008, 0) sonar3n.add_sensor('sonar', SonarSensor(source_level=220, source_bw=10, array_size=360, interval=5, min_snr=120, use_event_channel=True)) sonar3n.add_interface(Interface('sonar3', s3net, power=120)) world.add_entity(sonar3n) # On pier of naval yard radarn = Node(903) radarn.set_position(39.886597, -75.166043, 0) radarn.add_sensor('radar', RadarSensor(trans_power=watts(6000), trans_freq=25, gain=1, aperature=5, prop_fact=1, dwell_time=3/360.0, angle=1, use_event_channel=True)) radarn.add_interface(Interface('radar1', r1net, power=12000)) radarn.add_agent(SensorForwardAgent(radarn.get_uid(), 'radar', 'radar1')) world.add_entity(radarn) # Ground station groundst = Node(len(world.get_entities())) groundst.set_position(39.887911, -75.187533, 0) groundst.add_interface(Interface('sonar1', s1net, power=12000)) groundst.add_interface(Interface('sonar2', s2net, power=12000)) groundst.add_interface(Interface('radar1', r1net, power=12000)) groundst.add_interface(Interface('aisn', aisnet, power=12000)) groundst.add_interface(Interface('uavnet', uavnet, power=12000)) groundst.add_agent(CorrelationAgent(groundst.get_uid(), 0.5, 0.45, 'aisn')) #groundst.add_agent(DivertAgent(len(world.get_entities()),'aisn')) world.add_entity(groundst) #create tanker
from ahoy.tcpforward import TcpForward from ahoy.action import Action from ahoy.actions.move import MoveAction from ahoy.condition import Condition from ahoy.events.communication import CommunicationSendEvent from ahoy.conditions.srccondition import SourceCondition world = World() wlan = Network('wlan0') world.add_network(wlan) n1 = Node(0) n1.add_interface(Interface('wlan0', n1, wlan, 100)) ca1 = CommsAgent(n1, 1, 2, False) n1.add_agent(ca1) n1.set_position(39.9534, -75.1912, 0.02) world.add_entity(n1) n2 = Node(1) n2.add_interface(Interface('wlan0', n2, wlan, 100)) ca2 = CommsAgent(n2, 2, 1, True) n2.add_agent(ca2) n2.set_position(39.9534, -75.1912, 0.02) world.add_entity(n2) act = MoveAction(n1,1,1,0) con = SourceCondition(2) ca1.add_behavior([con,CommunicationSendEvent,act])
wlan = Network('wlan0', LogLossComms()) world.add_network(wlan) heli_areas = [ (39.9558, -75.1386, 39.9475, -75.1314), (39.9468, -75.1396, 39.9419, -75.1314), (39.9410, -75.1420, 39.9360, -75.1321), (39.9330, -75.1418, 39.9281, -75.1311) ] for i, loc in enumerate(heli_areas) : heli = Node(i) heli.set_position(loc[0], loc[1], feet(i * 100)) nw = (loc[0], loc[1]) se = (loc[2], loc[3]) heli.add_agent(RectangleSurveilAgent(i, nw, se, feet(150))) heli.add_interface(Interface('wlan0', wlan, power=120)) world.add_entity(heli) radar = Node(len(world.get_entities())) radar.set_position(39.9485, -75.1325, 0) radar.add_sensor('radar', RadarSensor(watts(6000), 25, 1, 5, 1, 3/360.0, 1, use_event_channel=True)) world.add_entity(radar) paths = [ [feet(15), (39.9545, -75.1358, 0), (39.9432, -75.1363, 0), (39.9273, -75.1348, 0)], [feet(100), (39.9534, -75.1320, 0), (39.9374, -75.1367, 0), (39.9263, -75.1322, 0)], [feet(25), (39.9281, -75.1385, 0), (39.9416, -75.1393, 0), (39.9591, -75.1341, 0)], [feet(50), (39.9268, -75.1322, 0), (39.9333, -75.1340, 0), (39.9482, -75.1337, 0), (39.9583, -75.1322, 0)] ]
world = World() wlan = Network('wlan0', LogLossComms()) uavnet = Network('uavnet',LogLossComms()) world.add_network(wlan) world.add_network(uavnet) path = "agents/paths/path" pathfile = "agents/paths/tpaths.dat" uavnode = Node(1) uavnode.set_position(39.8661,-75.2549, 0.0001) #uavnode.set_position(39.8656978,-75.21841399, 0.0001) uavnode.add_interface(Interface('uavnet',uavnet,power=120)) uavnode.add_sensor('camera', CameraSensor(1.75,0.25,use_event_channel=True)) uavnode.add_agent(SensorForwardAgent(uavnode.get_uid(),'camera','uavnet')) uavnode.add_agent(UAV(8,1.0,0.045,0.015)) world.add_entity(uavnode) for i in range(0,9): n = Node(i+100) ship = SmallShip(i+200, i, 0.02, path + str(i) + ".dat") n.add_agent(ship) world.add_entity(n) if __name__ == '__main__' : sim = Simulation(world)
sonar3n.set_position(39.872596,-75.190008, 0) sonar3n.add_sensor('sonar', SonarSensor(source_level=220, source_bw=10, array_size=360, interval=5, min_snr=120, use_event_channel=True)) world.add_entity(sonar3n) # On pier of naval yard radarn = Node(903) radarn.set_position(39.886597, -75.166043, 0) radarn.add_sensor('radar', RadarSensor(trans_power=watts(6000), trans_freq=25, gain=1, aperature=5, prop_fact=1, dwell_time=3/360.0, angle=1, use_event_channel=True)) radarn.add_agent(SensorForwardAgent(radarn.get_uid(), 'radar', 'radar1')) world.add_entity(radarn) ''' # Ground station groundst = Node(len(world.get_entities())) groundst.set_position(39.887911, -75.187533, 0) groundst.add_interface(Interface('aisn', aisnet, power=12000)) groundst.add_agent(DivertAgent(len(world.get_entities()),'aisn')) world.add_entity(groundst) #create tanker tanknode = Node(len(world.get_entities())) tanknode.add_interface(Interface('aisn',aisnet,power=120)) tanknode.add_agent(Tanker(80,0.08,'aisn',pathfile)) world.add_entity(tanknode) active = [[39.890750000000004, -75.196423312500002], [39.883578125, -75.195800625000004], [39.878743749999998, -75.196907624999994], [39.873325000000001, -75.202165874999992], [39.869075000000002, -75.208600312499996], [39.8930875, -75.193794187500004], [39.888784375, -75.193725000000001], [39.886287500000002, -75.196215749999993], [39.885490625000003, -75.193309874999997], [39.882303125, -75.192272062499995], [39.881718750000005, -75.198222187499994], [39.880125, -75.201612374999996], [39.877787500000004, -75.204725812500001], [39.875450000000001, -75.207008999999999], [39.872740624999999, -75.211437000000004], [39.876512500000004, -75.201681562499999], [39.869871875000001, -75.204379875000001], [39.86981875, -75.214204499999994], [39.875396875, -75.197599499999995], [39.879062500000003, -75.191856937499992], [39.867587499999999, -75.220292999999998], [39.866631250000005, -75.215934187499997], [39.863975000000003, -75.213581812499996], [39.863709374999999, -75.219808687499992], [39.864931249999998, -75.226589062499997], [39.892609374999999, -75.201197249999993], [39.894893750000001, -75.203480437500005], [39.894309374999999, -75.207285749999997], [39.896646875000002, -75.208600312499996], [39.898293750000001, -75.213305062499998], [39.900950000000002, -75.212889937499995], [39.872475000000001, -75.207147374999991], [39.870350000000002, -75.199744312500002], [39.875450000000001, -75.193863374999992], [39.872262500000005, -75.196077375000002], [39.861637500000001, -75.218632499999998], [39.861212500000001, -75.226727437500003], [39.862275000000004, -75.232262437499998]] for loc in active : #for i in range(0,len(active),2) : # loc = active[i] chem = Node(len(world.get_entities())) chem.add_sensor('chemical', ChemicalSensor(interval=1, use_event_channel='hey aaron i think this is broken'))