--- apiVersion: apps/v1 kind: Deployment metadata: name: objects-detection annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: objects-detection template: metadata: labels: component: objects-detection spec: containers: - name: objects-detection image: docker.io/cyrilix/robocar-objects-detection args: - "-mqtt-retain=false" - "--image-width=$(IMAGE_WIDTH)" - "--image-height=$(IMAGE_HEIGHT)" - "--object-size-threshold=0.50" - "--enable-big-objects-remove=true" - "--enable-group-objects=false" # to debug/test - "--enable-bottom-filter=false" # don't work - "--enable-nearest-filter=true" - "--object-bottom-limit=0.90" - "--log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 resources: limits: memory: 100Mi env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-objects-detection - name: MQTT_TOPIC_OBJECTS valueFrom: configMapKeyRef: key: MQTT_TOPIC_OBJECTS name: robocar - name: MQTT_TOPIC_OBJECTS_CLEAN valueFrom: configMapKeyRef: key: MQTT_TOPIC_OBJECTS_CLEAN name: robocar - name: MQTT_TOPIC_DISPARITY valueFrom: configMapKeyRef: key: MQTT_TOPIC_CAMERA_DISPARITY name: robocar - name: MQTT_QOS value: "0" - name: IMAGE_WIDTH valueFrom: configMapKeyRef: key: CAMERA_WIDTH name: robocar-camera - name: IMAGE_HEIGHT valueFrom: configMapKeyRef: key: CAMERA_HEIGHT name: robocar-camera - name: TZ value: "Europe/Paris" --- apiVersion: apps/v1 kind: Deployment metadata: name: steering annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: steering template: metadata: labels: component: steering spec: containers: - name: steering image: docker.io/cyrilix/robocar-steering args: - "-mqtt-retain=false" - "--enable-objects-correction=$(DETECTION_OBJECTS)" - "--enable-objects-correction-user=$(DETECTION_OBJECTS)" - "--grid-map-config=/etc/robocar/grid.json" - "--objects-move-factors-config=/etc/robocar/omf.json" - "--delta-middle=0.1" - "-log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-steering - name: MQTT_TOPIC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_STEERING name: robocar - name: MQTT_TOPIC_TF_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_TF_STEERING name: robocar - name: MQTT_TOPIC_RC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_STEERING name: robocar - name: MQTT_TOPIC_DRIVE_MODE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_DRIVE_MODE name: robocar - name: MQTT_TOPIC_OBJECTS valueFrom: configMapKeyRef: key: MQTT_TOPIC_OBJECTS_CLEAN name: robocar - name: MQTT_QOS value: "0" - name: IMAGE_WIDTH valueFrom: configMapKeyRef: key: CAMERA_WIDTH name: robocar-camera - name: IMAGE_HEIGHT valueFrom: configMapKeyRef: key: CAMERA_HEIGHT name: robocar-camera - name: TZ value: "Europe/Paris" - name: DETECTION_OBJECTS valueFrom: configMapKeyRef: key: detection_objects name: robocar-profiles volumeMounts: - mountPath: /etc/robocar name: robocar-configs volumes: - name: robocar-configs configMap: name: steering --- apiVersion: apps/v1 kind: Deployment metadata: name: throttle annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: throttle template: metadata: labels: component: throttle spec: containers: - name: throttle image: docker.io/cyrilix/robocar-throttle args: - "--mqtt-retain=false" - "--enable-brake-feature=true" - "--brake-configuration=/etc/robocar/brake.json" - "--enable-custom-steering-processor=true" - "--custom-steering-processor-config=/etc/robocar/$(THROTTLE_STEERING_CONFIG)" - "--accelerator-factor=$(THROTTLE_ACCELERATOR_FACTOR)" - "--log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-throttle - name: MQTT_TOPIC_THROTTLE valueFrom: configMapKeyRef: key: MQTT_TOPIC_THROTTLE name: robocar - name: MQTT_TOPIC_RC_THROTTLE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_THROTTLE name: robocar - name: MQTT_TOPIC_DRIVE_MODE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_DRIVE_MODE name: robocar - name: MQTT_TOPIC_THROTTLE_FEEDBACK valueFrom: configMapKeyRef: name: robocar key: MQTT_TOPIC_THROTTLE_FEEDBACK - name: MQTT_TOPIC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_STEERING name: robocar - name: MQTT_TOPIC_SPEED_ZONE valueFrom: configMapKeyRef: key: MQTT_TOPIC_SPEED_ZONE name: robocar - name: MQTT_TOPIC_MAX_THROTTLE_CTRL valueFrom: configMapKeyRef: name: robocar key: MQTT_TOPIC_MAX_THROTTLE_CTRL - name: THROTTLE_MIN valueFrom: configMapKeyRef: key: THROTTLE_MIN name: robocar-throttle - name: THROTTLE_MAX valueFrom: configMapKeyRef: key: THROTTLE_MAX name: robocar-throttle - name: THROTTLE_ACCELERATOR_FACTOR valueFrom: configMapKeyRef: name: robocar-throttle key: THROTTLE_ACCELERATOR_FACTOR - name: THROTTLE_STEERING_CONFIG valueFrom: configMapKeyRef: key: throttle_from_steering name: robocar-profiles - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris" volumeMounts: - mountPath: /etc/robocar name: throttle-config volumes: - name: throttle-config configMap: name: throttle --- apiVersion: apps/v1 kind: Deployment metadata: name: recorder annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: recorder template: metadata: labels: component: recorder spec: containers: - name: recorder image: docker.io/cyrilix/robocar-recorder-store args: - "-mqtt-retain=true" - "-record-path=/records" - "-log=info" env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-recorder - name: MQTT_TOPIC_RECORDS valueFrom: configMapKeyRef: key: MQTT_TOPIC_RECORDS name: robocar - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris" volumeMounts: - mountPath: /records name: records securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch volumes: - name: records hostPath: path: /home/pi/records --- apiVersion: apps/v1 kind: Deployment metadata: name: record annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: record template: metadata: labels: component: record spec: containers: - name: record image: docker.io/cyrilix/robocar-record args: - "-mqtt-retain=true" - "-debug=false" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-record - name: MQTT_TOPIC_CAMERA valueFrom: configMapKeyRef: key: MQTT_TOPIC_CAMERA_OAK_COLOR name: robocar - name: MQTT_TOPIC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_STEERING name: robocar - name: MQTT_TOPIC_SWITCH_RECORD valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_SWITCH_RECORD name: robocar - name: MQTT_TOPIC_AUTOPILOT_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_TF_STEERING name: robocar - name: MQTT_TOPIC_DRIVE_MODE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_DRIVE_MODE name: robocar - name: MQTT_TOPIC_RECORDS valueFrom: configMapKeyRef: key: MQTT_TOPIC_RECORDS name: robocar - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris" --- apiVersion: apps/v1 kind: Deployment metadata: name: road annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 0 strategy: type: Recreate selector: matchLabels: component: road template: metadata: labels: component: road spec: containers: - name: road image: docker.io/cyrilix/robocar-road args: - "-mqtt-retain=false" - "-image-width=$(IMAGE_WIDTH)" - "-image-height=$(IMAGE_HEIGHT)" - "-white-threshold-low=20" - "-white-threshold-high=255" - "-canny-threshold-low=100" - "-canny-threshold-high=250" - "-hough-lines-rho=2" # distance resolution in pixels of the Hough grid") #- "-hough-lines-theta", 1*math.Pi/180, "angular resolution in radians of the Hough grid, default Pi/180") - "-hough-lines-threshold=15" # minimum number of votes (intersections in Hough grid cell) - "-hough-lines-min-line-length=10" # minimum number of pixels making up a line - "-hough-lines-max-lines-gap=20" # maximum gap in pixels between connectable line segments - "--log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 resources: limits: memory: 100Mi cpu: 500m env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-road - name: MQTT_TOPIC_CAMERA valueFrom: configMapKeyRef: key: MQTT_TOPIC_CAMERA name: robocar - name: MQTT_TOPIC_ROAD valueFrom: configMapKeyRef: key: MQTT_TOPIC_ROAD name: robocar - name: MQTT_QOS value: "0" - name: IMAGE_WIDTH valueFrom: configMapKeyRef: key: CAMERA_WIDTH name: robocar-camera - name: IMAGE_HEIGHT valueFrom: configMapKeyRef: key: CAMERA_HEIGHT name: robocar-camera - name: TZ value: "Europe/Paris"