Entities
SmartOpenHamburg distinguishes between agents
(acting individuals) and entities
(usable objects) within the simulation. Both can be initialized using files (see Agent Configuration).
Entities are initialized by an EntityManager
that has a data source (e.g. a csv-file like car.csv
). While every agent is unique, there may be multiple entities with the same initialization.
The following example displays a car.csv
. It defines values for relevant attributes of the Car
. Every instance of a car is initialized by referencing the type column. All cars of type Golf
have for instance a maxSpeed
of 13.89 m/s.
type | maxAcceleration | maxDeceleration | maxSpeed | length | height | width | trafficCode | passengerCapacity | velocity | mass |
---|---|---|---|---|---|---|---|---|---|---|
Golf | 0.73 | 1.67 | 13.89 | 4.5 | 2 | 2 | german | 4 | 0 | 1500 |
The properties are further described below:
property | description |
---|---|
type | Identification column |
maxAcceleration | Acceleration module parameter in meter/second² |
maxDeceleration | Acceleration module parameter in meter/second² |
maxSpeed | Acceleration module parameter in meter/second |
length | Dimension parameter for occupancy on the road in meter |
height | Dimension parameter for occupancy on the road in meter |
width | Dimension parameter for occupancy on the road in meter |
trafficCode | Identifies the behavior on intersections without traffic lights |
passengerCapacity | The amount of passenger that can be driven by the car beside the driver |
velocity | The starting velocity in meter/second |
mass | Might be used by the acceleration module but is not right now. Unit in kilogram |
As by now the model includes the following entity types:
Car
The Car
is a Vehicle
that is used for the Car
modal type.
Only a ICarSteeringHandle
can use the car to move along the corresponding CarGraph
. The steering (CarSteeringHandle
) implements the Wiedemann Equation and that is used to determine the acceleration ratio.
Parking Space
Cars can be dropped off directly in the environment to represent available parking zones. In the model there is ParkingSpaceLayer
available which manages ParkSpace
.
The Car
can be used transport passengers and be used by MultiCapableAgent
(for more look here MultiCapableAgent).
Bicycle
The Bicycle
is a Vehicle
that is used for the Cycling
modal type.
Only a IBicycleSteeringCapable
can use the bicycle for driving, because the steering interface (BicycleSteeringHandle
) requires some properties for the underlying Wiedemann Equation that is used to determine the acceleration ratio.
Rental Bicycle
The RentalBicycle
is a specific Bicycle
that can be leased from rental stations (see BicycleRentalStation
). It has to be returned to a station in order to switch back to walking.
The type of a rental bicycle is city
as it is defined in the bicycle.csv
Ferry
The Ferry
is a Vehicle
that is used by the FerryDriver
to commute between FerryStations
on predefined routes called FerryLines
.
As right now, the ferry has only a capacity property for passengers (e.g. MultiCapableAgent).
Further information can be found in the FerryTransfer scenario.