Motor stops when serial connection got error

Hello, I’m working for a robot with the motor and the motor controller you provide.
I had a problem when my robot is going through some specific places.
My program on PC controls the motor controller via the ASCII protocol.
When the robot tries to go through the place, the program gets errors of reading/writing, and the motors suddenly stop.

– configuration –

  • Mini PC <—USB(Serial)—> ODrive motor controller (v3.5, 56v, input=36v) <—> D5065 motor x 2,
  • Differential drive robot

It can run in our office environment (0.1 m/s ~ 1.5 m/s) without any error. I have never met with such failure in the office.
The problem happened at an airport when I brought the robot for a test. I heard that there are many belt conveyors for luggage underneath where I had the problem.

So, I have three questions

Q1. Is that the expected behavior when the serial communication had a problem?
Q2. Is USB communication better than serial in terms of error handling?
Q3. Do you have any idea to prevent such error (might be because of electromagnetic interference.)

Thank you.

A1. Maybe? Have you checked the error codes? Use dump_errors(odrv0) in odrivetool to get the error codes
A2. Generally, yes.
A3. If you need reliable communication in an electrically noisy environment, use shielded twisted pair cable, and use a more robust protocol like CAN.