good config!

This commit is contained in:
2024-01-13 18:26:23 +01:00
parent 1d60c61c30
commit 9335b69c74
23 changed files with 925 additions and 336 deletions

View File

@ -20,7 +20,7 @@ data:
MQTT_TOPIC_RC_STEERING: car/satanas/part/rc/steering
MQTT_TOPIC_RC_SWITCH_RECORD: car/satanas/part/rc/switch_record
MQTT_TOPIC_RC_DRIVE_MODE: car/satanas/part/rc/drive_mode
MQTT_TOPIC_MAX_THROTTLE_CTRL: car/satanas/part/rc/max_throttle
MQTT_TOPIC_TF_STEERING: car/satanas/part/tflite/steering
@ -28,6 +28,8 @@ data:
MQTT_TOPIC_THROTTLE: car/satanas/part/throttle
MQTT_TOPIC_STEERING: car/satanas/part/steering
MQTT_TOPIC_SPEED_ZONE: car/satanas/part/speed_zone
# Road detection
MQTT_TOPIC_ROAD: car/satanas/part/road
@ -52,16 +54,35 @@ data:
# THROTTLE_MIN: "0.10"
# THROTTLE_MAX: "0.12"
## Slow auto-pilot
####################
#THROTTLE_MIN: "0.10"
#THROTTLE_MAX: "0.10"
## Secure auto-pilot
####################
THROTTLE_MIN: "0.10"
THROTTLE_MAX: "0.12"
#THROTTLE_MIN: "0.11"
#THROTTLE_MAX: "0.12"
## bump auto-pilot
####################
THROTTLE_MIN: "0.11"
THROTTLE_MAX: "0.11"
## bump speed auto-pilot
####################
#THROTTLE_MIN: "0.12"
#THROTTLE_MAX: "0.18"
## Speed auto-pilot
###################
# THROTTLE_MIN: "0.11"
# THROTTLE_MAX: "0.13"
#THROTTLE_MIN: "0.11"
#THROTTLE_MAX: "0.13"
## Speed race auto-pilot
###################
#THROTTLE_MIN: "0.11"
#THROTTLE_MAX: "0.15"
---
apiVersion: v1
@ -69,12 +90,13 @@ kind: ConfigMap
metadata:
name: robocar-steering-pwm
data:
################
# STEERING PWM #
################
STEERING_LEFT_PWM: "1000"
STEERING_RIGHT_PWM: "1985"
STEERING_CENTER_PWM: "1492"
STEERING_LEFT_PWM: "1004"
STEERING_RIGHT_PWM: "2048"
STEERING_CENTER_PWM: "1514"
############################
# STEERING PWM - SECOND RC #
@ -83,18 +105,26 @@ data:
STEERING_SECONDARY_RIGHT_PWM: "2141"
STEERING_SECONDARY_CENTER_PWM: "1641"
#################################
# OLD RADIO-COMAND STEERING PWM #
#################################
#STEERING_LEFT_PWM: "1000"
#STEERING_RIGHT_PWM: "1985"
#STEERING_CENTER_PWM: "1492"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: robocar-throttle-pwm
data:
################
# THROTTLE PWM #
################
THROTTLE_MIN_PWM: "994"
THROTTLE_MAX_PWM: "1979"
THROTTLE_ZERO_PWM: "1484"
THROTTLE_MIN_PWM: "980"
THROTTLE_MAX_PWM: "2046"
THROTTLE_ZERO_PWM: "1509"
###########################
# THROTTLE PWM - SECOND RC #
@ -103,6 +133,18 @@ data:
THROTTLE_SECONDARY_MAX_PWM: "1975"
THROTTLE_SECONDARY_ZERO_PWM: "1506"
####################
# OLD THROTTLE PWM #
####################
# THROTTLE_MIN_PWM: "994"
# THROTTLE_MAX_PWM: "1979"
# THROTTLE_ZERO_PWM: "1484"
############################
# MAX THROTTLE CONTROL PWM #
############################
CTRL_THROTTLE_MIN_PWM: "1000"
CTRL_THROTTLE_MAX_PWM: "2000"
---
apiVersion: v1
kind: ConfigMap
@ -118,7 +160,9 @@ data:
CAMERA_WIDTH: "160"
CAMERA_HEIGHT: "120"
MQTT_CAMERA_PUB_FREQUENCY: "30"
CAMERA_FPS: "40"
MQTT_CAMERA_PUB_FREQUENCY: "40"
---
apiVersion: v1
@ -127,7 +171,36 @@ metadata:
name: robocar-models
data:
# model to use for steering
MODEL_STEERING: model_categorical_160x120h0_edgetpu.tflite
#MODEL_STEERING: model_categorical_160x120h0_edgetpu.tflite
MODEL_STEERING: "model_linear_160x120h0_edgetpu.tflite"
#OCI_IMAGE_MODEL: "git.cyrilix.bzh/robocars/model-steering:v20230429.0945-edgetpu"
#OCI_IMAGE_MODEL: "docker.io/cyrilix/model-steering:v20230429.0945-edgetpu"
#OCI_IMAGE_MODEL: "docker.io/cyrilix/model-steering:v0.1.0-edgetpu"
OCI_IMAGE_MODEL_REGISTRY: "registry.registry:5000"
OCI_IMAGE_MODEL_REPOSITORY: "robocars/model-steering"
# OCI_IMAGE_MODEL_TAG: "v20230602.2041-edgetpu" # vibreurs seuls ou v20230601.2338-edgetpu
#OCI_IMAGE_MODEL_TAG: "v20230602.2058-edgetpu" # vibreurs + toutes les sessions bump
#OCI_IMAGE_MODEL_TAG: "v20230603.1130-edgetpu" # clean1
#OCI_IMAGE_MODEL_TAG: "v20230603.1144-edgetpu" # clean1
#OCI_IMAGE_MODEL_TAG: "v20230617.0938-edgetpu"
#OCI_IMAGE_MODEL_TAG: "v20230617.0946-edgetpu" # bad
#OCI_IMAGE_MODEL_TAG: "v20230617.1010-edgetpu" # rd + vt not exist
#OCI_IMAGE_MODEL_TAG: "v20230429.0945-edgetpu" # All + bump
#OCI_IMAGE_MODEL_TAG: "v20230617.1058-edgetpu" # clean3
#OCI_IMAGE_MODEL_TAG: "v20230617.1312-edgetpu" # clean10
OCI_IMAGE_MODEL_TAG: "v20230603.1157-edgetpu" # clean1 # Model RD good
#OCI_IMAGE_MODEL_TAG: "v20231215.1955-tflite" # Model RD good + plots
#OCI_IMAGE_MODEL_TAG: "v20231215.2002-tflite" # Model RD good + plots + brightness 0.5 + contrast 0.5
#OCI_IMAGE_MODEL_TAG: "v20231013.2034-edgetpu" # clean3, light + contrast
#OCI_IMAGE_MODEL_TAG: "v20230617.1327-edgetpu" # clean10
#MODEL_STEERING: model_linear_160x120h40_edgetpu.tflite
@ -162,9 +235,9 @@ data:
"data": [
[ 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0],
[ 0, 0, 0.25, -0.25, 0, 0],
[ 0, 0.25, 0.5, -0.5, -0.25, 0],
[ 0.25, 0.5, 1, -1, -0.5, -0.25]
[ 0, 0, 0.75, -0.75, 0, 0],
[ 0, 0.75, 1, -1, -0.75, 0],
[ 0.75, 1, 1, -1, -1, -0.75]
]
}
@ -202,8 +275,57 @@ kind: ConfigMap
metadata:
name: throttle
data:
brake2.json: |
{
"delta_steps": [ 0.05, 0.1, 0.2, 0.3, 0.5 ],
"data": [ -0.1, -0.2, -0.3, -0.6, -1.0 ]
}
brake.json3: |
{
"delta_steps": [ 0.005, 0.1, 0.2, 0.3, 0.5 ],
"data": [ -0.26, -0.4, -0.7, -0.8, -1.0 ]
}
brake.json: |
{
"delta_steps": [ 0.05, 0.3, 0.5 ],
"data": [ -0.1, -0.5, -1.0 ]
"delta_steps": [ 0.005, 0.05, 0.1, 0.2, 0.5 ],
"data": [ -0.26, -0.4, -0.7, -0.8, -1.0 ]
}
speed_custom_steering.json: |
{
"steering_values": [0.0, 0.20, 0.50, 0.70],
"throttle_steps": [0.17, 0.16, 0.15, 0.13]
}
good_custom_steering.json: |
{
"steering_values": [0.0, 0.20, 0.50, 0.70],
"throttle_steps": [0.14, 0.13, 0.12, 0.11]
}
lcustom_steering.json: |
{
"steering_values": [0.0, 0.20, 0.50, 0.70],
"throttle_steps": [0.16, 0.15, 0.14, 0.12]
}
custom_steering.json: |
{
"steering_values": [0.0, 0.20, 0.50, 0.70],
"throttle_steps": [0.21, 0.17, 0.15, 0.12]
}
bcustom_steering.json: |
{
"steering_values": [0.0, 0.20, 0.50, 0.70],
"throttle_steps": [0.18, 0.15, 0.14, 0.13]
}
slow_custom_steering.json: |
{
"steering_values": [0.0, 0.20, 0.50, 0.70],
"throttle_steps": [0.12, 0.115, 0.112, 0.11]
}

