Troubleshooting the car
Got an issue with the car? Here is a list of common issues and their fixes.
Communication problems
The STM32 is not talking to the Raspberry Pi
Symptoms:
- Missing rostopics related to the STM32 such as
/raw_fork_dataor/raw_imu_data.
To do:
- Check the STM32 LED number 4. Its state switches at every loop iteration on the STM32. If it is visibily blinking, that means that the SPI communication is not working. In nominal conditions, it should be turning on and off again so quickly that it appears to be steadily lit.
- Reset the STM32 by pressing the lowest button of the three yellow buttons to the right of the screen. The screen should be on and displaying Sorbonne Bolide 1
- Have you launched
stm32_publisher.py? It is required to parse SPI data. Check namespaces. Can you see other topics such as/rosout? - Check if there’s an issue with the hardware configuration of the Raspberry Pi if you made any changes to it. SPI needs to be enabled.
The car is not moving when commanded
Symptoms:
- The car is not moving forward, but the steering works.
To do:
- Have you turned the ESC on? There is a switch situated near the motor. It should be switched to on, in which position it should beep shortly before the STM32 signal is detected.
- If the battery charge is too low, the car might not move for low throttle inputs. Try turning it up a notch.
The car is not turning when commanded
Symptoms:
- The car is not steering, but moves forward.
To do:
- Have you checked that the U2D2 is on the correct port ? Try setting the port to 1 if at 0, or 0 if at 1 in
ackermann_controller.py:92. - Check if the U2D2 is lit up blue/green. This means that data is transiting through it. Can you see the steering angle in the
/car_statetopic? Check that the servo LED is on. - Use DynamixelWizard on your computer to check if everything is alright servo-wise.
The Raspberry Pi doesn’t connect to my hotspot
Symptoms:
- Turning the car then the Raspberry Pi on, the latter doesn’t connect to the hotspot.
To do:
- Disconnect every other connected device. Stay on the personal hotspot page to make it discoverable. Reboot the Raspberry Pi, or your phone.
- Check available networks for BolideX_AP. If it is available, connect to it, and use
sudo raspi-configthenSystem / Wireless LANto connect to your phone.
ping: cannot resolve bolide.local: Unknown host
Symptoms:
- The Raspberry Pi connects to the network, but I can’t ping it or connect to it.
To do:
- Check that the host computer is connected to the same network. If using a VM, try pinging it from there. Be sure to set the Network configuration to Bridged for the VM.
- Go to the router admin page to see connected devices’ IP addresses. The DNS of the router might be broken, so you have to ping the IP address directly.
I can see the topics on my computer but the car doesn’t receive any commands
Symptoms:
- When trying to set pose in RVIZ or Teleop, the car doesn’t respond, but I can see the topics of the car on the computer.
To do:
- ssh to the car and
rostopic echothe topic that should receive the message. If the message is received, the problem isn’t the comms from PC to Car. - run
hostname -Ior equivalent on the host computer. Check that the IP address matches that inecho $ROS_HOSTNAME. If it doesn’t, change it in your bashrcnano ~/.bashrc.
My computer is connected and I can ssh but I can’t see the topics of the car
Symptoms:
- On the SSH shell, I can see the ROS topics such as
/rosout, but I can’t on my own computer.
To do:
- ssh to the car and
hostname -I. On your own computer, check that the IP matches that inecho $ROS_MASTER_URI. On the car, check that it matchesecho $ROS_MASTER_URIandecho $ROS_HOSTNAME. Correct the errors in the respective bashrcs. Don’t forget to add the :11311 after the ROS_MASTER_URI IP.
Could not open device “/dev/ttyUSB0”: no such device
Symptoms:
- When trying to launch a node, this error appears, even though the command
ls /dev/tty*lists the device.
To do:
- restart the docker container with
docker stop bolide_containeranddocker start bolide_containerfrom the bolide ssh (before attaching to the container).
General errors
docker: Cannot attach to bolide_container: container is stopped
Symptoms:
- When runnning
docker attach bolide_container, it errors out because the container is stopped.
To do:
docker start bolide_container
unknown msg type: control_bolide/SpeedDirection (or similar)
Symptoms:
- When trying to launch something locally such as the Teleop node, this error appears.
To do:
- Download the course_202X_pkgs to your local workspace and catkin_make. Then, run
source devel/setup.bash.
Couldn’t find executable XXX. Found the following, but they’re either not files or not executable
Symptoms:
- When trying to rosrun or roslaunch something, this pops up.
To do:
chmod + x /path/to/file.py
Launching a node yields nothing, CTRL-C wakes it up but it still doesn’t work.
Symptoms:
- When trying to launch or run something ROS related, it times out and appears to do nothing.
To do:
- Set the ROS_MASTER_URI to the correct IP address, making sure to add port 11311 to it (:11311).
The STM32 data is nonsensical
Symptoms:
- The data published to the sensor topics by the stm32_publisher node is nonsensical.
To do:
- Reset the STM32 by pressing the lowest of the three yellow buttons situated to the right of the screen.
The Raspberry Pi shuts down on its own
Symptoms:
- Out of nowhere, the Raspberry Pi shuts down, yielding to a disconnect and a red power LED.
To do:
- Swap out the battery, the voltage is too low.
Problem not listed?
Check the reports folder, you might find help there.
Open an issue on GitHub detailing the problem, close it when completed, add it to this list.
Shoot me an email me@nicolashammje.com, I might be able to help.