Exemplo n.º 1
0
from ahoy.events.communication import CommunicationSendEvent
from ahoy.conditions.srccondition import SourceCondition
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)
Exemplo n.º 2
0
from ahoy.agents.aisship import AISShip
from ahoy.agents.smallship import SmallShip
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)
Exemplo n.º 3
0
from ahoy.agents.tanker import Tanker
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.º 4
0
from ahoy.agents.aisship import AISShip
from ahoy.agents.smallship import SmallShip
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)
Exemplo n.º 5
0
# Make sensor interfaces
s1net = Network('sonar1n', LogLossComms())
world.add_network(s1net)
s2net = Network('sonar2n', LogLossComms())
world.add_network(s2net)
s3net = Network('sonar3n', LogLossComms())
world.add_network(s3net)
r1net = Network('radar1n', LogLossComms())
world.add_network(r1net)

# SW tip of airport
sonar1n = Node(901)
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))
sonar1n.add_interface(Interface('sonar1', s1net, power=120))
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))
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)
Exemplo n.º 6
0
from ahoy.interface import Interface
from ahoy.agents.comms import CommsAgent
from ahoy.network import Network
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)
Exemplo n.º 7
0
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)]
]

for path in paths :
Exemplo n.º 8
0
from ahoy.agents.sensorforwardagent import SensorForwardAgent
from ahoy.sensors.camerasensor import CameraSensor

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__' :
Exemplo n.º 9
0
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))
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()))