Exemplo n.º 1
0
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
Exemplo n.º 2
0
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:
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
 
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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])
Exemplo n.º 8
0
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)]
]
Exemplo n.º 9
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)
Exemplo n.º 10
0
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'))