コード例 #1
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

EVENT_LOOP = get_namedtuple_from_dict(
    "CONST", {
        "KEEP_ALIVE": 60,
        "TOPIC": {
            "CATEGORIES": {
                "REQUEST": ["request"],
                "RESPONSE": ["response"]
            }
        },
        "ACTION": {
            "CHECK": "check",
            "KILL": "kill"
        },
        "STATE": {
            "START": "start",
            "WILL": "will",
            "DISCONNECT": "disconnect"
        },
        "RESPONSE": {
            "OK": "ok"
        }
    })
コード例 #2
0
ファイル: route.py プロジェクト: ericyao2013/UGV-CPFL_AMS
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_base_class, get_namedtuple_from_dict

ROUTE = get_namedtuple_from_dict("CONST", {
    "DELIMITER": ":"
})

route_template = {
    "start_waypoint_id": "0",
    "goal_waypoint_id": "1",
    "arrow_codes": ["0_1"]
}

'''
route_code = "[start_waypoint_id]:[joined_arrow_codes]:[goal_waypoint_id]"
routes = {
    route_code: route,
}
'''

route_schema = {
    "start_waypoint_id": {
        "type": "string",
        "required": True,
        "nullable": False,
    },
    "goal_waypoint_id": {
        "type": "string",
        "required": True,
コード例 #3
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

FLEET_MANAGER = get_namedtuple_from_dict(
    "CONST", {
        "NODE_NAME": "FleetManager",
        "TOPIC": {
            "CATEGORIES": {
                "STATUS": ["status"],
                "SCHEDULES": ["schedules"]
            }
        },
        "TRIGGER": {
            "LOG_IN": "log_in",
            "LOG_OUT": "log_out"
        },
        "STATE": {
            "LOG_IN": "log_in",
            "LOG_OUT": "log_out"
        }
    })
コード例 #4
0
ファイル: waypoint.py プロジェクト: ericyao2013/UGV-CPFL_AMS
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_base_class, get_namedtuple_from_dict, Pose

WAYPOINT = get_namedtuple_from_dict("CONST", {"GEOHASH_PRECISION": 15})

template = {
    "geohash": "123456789012345",
    "pose": Pose.get_template(),
    "speed_limit": 5.5
}
'''
waypoint_id = "[id defined by autoware maps]"
waypoints = {
    waypoint_id: waypoint,
}
'''

schema = {
    "geohash": {
        "type": "string",
        "required": True,
        "nullable": False,
        "minlength": 15,
    },
    "pose": {
        "type": "dict",
        "schema": Pose.get_schema(),
        "nullable": False,
    },
コード例 #5
0
ファイル: target.py プロジェクト: ericyao2013/UGV-CPFL_AMS
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_base_class, get_namedtuple_from_dict

TARGET = get_namedtuple_from_dict("CONST", {"DELIMITER": "/"})

target_template = {"id": "uuid", "group": "EventLoop"}

target_schema = {
    "id": {
        "type": "string",
        "required": True,
        "nullable": True,
    },
    "group": {
        "type": "string",
        "required": True,
        "nullable": False,
    }
}


class Target(get_base_class(target_template, target_schema)):
    pass


targets_template = [Target.get_template()]

targets_schema = {
    "type": "list",
コード例 #6
0
ファイル: user.py プロジェクト: ericyao2013/UGV-CPFL_AMS
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

USER = get_namedtuple_from_dict(
    "CONST", {
        "TOPIC": {
            "CATEGORIES": {
                "STATUS": ["status"],
            }
        },
        "EVENT": {
            "TRIP": "trip",
        },
        "TRIGGER": {
            "LOG_IN": "log_in",
            "LOG_OUT": "log_out"
        },
        "STATE": {
            "LOG_IN": "log_in",
            "LOG_OUT": "log_out"
        }
    })
コード例 #7
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

SIM_TAXI_FLEET = get_namedtuple_from_dict(
    "CONST", {
        "DISPATCHABLE_GEOHASH_DIGIT": 6,
        "TIMEOUT": 30.0,
        "TRIGGER": {
            "WAIT_USER_REQUEST": "wait_user_request",
            "DISPATCH": "dispatch",
            "NOTICE": "notice",
            "WAIT_TAXI_ARRIVAL": "wait_taxi_arrival",
            "WAIT_USER_ACTION": "wait_user_action",
        },
        "STATE": {
            "WAITING_FOR_USER_LOG_IN": "waiting_for_user_log_in",
            "WAITING_FOR_USER_REQUEST": "waiting_for_user_request",
            "WAITING_FOR_TAXI_ARRIVE_AT_USER_LOCATION":
            "waiting_for_taxi_arrive_at_user_location",
            "WAITING_FOR_USER_GETTING_ON": "waiting_for_user_getting_on",
            "WAITING_FOR_TAXI_ARRIVE_AT_USER_DESTINATION":
            "waiting_for_taxi_arrive_at_user_destination",
            "WAITING_FOR_USER_GETTING_OUT": "waiting_for_user_getting_out",
        }
    })
コード例 #8
0
from ams.structures import get_namedtuple_from_dict


SIM_BUS_USER = get_namedtuple_from_dict("CONST", {
    "NODE_NAME": "SimBusUser",
    "TARGET_GROUP": {
        "START_BUS_STOP": "startBusStop",
        "GOAL_BUS_STOP": "goalBusStop"
    },
    "TRIGGER": {
        "WAIT": "wait",
        "GET_ON": "get_on",
        "GOT_ON": "got_on",
        "MOVE_VEHICLE": "move_vehicle",
        "REQUEST_STOP": "request_stop",
        "GET_OUT": "get_out",
        "GOT_OUT": "got_out"
    },
    "STATE": {
        "ARRIVED_AT_BUS_STOP": "arrived_at_bus_stop",
        "WAITING": "waiting",
        "GETTING_ON": "getting_on",
        "GOT_ON": "got_on",
        "MOVING": "moving",
        "READY_TO_GET_OUT": "ready_to_get_out",
        "GETTING_OUT": "getting_out",
        "GOT_OUT": "got_out"
    }
})
コード例 #9
0
#!/usr/bin/env python
# coding: utf-8

from sys import float_info
from ams.structures import get_namedtuple_from_dict


SIM_CAR = get_namedtuple_from_dict("CONST", {
    "NODE_NAME": "SimCar",
    "TOPIC": {
        "CATEGORIES": {
            "LOCATION": ["status", "location"],
            "STATUS": ["status"]
        }
    },
    "TRIGGER": {
        "MOVE": "move",
        "STOP": "stop"
    },
    "STATE": {
        "MOVE": "move",
        "STOP": "stop"
    },
    "LOWER_INTER_VEHICLE_DISTANCE": 3.0,
    "LOWER_INTER_TRAFFIC_SIGNAL_DISTANCE": 1.0,
    "FLOAT_MAX": float_info.max,
    "ACCELERATION_MAX": 0.3  # [m/s^2]
})
コード例 #10
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

VEHICLE = get_namedtuple_from_dict(
    "CONST", {
        "TOPIC": {
            "CATEGORIES": {
                "STATUS": ["status"],
                "GEOTOPIC": ["geotopic"]
            }
        },
        "STATE": {
            "LOG_IN": "log_in",
            "LOG_OUT": "log_out"
        }
    })
コード例 #11
0
ファイル: sim_bus.py プロジェクト: ericyao2013/UGV-CPFL_AMS
SIM_BUS = get_namedtuple_from_dict(
    "CONST", {
        "NODE_NAME": "SimBus",
        "EVENT": {
            "STAND_BY": "standBy",
            "MOVE_TO_CIRCULAR_ROUTE": "moveToCircularRoute",
            "MOVE_TO_SELECT_POINT": "moveToSelectPoint",
            "MOVE_TO_BRANCH_POINT": "moveToBranchPoint",
            "MOVE_TO_BUS_STOP": "moveToBusStop",
            "MOVE_TO_JUNCTION": "moveToJunction",
            "MOVE_TO_PARKING": "moveToParking",
            "STOP_TO_TAKE_UP": "stopToTakeUp",
            "STOP_TO_DISCHARGE": "stopToDischarge",
            "STOP_TO_DISCHARGE_AND_TAKE_UP": "stopToDischargeAndTakeUp",
            "STOP_TO_PARKING": "stopToParking"
        },
        "TRIGGER": {
            "STAND_BY": "stand_by",
            "MOVE": "move",
            "MOVE_AND_REQUEST_SCHEDULES": "move_and_request_schedules",
            "REQUEST_SCHEDULES": "request_schedules",
            "STOP": "stop",
        },
        "STATE": {
            "STAND_BY": "stand_by",
            "MOVE_TO_CIRCULAR_ROUTE": "move_to_circular_route",
            "MOVE_TO_SELECT_POINT": "move_to_select_point",
            "REQUEST_THROUGH_SCHEDULES": "request_through_schedules",
            "REQUEST_VIA_SCHEDULES": "request_via_schedules",
            "MOVE_TO_BRANCH_POINT": "move_to_branch_point",
            "MOVE_TO_BUS_STOP": "move_to_bus_stop",
            "MOVE_TO_JUNCTION": "move_to_junction",
            "MOVE_TO_PARKING": "move_to_parking",
            "STOP_FOR_DISCHARGING_AND_TAKING_UP":
            "stop_for_discharging_and_taking_up",
            "STOP_FOR_PARKING": "stop_for_parking"
        }
    })
コード例 #12
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

SIM_BUS_FLEET = get_namedtuple_from_dict(
    "CONST", {
        "DISPATCHABLE_GEOHASH_DIGIT": 6,
        "TIMEOUT": 30.0,
        "TARGET_GROUP": {
            "BUS_SCHEDULES": "bus_schedules"
        },
        "TRIGGER": {
            "ASSIGN_BUS_SCHEDULES": "send_circular_route_schedules",
            "SEND_THROUGH_SCHEDULES": "send_through_schedules",
            "SEND_VIA_SCHEDULES": "send_via_schedules"
        },
        "STATE": {
            "WAITING_FOR_BUS_STAND_BY": "waiting_for_bus_stand_by",
            "WAITING_FOR_SCHEDULES_REQUEST": "waiting_for_schedules_request",
        }
    })
コード例 #13
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

TRAFFIC_SIGNAL = get_namedtuple_from_dict(
    "CONST",
    {
        "NODE_NAME": "TrafficSignal",
        "TOPIC": {
            "CATEGORIES": {
                "STATUS": ["status"],
                "SCHEDULES": ["schedules"],
                "CYCLE": ["cycle"]
            }
        },
        "LOWER_LIMIT_RATE": 600.0,  # [sec]
        "STATE": {
            "GREEN": "green",
            "YELLOW": "yellow",
            "RED": "red",
            "UNKNOWN": "unknown"
        }
    })
コード例 #14
0
AUTOWARE = get_namedtuple_from_dict(
    "CONST", {
        "NODE_NAME": "Autoware",
        "FLOAT_MAX": float_info.max,
        "DEFAULT_UPPER_DISTANCE_FROM_STOPLINE": 50.0,
        "ROS": {
            "DECISION_MAKER_STATES": {
                "MAIN": {
                    "START": "Start",
                    "DRIVE": "Drive",
                    "INITIAL": "Initial",
                    "MISSION_COMPLETE": "MissionComplete",
                },
                "ACC": {
                    "KEEP": "Keep",
                    "STOP": "Stop",
                },
                "STR": {
                    "NONE": ""
                },
                "BEHAVIOR": {
                    "TRAFFIC_LIGHT_GREEN": "\nTrafficLightGreen",
                    "TRAFFIC_LIGHT_RED": "\nTrafficLightRed",
                    "WAIT_ORDERS": "\nWaitOrders",
                }
            },
            "STATE_CMD": {
                "MAIN": {
                    "START": 1,
                    "INIT": 2,
                    "DRIVE": 6
                },
                "SUB": {
                    "KEEP": 13,
                    "STOP": 14
                },
            },
            "TRAFFIC_LIGHT": {
                "RED": 0,
                "GREEN": 1,
                "UNKNOWN": 2
            },
        },
        "TRIGGER": {
            "LAUNCH": "launch",
            "ACTIVATE": "activate",
            "SCHEDULE": "schedule",
            "SYNCHRONIZE_ROUTE": "synchronize_route",
            "MOVE": "move",
            "STOP": "stop",
            "GET_READY": "get_ready"
        },
        "STATE": {
            "LAUNCHED": "launched",
            "STAND_BY": "stand_by",
            "SCHEDULE_UPDATED": "schedule_updated",
            "READY_TO_MOVE": "ready_to_move",
            "MOVE": "move",
            "STOP": "stop",
        },
        "TOPIC": {
            "ROS_NODE_NAME": "ros",
            "CATEGORIES": {
                "BASED_LANE_WAYPOINTS_ARRAY":
                ["based", "lane_waypoints_array"],
                "STATE_CMD": ["state_cmd"],
                "LIGHT_COLOR": ["light_color"],
                "CURRENT_POSE": ["current_pose"],
                "CLOSEST_WAYPOINT": ["closest_waypoint"],
                "DECISION_MAKER_STATES": ["decisionmaker", "states"],
            }
        },
    })
コード例 #15
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

SIM_TAXI_USER = get_namedtuple_from_dict(
    "CONST", {
        "NODE_NAME": "SimTaxiUser",
        "TRIGGER": {
            "REQUEST": "request",
            "WAIT": "wait",
            "GET_ON": "get_on",
            "GOT_ON": "got_on",
            "MOVE_VEHICLE": "move_vehicle",
            "GET_OUT": "get_out",
            "GOT_OUT": "got_out"
        },
        "STATE": {
            "CALLING": "calling",
            "WAITING": "waiting",
            "GETTING_ON": "getting_on",
            "GOT_ON": "got_on",
            "MOVING": "moving",
            "GETTING_OUT": "getting_out",
            "GOT_OUT": "got_out"
        },
    })
コード例 #16
0
ファイル: rpy.py プロジェクト: ericyao2013/UGV-CPFL_AMS
#!/usr/bin/env python
# coding: utf-8

from numpy import pi
from ams.structures import get_base_class, get_namedtuple_from_dict

RPY = get_namedtuple_from_dict("CONST", {
    "PI2": 2.0 * pi
})

template = {
    "roll": 0.0,
    "pitch": 0.0,
    "yaw": 0.0,
}

schema = {
    "roll": {
        "type": "number",
        "required": True,
        "nullable": True,
        "min": 0.0,
        "max": RPY.PI2
    },
    "pitch": {
        "type": "number",
        "required": True,
        "nullable": True,
        "min": 0.0,
        "max": RPY.PI2
    },
コード例 #17
0
#!/usr/bin/env python
# coding: utf-8

from ams.structures import get_namedtuple_from_dict

SIM_TAXI = get_namedtuple_from_dict(
    "CONST", {
        "NODE_NAME": "SimTaxi",
        "TRIGGER": {
            "STAND_BY": "stand_by",
            "MOVE": "move",
            "STOP": "stop",
        },
        "STATE": {
            "STAND_BY": "stand_by",
            "MOVE_FOR_PICKING_UP": "move_for_picking_up",
            "STOP_FOR_PICKING_UP": "stop_for_picking_up",
            "MOVE_FOR_DISCHARGING": "move_for_discharging",
            "STOP_FOR_DISCHARGING": "stop_for_discharging"
        },
    })