View File

@ -1,302 +1,6 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: arduino
annotations:
reloader.stakater.com/auto: "true"
spec:
revisionHistoryLimit: 0
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: arduino
template:
metadata:
labels:
component: arduino
spec:
containers:
- name: arduino
image: docker.io/cyrilix/robocar-arduino
args:
- "-device=/dev/ttyAMA1"
- "-baud=115200"
- "-mqtt-retain=false"
- "--steering-left-pwm=$(STEERING_LEFT_PWM)"
- "--steering-right-pwm=$(STEERING_RIGHT_PWM)"
- "--steering-center-pwm=$(STEERING_CENTER_PWM)"
- "--steering-secondary-left-pwm=$(STEERING_SECONDARY_LEFT_PWM)"
- "--steering-secondary-right-pwm=$(STEERING_SECONDARY_RIGHT_PWM)"
- "--steering-secondary-center-pwm=$(STEERING_SECONDARY_CENTER_PWM)"
- "--throttle-min-pwm=$(THROTTLE_MIN_PWM)"
- "--throttle-max-pwm=$(THROTTLE_MAX_PWM)"
- "--throttle-center-pwm=$(THROTTLE_ZERO_PWM)"
- "--throttle-secondary-min-pwm=$(THROTTLE_SECONDARY_MIN_PWM)"
- "--throttle-secondary-max-pwm=$(THROTTLE_SECONDARY_MAX_PWM)"
- "--throttle-secondary-center-pwm=$(THROTTLE_SECONDARY_ZERO_PWM)"
- '--throttle-feedback-config=/etc/robocar/thresholds.json'
- "-log=info"
volumeMounts:
- mountPath: "/dev/ttyAMA0"
name: serial
- mountPath: "/etc/robocar"
name: robocar
securityContext:
privileged: true
runAsUser: 1234
runAsGroup: 20 # Set 20/dialout group to access to serial device
envFrom:
- configMapRef:
name: robocar-throttle-pwm
- configMapRef:
name: robocar-steering-pwm
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-arduino
- name: MQTT_TOPIC_THROTTLE
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_RC_THROTTLE
name: robocar
- name: MQTT_TOPIC_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_SWITCH_RECORD
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_RC_SWITCH_RECORD
name: robocar
- name: MQTT_TOPIC_THROTTLE_FEEDBACK
valueFrom:
configMapKeyRef:
name: robocar
key: MQTT_TOPIC_THROTTLE_FEEDBACK
- name: MQTT_QOS
value: "0"
- name: TZ
value: "Europe/Paris"
volumes:
- name: serial
hostPath:
path: /dev/ttyAMA0
type: CharDevice
- name: robocar
configMap:
name: robocar-objects
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: led
annotations:
reloader.stakater.com/auto: "true"
spec:
revisionHistoryLimit: 0
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: led
template:
metadata:
labels:
component: led
spec:
containers:
- name: led
image: docker.io/cyrilix/robocar-led
args:
- "-mqtt-retain=false"
- "-log=info"
volumeMounts:
- name: gpiomem
mountPath: "/dev/gpiomem"
- name: gpiochip0
mountPath: "/dev/gpiochip0"
- name: gpiochip1
mountPath: "/dev/gpiochip1"
securityContext:
privileged: true
runAsUser: 1234
runAsGroup: 997 # Set 997/gpio group to access to serial device
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-led
- name: MQTT_TOPIC_DRIVE_MODE
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_RC_DRIVE_MODE
name: robocar
- name: MQTT_TOPIC_RECORD
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_RC_SWITCH_RECORD
name: robocar
- name: MQTT_QOS
value: "0"
- name: TZ
value: "Europe/Paris"
volumes:
- name: gpiomem
hostPath:
path: /dev/gpiomem
type: CharDevice
- name: gpiochip0
hostPath:
path: /dev/gpiochip0
type: CharDevice
- name: gpiochip1
hostPath:
path: /dev/gpiochip1
type: CharDevice
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tflite-steering
annotations:
reloader.stakater.com/auto: "true"
spec:
revisionHistoryLimit: 0
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: tflite-steering
template:
metadata:
labels:
component: tflite-steering
spec:
containers:
- name: tflite-steering
image: docker.io/cyrilix/robocar-steering-tflite-edgetpu
args:
- "--model=/model/$(MODEL_STEERING)"
- "--edge-verbosity=0"
- "--log=info"
securityContext:
runAsUser: 0
runAsGroup: 0
privileged: true
volumeMounts:
- name: models
mountPath: /model
- name: bus-usb
mountPath: /dev/bus/usb
- name: sys
mountPath: /sys
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-tflite-steering
- name: MQTT_TOPIC_CAMERA
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_CAMERA_OAK_COLOR
name: robocar
- name: MQTT_TOPIC_STEERING
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_TF_STEERING
name: robocar
- name: MODEL_STEERING
valueFrom:
configMapKeyRef:
key: MODEL_STEERING
name: robocar-models
- name: MODEL_IMAGE_WIDTH
valueFrom:
configMapKeyRef:
key: MODEL_IMAGE_WIDTH
name: robocar-models
- name: MODEL_IMAGE_HEIGHT
valueFrom:
configMapKeyRef:
key: MODEL_IMAGE_HEIGHT
name: robocar-models
- name: HORIZON
valueFrom:
configMapKeyRef:
key: HORIZON
name: robocar-models
- name: MQTT_QOS
value: "0"
- name: LD_LIBRARY_PATH
value: "/usr/local/lib/:/usr/lib"
- name: TZ
value: "Europe/Paris"
volumes:
- name: models
hostPath:
path: /home/pi/models/steering
type: DirectoryOrCreate
- name: bus-usb
hostPath:
path: /dev/bus/usb
- name: sys
hostPath:
path: /sys
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: steering
annotations:
@ -421,6 +125,8 @@ spec:
- "--mqtt-retain=false"
- "--enable-brake-feature=true"
- "--brake-configuration=/etc/robocar/brake.json"
- "--enable-custom-steering-processor=true"
- "--custom-steering-processor-config=/etc/robocar/custom_steering.json"
- "--log=info"
securityContext:
runAsUser: 1234
@ -468,6 +174,16 @@ spec:
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:
@ -617,6 +333,16 @@ spec:
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:

View File

@ -9,26 +9,18 @@ resources:
- configmap.yaml
images:
- name: docker.io/cyrilix/robocar-arduino
newTag: v0.9.0
- name: docker.io/cyrilix/robocar-led
newTag: v0.5.1
- name: docker.io/cyrilix/robocar-steering-tflite-edgetpu
newTag: v0.5.3
- name: docker.io/cyrilix/robocar-throttle
newTag: v0.6.0
newTag: v0.8.0
- name: docker.io/cyrilix/robocar-record
newTag: v0.5.1
newTag: v0.6.0
- name: docker.io/cyrilix/robocar-recorder-store
newTag: v0.2.1
newTag: v0.3.0
- name: docker.io/cyrilix/robocar-steering
newTag: v0.6.0
newTag: v0.6.0-4-gf97c9cf
- name: docker.io/cyrilix/robocar-road
newTag: v0.2.0