Common issues
Common issues#
Troubleshooting
SYMPTOM
The red light on the Raspberry Pi :
is blinking
does not turn on
RESOLUTION
The Raspberry Pi is not receiving enough power.
Check that the voltage coming out of the UBEC is a constant 5V
Make sure that the Raspberry Pi Hat is attached to the Raspberry Pi all the way (there is no gap between the GPIO pins and the Raspberry Pi Hat pin header).
Make sure that the
OUTPUT
side of the UBEC is attached to the Raspberry Pi Hat, and theINPUT
side is soldered to the PDBMake sure that there is not a short between the power and ground rails on the Raspberry Pi Hat.
Make sure there are no stray wire hairs that are shorting out the
5V
and theGND
rails on the Raspberry Pi Hat
Troubleshooting
SYMPTOM
The flight code does not start
RESOLUTION
Make sure you are running the start script in the correct directory: ~/ws/src/pidrone_pkg
, inside the container.
Troubleshooting
SYMPTOM
The roscore
screen does not startup.
RESOLUTION
Quit the screen by typing the tick (`) followed by colon (:
) and the type the word quit
and press enter. You will not see the tick and colon typing, but you will see “quit” as you type at the bottom of the screen.
Check if there re multiple screens running by typing screen -ls
in the terminal.
You will need to quit each socket found so that only one screen session is running. To do so:
For each socket found, there is a name that looks like 2503.pts-0.duckiesky-drone
. The four numbers at the beginning, 2503
are the session id. Run this command for each session id:
screen -S [session id] -X quit
For example, for this session it would be screen -S 2503 -X quit
Be sure that the ‘S’ and ‘X’ are capitalized.
Troubleshooting
SYMPTOM
The flight controller node does not start correctly.
RESOLUTION
The last line printed out should be /pidrone/battery
.
If the last line printed out says that the USB is not plugged in:
make sure that the USB is plugged into any one of the four USB ports on the Pi.
make sure that the micro USB is plugged into the flight controller.
rerun
python flight_controller_node.py
.
If you get the error again:
make sure that the flight controller is lighting up in some way. If it is not, the micro USB port on the flight controller may be broken.
try wiggling the micro USB end or using a different USB port on the Pi. If the flight controller never lights up, it may need to be replaced.
Troubleshooting
SYMPTOM
The PID controller node is not running.
RESOLUTION
The last line printed out should state PID Controller Started
.
If this is not the case:
Try quitting the script with
ctrl-c
and rerunning it
Troubleshooting
SYMPTOM
The state estimator is not running.
RESOLUTION
In the state estimator screen the last line printed out should state Starting filter
.
make sure the flight controller node is running, as data is needed from the imu to start the filter.
continue with the checks to make sure the other sensors are working, then try rerunning this script
Troubleshooting
SYMPTOM
The vision node is not running.
RESOLUTION
The last line printed out in the vision node screen should state Vision started
.
If the last few lines print: out of resources other than memory
, then the issue is the physical connection from the camera to the Raspberry Pi.
make sure that the sunny flap is shut (push on the small silver rectangle on the front of the camera and make sure it’s attached firmly)
make sure that the camera cable, or FFC (flexible flat cable) is fully inserted into the camera and the Raspberry Pi.
On the Raspberry Pi, make sure the blue side of the FFC is facing towards the USB ports
On the camera, make sure the blue side of the FFC is facing up
Make sure that there are no holes or rips in the FFC. This is a common issue: a crash could have caused a tear, or a hole could have been made when soldering. If this is the case, you will need a new FFC
rerun the vision script
Troubleshooting
SYMPTOM
The rosbridge node is not running-
RESOLUTION
The last line printed out should include the phrase Rosbridge websocket server started on port 9090
If not:
make sure you have no other programs using the same port as the Rosbridge server (9090)
try rerunning the script.
Troubleshooting
SYMPTOM
The web interface does not say connected
at the top.
RESOLUTION
try using Google Chrome to open the web interface
wait another 10 seconds and try refreshing again.
Troubleshooting
SYMPTOM
When I move the drone up and down the height reading graph does not change.
RESOLUTION
Recheck the ToF node. Rerun the node if needed and then refresh the browser.
Troubleshooting
SYMPTOM
There is no data on the x
and y
velocity graphs or they do not change when moving the drone
RESOLUTION
Check that the vision node in Screen is running. Rerun the node if needed and refresh the browser.
Troubleshooting
SYMPTOM
There is a long delay between when you move the drone and when the graphs change.
RESOLUTION
If you are running the drone in managed mode, this is probably due to latency in your home network. Take some of the devices offline, or restart the drone and fly in AP mode.
Troubleshooting
SYMPTOM
The motors on the drone do not spin when armed on the web interface
RESOLUTION
Plug the USB into a computer with Cleanflight Configurator and verify the following settings in Cleanflight:
the yaw is flipped 180 degrees in the
"Configuration"
tabthe receiver is set to
MSP RX Input
(so that the FC can receive commands from the Raspberry Pi over USB) in the"Configuration"
tabthe ESC/Motor protocol is set to PWM in the
"Configuration"
tab.
Troubleshooting
SYMPTOM
The drone does not get off the ground when commanded to takeoff.
RESOLUTION
make sure that the arrows inscribed on the propellers are visible from the top of the drone
make sure that the arrows on the props are in the correct direction
Take off the propellers from your motors and plug the battery into your drone. In Cleanflight Configurator, navigate to the motors tab, click
"I agree to the risks"
, and try to spin up each motor. Make sure that each motor spins in the correct direction.Make sure that when you spin up motor 1, the correct motor spins (the bottom right). Do this for all of the motors.