If your robot stops driving at random or can’t drive at all – even when there are no obstacles present – something may be unexpectedly tripping its time-of-flight (ToF) hazards. There are several mechanisms to inspect to determine whether this is the case. This post provides troubleshooting steps that can help you dig in and isolate the issue.
1. Check for dust and debris
The first step is to ensure that nothing obstructs the obstacle (range) sensors pointing in the direction Misty is moving (or is commanded to move) when she stops. Misty’s ToF sensors are highly sensitive, and can even detect small specs of dust or hair on (or very close to) the sensor covers. If this is the case, the sensor would return a very small distance reading, triggering the hazards for that sensor and causing the robot to stop moving. If your ToF sensors appear dirty, blow them clean with low-pressure compressed air.
2. Use the Command Center to check the readings from Misty’s IMU, ToF, and Bump Sensors
Follow the steps below to subscribe to data from Misty’s sensors. This will help you pin down which sensor is causing the faulty hazard state.
- With Misty fully-booted and connected to your local Wi-Fi network, connect your robot to the Command Center web page.
- Scroll down to the Sensor Data section. Check the boxes to subscribe to all of Misty’s time-of-flight sensors, her bump sensors, and and her IMU.
- Once subscribed, perform the following checks:
- Look to see if any of the bump sensors show that they are being pressed / activated.
- Check that Misty’s IMU is reading 0 values for acceleration and velocity. Then, try moving Misty (manually or by driving her) to make sure the data updates.
- Look at the data from each of Misty’s range ToF sensors. See if any sensors return a distance value less than the default threshold of 150 millimeters (0.15 meters). Additionally, watch to see whether the range sensors return an unchanging or intermittent status code of ROIOutOfBounds.
- Look at the data from each of Misty’s edge ToF sensors. See if any sensors return a distance value less than the default threshold of 50 millimeters (0.05). Additionally, watch to see whether the range sensors return status code other than RangeValid
If all these things check out, download a diagnostic report to get your robot’s log files, and attach the diagnostic.zip file in an email to firstname.lastname@example.org. You can also check out the log files yourself. Scroll down to the bottom of the log file for the relevant date, and look for the following message type:
With relevant data about which hazard triggered following that portion of the message. As an example, you may see the following:
IntrErr = None Hazard: ToF front right edge = True
Indicating the front right edge sensor triggered a hazard.
Note: There is an update planned for Misty’s Jan 2020 release that will include more information about the sensor causing the hazard to trigger.
3. Inspect Misty’s Wiring Harnesses & Sensor Connections
On very rare occasions it may be necessary to open your robot and inspect the connections on Misty’s front time-of-flight boards, as it’s possible the sensor’s connector is just not quite locked into its housing. We’ve seen this on just a couple robots that came to the Misty office from our shipping warehouse, and the following procedure – disconnecting the sensor, then reconnecting it – corrected the issue. It really amounts to a kind of “turn it off and turn it back on again” operation, just at the hardware level.
Before you begin, make sure your robot is powered off and disconnected from any sources of power. You’ll also need a Phillips head screwdriver (approximately #2 size) to remove the screws from Misty’s base panels. When you’re ready, follow these steps:
- First, remove all four bump sensor covers. (You can use the indentation at the edge of the bump sensor covers to gently pry each cover off of Misty’s base.)
- Under each bump sensor cover are 3 black screws (12 screws total). Remove each screw and put them aside. Note that each screw has a small lock-washer on it.
- Screws on front of base:
- Screws on rear of base::
- Once the screws are removed, take off Misty’s track covers.
- With the track covers removed, you now can access the two screws holding down the gray panel that protects Misty’s battery. Remove these two screws and take the battery cover off.
- From here, you can access the connectors you need to try to reseat. The center ToF board also holds all the connectors for the sensors at the corners.
- Unplug all of the connectors at this front block, and reinsert them. The connectors go in fairly easily, and you should not need to force them. If it feels like something is blocking the connector, one of the pins in the header may have bent. If this is the case, you can use an xacto blade to straighten the pin and try inserting the connector again.
- After connecting the wires, inspect them as closely as you can for damage. It’s not impossible for these connectors to get in the way of a screw and become harmed. You can also check the points where the wires are soldered to the sensor boards. See if anything looks odd, or if any exposed wires are touching. Irregularities should be easy to notice. If you think you see something unusual, take a picture and send it to email@example.com.
- Put your robot back together. Then, boot Misty up and see if the issue is still present.