---
# System prepended metadata

title: Design Review 2022

---

# Design Review 2022

## Elektronik
### Intro
- [ ] Short overview of the vehicle.
    - [ ] LV system overview, CAN overview, sensor overview
- [ ] What are your main goals as a team?
    - [ ] EDR: Increase reliability:
        - Simplify autonomous sensor concept.
        - Test extensive[ly].
- [ ] What are your resulting subteam goals?
    - [ ] EDR: safe and reliable
    - [ ] also EDR: flexibility and scalability
    - [ ] Contradiction?

### General
- [ ] Where do you see the most potential for improvements?
- [ ] What system are you proud of?
- [ ] What voltage do you use for the lv system? Why?
- [ ] If you could improve something, what would it be and why?

### Software Design
- [ ] What programming language do you use?
- [ ] Why not Python? What are the differences to Python?
    - [ ] Compiled, statically typed -> faster, safer
- [ ] Why not C? What are the differences to C?
    - [ ] C++ does OOP, has stricter compile time checks
- [ ] Which C++ standard do you use? Can you name a feature which was introduced by this standard?
- [ ] What is the goal of design patterns?
    - [ ] easy change, easy extension, provides an abstraction
- [ ] Can you explain the Single Responsibility principle (SRP)?
    - [ ] "A class should have only one reason to change."
- [ ] How do you check if your code is correct?

### Communication (CAN)
- [ ] How many CAN busses do you use? Why more than one?
    - [ ] higher busload leads to decrease in QoS
- [ ] What is your bus load?
- [ ] How could you increase the bus load without loss in QoS?
    - [ ] timeslots for each controller
- [ ] How did you assign the CAN IDs?
    - [ ] sorted by importance
- [ ] Which voltage level is used by the CAN bus?
    - [ ] Bus output voltage, recessive: 2,3V @ V_in = 3V
- [ ] What other busses do you know and why did you decide to use CAN?
    - [ ] Automotive Ethernet -> complex ip stack, hardware design
    - [ ] EMI robust design of CAN
