import sys import signal from ahoy.world import World from ahoy.commsengines.logloss import LogLossComms from ahoy.simulation import Simulation from ahoy.entities.node import Node from ahoy.sensors.chemicalsensor import ChemicalSensor from ahoy.events.chemical import ChemicalSpillEvent from ahoy.agents.chemspillannounce import ChemicalSpillAnnounceAgent 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) :
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: pass
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) r1net = Network('radar1n', LogLossComms())
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) # Make sensor interfaces
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) r1net = Network('radar1n', LogLossComms())
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]) act2 = MoveAction(n2,-1,-1,2)
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)] ] for path in paths : e = Scripted(len(world.get_entities()), path[2:], path[0], 0)
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) def quit(signal, frame) : print 'Stopping...' sim.stop() sys.exit(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')) chem.set_position(loc[0], loc[1], 0)
from ahoy.sensors.sonarsensor import SonarSensor from ahoy.entities.scripted import Scripted from ahoy.agents.rectanglesurveil import RectangleSurveilAgent from ahoy.commsengines.logloss import LogLossComms from ahoy.tcpforward import TcpForward from ahoy.network import Network from ahoy.interface import Interface from ahoy.util.units import * world = World() # SW tip of airport sonar1n = Node(len(world.get_entities())) sonar1n.set_position(39.8560599677, -75.255277528, 0) sonar1n.add_sensor('sonar', SonarSensor(source_level=220, source_bw=10, array_size=360, interval=5, min_snr=2)) world.add_entity(sonar1n) # Eastern bank of river, north of 76 bridge to NJ sonar2n = Node(len(world.get_entities())) sonar2n.set_position(39.9103365806, -75.1257383781, 0) sonar2n.add_sensor('sonar', SonarSensor(source_level=220, source_bw=10, array_size=360, interval=5, min_snr=2)) world.add_entity(sonar2n) # On pier of naval yard radarn = Node(len(world.get_entities())) 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)) world.add_entity(sonar2n) if __name__ == '__main__' : sim = Simulation(world)