Example #1
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
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)
Example #2
0
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) :
Example #3
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
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)
Example #4
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
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):
Example #5
0
from ahoy.agents.aisship import AISShip
from ahoy.agents.smallship import SmallShip
from ahoy.agents.uav import UAV
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 *
from ahoy.sensors.camerasensor import CameraSensor
from ahoy.agents.threat import ThreatShip
from ahoy.agents.tanker import Tanker

path = "agents/paths/path"
pathfile = "agents/paths/tpaths.dat"

world = World()

aisnet = Network('aisn', LogLossComms())
world.add_network(aisnet)
uavnet = Network('uavnet',LogLossComms())
world.add_network(uavnet)

# 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)
Example #6
0
from ahoy.events.communication import CommunicationSendEvent
from ahoy.conditions.srccondition import SourceCondition
from ahoy.agents.aisship import AISShip
from ahoy.agents.uav import UAV
from ahoy.agents.smallship import SmallShip
from ahoy.sensors.radarsensor import RadarSensor
from ahoy.sensors.sonarsensor import SonarSensor
from ahoy.sensors.camerasensor import CameraSensor
from ahoy.util.units import *
from ahoy.agents.sensorforwardagent import SensorForwardAgent
from ahoy.sensors.camerasensor import CameraSensor
from ahoy.agents.threat import ThreatShip
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)
Example #7
0
        return self._event_api

    def get_uid(self) :
        return self._uid

    def initialize(self) :
        self._event_api = EventAPI()
        self._event_api.start()

        self._event_api.publish(EntityMoveEvent(self, self._lat, self._long, self._agl, self._forward_velocity, self._velocity))

        self._move_thread = None
        self._stop_move = False
        self._stopped_cond = Condition()

        for sensor in self._sensors.values() :
            Thread(target=sensor._run, args=(self.get_world(),)).start()

    def run(self) :
        pass

if __name__ == '__main__' :
    entity = Entity.from_pickle(sys.argv[1])

    world = World.from_pickle(sys.argv[2])
    world.initialize()

    entity.set_world(world)
    entity.initialize()
    entity.run()
Example #8
0
import sys
import signal
from ahoy.simulation import Simulation
from ahoy.world import World
from ahoy.entities.node import Node
from ahoy.sensors.radarsensor import RadarSensor
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()

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)))
Example #9
0
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
from ahoy.agents.aisship import AISShip
from ahoy.agents.uav import UAV
from ahoy.agents.smallship import SmallShip
from ahoy.sensors.radarsensor import RadarSensor
from ahoy.sensors.sonarsensor import SonarSensor
from ahoy.sensors.camerasensor import CameraSensor
from ahoy.util.units import *
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))
Example #10
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.util.units import *
from ahoy.sensors.camerasensor import CameraSensor
from ahoy.agents.threat import ThreatShip
from ahoy.agents.tanker import Tanker
from ahoy.sensors.chemicalsensor import ChemicalSensor
from ahoy.events.chemical import ChemicalSpillEvent
from ahoy.agents.chemspillannounce import ChemicalSpillAnnounceAgent

path = "agents/paths/path"
pathfile = "agents/paths/tpaths2.dat"

world = World()

aisnet = Network('aisn', LogLossComms())
world.add_network(aisnet)
'''
# 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))
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'))
Example #11
0
import sys
import signal
from ahoy.simulation import Simulation
from ahoy.world import World
from ahoy.entities.node import Node
from ahoy.sensors.radarsensor import RadarSensor
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()))