- [ ] How is a CAN frame structured?
    - [ ] 11 bits ID, DLC, DATA, CRC
    - [ ] ![](https://i.imgur.com/Ll3ZKTR.png)
- [ ] Explain the CAN arbitration.
    - [ ] lowest id wins, because of most dominant bits
- [ ] What happens if two nodes send the same message (ID & data) at the same time? 
    - [ ] it will be send without an error
    - [ ] if the data fields are different, there will be an error at the CRC field. (Also bit stuffing is to be taken into account)
    - [ ] error frame consists of six dominant bits (therefore violating the bit-stuffing rule where after five consecutive bits of the same logic level the next bit has to be a complement)
    - [ ] https://www.ti.com/lit/an/sloa101b/sloa101b.pdf?ts=1654807708149&ref_url=https%253A%252F%252Fwww.google.com%252F
- [ ] How would you calculate the max message rate for a 1MBaud standard CAN bus
    - [ ] Bits per Message is dependent on DLC and stuffing
    - [ ] Rate = (1MBaud / max Bits per Message)

### Hardware Design

#### Tractive System
- [ ] Can you name the most important specs of the TS System?
    - [ ] voltage, max. current, chemistry, config, max. torque
- [ ] How did you determine the maximum current for the fuse?
    - [ ] 80 kW / min. bat voltage; short circuit current of cells

#### Buck converter Layout
![](https://i.imgur.com/SlvFq5e.png)
- [ ] What are the important components in a buck converter?
    - [ ] switch, diode, input / output capacitance
- [ ] Can you draw a buck converter circuit?
- [ ] What is a typical switching frequency for a buck converter?
    - [ ] 100kHz to 2MHz
- [ ] How does current flow through the circuit when the switch is on / off?
    - [ ] switching loop and rectifier loop; input / output loop
- [ ] What layout rules generally apply to current loops?
    - [ ] keep loops tight; especially high frequency / high current
- [ ] Which layout is better?
    - [ ] left has much tighter loops and better ground coupling

![](https://i.imgur.com/o3yKPyj.png)

#### ADC Design
- [ ] Do you use analog sensors? How do you convert them into digital?
    - [ ] ADC, Comparator
- [ ] What kind of ADCs do you know?
    - [ ] SAR, Sigma-Delta
- [ ] How do you design an input filter for an ADC?
    - [ ] e.g. fc = max. signal frequency
- [ ] What is the highest frequency, that can be contained in a signal to be able to reconstruct it without error at a given sampling rate?
    - [ ] Nyquist frequency
    - [ ] What happens if higher frequency is contained? Why isn't this a problem in most cases?
        - [ ] Many components have LP behaviour.
- [ ] Calculate the values for an LP Filter for a temperature sensor.
    - [ ] e.g. fc = 10Hz, R = 1k6 C = 10uF; $fc = \frac{1}{\sqrt{2\pi*RC}}$ 
- [ ] How does the input impedance affect the maximum sampling frequency / noise of the ADC?
    - [ ] higher impedance = lower max. sampling rate
- [ ] How can the input impedance be lowered?
    - [ ] buffer
- [ ] What kind of noise do you know?
    - [ ] e.g. Thermal noise (white), quantization noise, 1/f noise
- [ ] ADC input impedance, filter

#### wiring harness and PDU
- [ ] wiring harness -> how do you determine cable thickness?
    - [ ] table with standard thicknesses
- [ ] wiring harness -> do you have issues regarding EMV? what measures did you take? What are the sources of EMR?
    - [ ] Differential bus design
    - [ ] switches are main sources -> high d_i/d_t
- [ ] PDU -> why is the powerPCB not grounded?
    - [ ] PDU is high side switch
    - [ ] return path is directly through the cable harness
- [ ] How are the ECUs protected against overvoltage/current?
    - [ ] PDU smart switches
- [ ] What are the challenges witch switching high capacitive loads? How can you deal with that?
    - [ ] large inrush currents
    - [ ] input voltage supply drop depending on supply resistance and inductance
    - [ ] potential ringing
    - [ ] Solution: slowly precharging the capacity before fully closing the switch
- [ ] What influences the switching speed mainly?
    - [ ] gate capacitance
    - [ ] gate resistor -> gate driver current
- [ ] Why do you need a gate resistor?
    - [ ] to limit the high inrush current due to the gate capacitance
- [ ] You want to low-side switch a dc motor. Can you draw a very simple schematic?
    - [ ] gate resistance, pulldown resistor, flywheel diode
    - [ ] ![](https://i.imgur.com/15nDHCy.png)
- [ ] How did you determine the capacity of the LV battery?
    - [ ] EDR: "analyzing the energy consumption in previous season"


### Safety
- [ ] Which safety mechanisms are used in the TS?
    - [ ] IMD, SC, Fuse, Watchdogs
- [ ] How does the SC work? Are there other options?
    - [ ] voltage vs. current driven
- [ ] What is the advantage of a current driven SC design?
    - [ ] tolerant against EMV / voltage drops
- [ ] What happens if I press the emergency button in the cockpit? Why?
    - [ ] SC open, MCU requests zero torque, airs open with slight delay
- [ ] What happens if a sensor breaks?
    - [ ] dependend on sensor?
- [ ] How do you ensure data integrity?
    - [ ] Watchdog
    - [ ] Counter in Messages to make sure no messages are lost


## AS
### General
- [ ] Short overview of the system.
- [ ] What are your main goals?
    - Reliable and robust path planning
    - Reliable path optimization
    - High performance velocity planning
- [ ] Which of the goals relates to the velocity estimation?
- [ ] What is SLAM and why do you need it?
    - [ ] Simultaneous estimation of position and surrounding
    - [ ] Generate map during autocross
    - [ ] Locate on map during trackdrive
- [ ] What approaches to the SLAM problem do you know?
    - [ ] Filtering -> EKF, UKF, Particle
    - [ ] Graph based
- [ ] Which approach do you use?
- [ ] Which assumtions are you using?
    - [ ] static world
    - [ ] 2D
    - [ ] Markov (EKF)
    - [ ] Gaussian noise

### Probabilty Theory
- [ ] When are two events statistically independent?
    - [ ] Occurence of one does not affect odds of occurrence of the other
- [ ] How many parameters discribe a gaussian distribution?
    - [ ] mean + variance
- [ ] Does uncorrelated imply statistically independent?
    - [ ] Only for gaussian

### Kalman Filter
- [ ] Explain the Markov assumption
    - [ ] future state depends only on present state
- [ ] What is contained in your state vector?
    - [ ] Position 2D + Orientation ($x_v$, $y_v$, $\varphi$)
    - [ ] Coordinates of the landmarks ($x_{i,g}$, $y_{i,g}$)
- [ ] Explain the covariance matrix:
    - [ ] Variance on main diagonal
    - [ ] positiv semidefinite, symmetric
        - What does a large value on main diagonal imply?
            - [ ] large uncertainty
        - What does a zero on secondary diagonal imply?
            - [ ] variables are uncorrelated
- [ ] Visualize the covariance matrix given $x=(x, y, \varphi)$ for:
    - [ ] driving in a straight line -> ellipse
    - [ ] driving around a corner -> banana
        - x = y ellipse
    - [ ] Which case is problematic for EKF?
- [ ] Do you know the equation for the Kalman gain in an EKF?
    - [ ] $\mathbf{K}_k = \mathbf{P}_{k|k-1}\mathbf{H}_k^T\mathbf{S}_k^{-1}$
    - [ ] In what conditions does an EKF suffer from numerical instability?
        - [ ]  $\mathbf{S}_k \rightarrow 0$
- [ ] Why don't you use an UKF?
    - [ ] More parameters to tune.

### Sensors
- [ ] Which sensors do you use?
    - [ ] Motor speed encoders
    - [ ] Accelerometers
    - [ ] Kistler
    - [ ] GPS
    - [ ] Lidar
    - [ ] Cameras
        - [ ] Why don't you use ...?
- [ ] At what frequencies can you expect measurements from each sensor?
- [ ] What type of wheel encoders do you use?
- [ ] Data on Latency in system?
- [ ] ADR: "virtual IMU signals and wheel odometry are added with sensor-typical noise" -> What noise is typical?
- [ ] Gaussian noise for wheelspeed?
- [ ] Can you name error sources in GNSS
    - [ ] Inospheric Delays because of ionising radiation
    - [ ] Multipath errors
    - [ ] Orbit Errors
- [ ] How can these errors be corrected?
    - [ ] Orbit Errors -> correction data
    - [ ] Multipath errors -> shielding / metal plate under antenna
    - [ ] Inospheric Delays -> RTK
- [ ] ADR: Why is the ground speed sensor only used for validation?
- [ ] ADR: Mean error of 0.5m/s -> Outliers?

### Other options?
- [ ] What other options apart from EKF / probabilistic are there?
- [ ] What is an activation function? Why use it?
    - [ ] introduces nonlinearity
    - [ ] e.g. ReLu, sigmoid, tanh

### Implementation
- [ ] Did you implement the algorithm your self? If so, based on what?
    - [ ] Implemented in C++
    - [ ] with ROS
- [ ] What C++ standard do you use?
    - Why? -> ROS compatibility?
    - Can you name a language feature which was introduced by this standard?
- [ ] How do you test your code?
    - [ ] Unit tests -> what is your code coverage?
    - [ ] Integration tests -> If not, what could be done?
