Summary
The HCM should detect if another software stack is running and terminate itself.
Is your feature request related to a problem?
If a second software stack is started while one is already running, the HCM starts succesfully and a non-insignificant amount of the remaining stack also survives. This can lead to issues that may damage hardware. An obvious symptom is the duplicate startup voiceline.
Describe the solution you'd like
The HCM should detect if another HCM in the same namespace is already running, and if so, at least terminate itself to prevent duplicate control signals to the motors. It should also say a voice line to indicate this issue clearly.
It may also make sense to terminate more of the software stack, but this may be difficult.
Properly detecting if a duplication is happening may be difficult to do properly. A potential solution is to detect if some specific topics have more than one publisher.
Describe alternatives you've considered
- Don't do anything; The deploy script already detects this issue.
- Add this duplication detection to other software. I think HCM is one of the more critical ones since it's responsible for managing safety; Some of the lower level nodes that directly talk to the hardware or higher level nodes that take up a significant computation effort may also benefit from such a detection.
Summary
The HCM should detect if another software stack is running and terminate itself.
Is your feature request related to a problem?
If a second software stack is started while one is already running, the HCM starts succesfully and a non-insignificant amount of the remaining stack also survives. This can lead to issues that may damage hardware. An obvious symptom is the duplicate startup voiceline.
Describe the solution you'd like
The HCM should detect if another HCM in the same namespace is already running, and if so, at least terminate itself to prevent duplicate control signals to the motors. It should also say a voice line to indicate this issue clearly.
It may also make sense to terminate more of the software stack, but this may be difficult.
Properly detecting if a duplication is happening may be difficult to do properly. A potential solution is to detect if some specific topics have more than one publisher.
Describe alternatives you've considered