Skip to content

Troubleshooting

Connor Novak edited this page Nov 19, 2017 · 11 revisions

How to Troubleshoot

There are many methods of troubleshooting, and most people have different processes that they go about when they encounter a problem. The following is a singular method that encourages more explicit testing and documentation of errors and resolutions, as well as the steps taken to solve the problems.

1. Start a new Error.

If your error is not featured on this troubleshooting page, start a new Error Log entry with the next numerical entry available in the Log below. It is useful to do this on paper so that you can run through tests quickly, then transfer the log to the computer once you have time or have found a resolution to the issue.

2. Document each Test

Each time you try something out, document what you changed for the test and what behavior you were looking for (e.g. printed the counter variable; checked if var was skipping numbers)

3. Document a Result for each Test

After you run the test, document the results (e.g. counter variable stayed at 4.67; did not change). Your document should alternate Test and Result until you find a resolution to the problem.

4. Document a Solution

Once you have found a solution, create a solution header and describe the process you would take to most efficiently implement the solution if the problem happens again (e.g. replace ESC); Include any speculation as to why the problem took place and why the proposed solution fixes it, if applicable.

General Errors:

1. Mission Planner displays huge numbers in Quick View

Answer: See this video for explanation and fix: Mission Planner displays big numbers

S900 Errors:

1. The beeping pattern of the flight motors is chaotic.

Answer: The voltage of the battery isn't high enough. Recharge the battery or replace with a more fully charged battery. The beeping should have a period of about a second and all of the motors should beep together.

MavROS Errors:

1. When mavros is running, timing errors are frequently published.

[ WARN] [1510898466.513492724]: TM: Clock skew detected (-0.059554581 s). Hard syncing clocks.
Solution: in px4_config.yaml file, change value of conn/timesync_rate to 0.0 (reference)

2. When using mavros to dump waypoints from drone into file with cmd rosrun mavros mavwp dump temp.txt, receive error:

mavwp dump: error: argument file: can't open 'temp.txt': [Errno 13] Permission denied: 'temp.txt'
Solution: mavwp dump creates new file in whichever folder you are in, make sure you are in the original folder and have perms for that folder.

3. Upon running the command roslaunch mavros px4.launch, receive error:

ERROR: cannot launch node of type [mavros/mavros_node]: can't locate node [mavros_node] in package [mavros]
Solution: See Error Log Error 2 below

Error Log:

Error 1:

Castle ESCs not running when throttled on PixRacer. (Eris system)

  • Test 1: Hooked up ESC to a separate receiver and transmitter; powered ESC;
  • Result 1: Motor throttled up normally; Problem must be with PixRacer
  • Test 2: Read diydrones forum post (link) about non-calibrating Castle Creations ESC

Error 2:

Upon running the command roslaunch mavros px4.launch, receive the error ERROR: cannot launch node of type [mavros/mavros_node]: can't locate node [mavros_node] in package [mavros]

  • T1: Source devel setup using command source ~/catkin_ws/devel/setup.bash (reference)
  • R1: Same as Error
  • T2: Ran these commands:
    source /opt/ros/indigo/setup.bash
    ls /opt/ros/indigo/lib/mavros
    rosrun mavros mavros_node
    (same link as T1)
  • R2: Couldn't find /opt/ros/indigo/setup.bash, does not exist. Could not find mavros package.
  • T3: tried to roscd mavros
  • R3: Could not find mavros package
  • T4: Tried to catkin_make mavros with command catkin_make -DCATKIN_WHITELIST_PACKAGES="mavros"
  • R4: Invoking cmake failed; Produced error:
    Could not find a package configuration file provided by "libmavconn" with any of the following names: libmavconnConfig.cmake libmavconn-config.cmake
  • T5: Searched file system for above specified folders with locate command
  • R5: Found /home/cnovak/catkin_ws/devel_isolated/libmavconn/share/libmavconn/cmake/libmavconnConfig.cmake and /home/cnovak/catkin_ws/build_isolated/libmavconn/catkin_generated/installspace/libmavconnConfig.cmake
  • T6: Updated location of libmavconn by changing libmavconn_DIR in file libmavconn-extras.cmake.installspace.in to ~/catkin_ws/src/mavros following instructions from T4 error (reference)
  • R6: Same as R4.
  • T7: Changed libmavconn_DIR to /home/cnovak/catkin_ws/devel_isolated/libmavconn/share/libmavconn/cmake (same link as T6)
  • R7: Same as R4.
  • T8: Changed libmavconn_DIR to /home/cnovak/catkin_ws/devel_isolated (same link as T6)
  • R8: Same as R4.
  • T9: Tried to catkin_make libmavconn with command catkin_make -DCATKIN_WHITELIST_PACKAGES="libmavconn"
  • R9: Invoking cmake failed; Produced error:
    Could not find a package configuration file provided by "mavlink" with any of the following names: mavlinkConfig.cmake mavlink-config.cmake
  • T10: Tried to catkin_make mavlink with command catkin_make -DCATKIN_WHITELIST_PACKAGES="mavlink"
  • R10: mavlink package is a plain cmake file, according to resulting error. Not a catkin package.
  • T11: Ran catkin clean --all
  • T11: Same as R10.
  • T12: rm -rf devel_isolated, devel, build_isolated, build folders, ran catkin_build. (reference)
  • R12: Got error catkin_build: command not found
  • T13: Ran sudo apt-get install python-catkin-tools.
  • R13: Same as R13.
  • T14: Revised package.xml to use catkin_make rather than cmake
  • R14: Got error Could not find a package configuration file provided by "mavlink" with any of the following names: mavlinkConfig.cmake, mavlink-config.cmake
  • T15: rm -rf build, devel, ran catkin build (reference)
  • R15: catkin build worked, but did weird shit with some packages, didn't do anything useful.
  • T16: Installed mavros through binary installation following instructions from this link (reference)
  • R16: Installation completed with no errors, running roslaunch mavros node.launch returned error msg [/opt/ros/indigo/share/mavros/launch/node.launch] requires the 'fcu_url' arg to be set
  • T17: Set values of args to same as px4.launch.
  • R17: Some other values errored out (yaml file, specifically)
  • T18: Ran command rosrun mavros mavros_node _fcu_url:=/dev/ttyUSB0:921600 _gcs_url:="" from this link (reference)
  • R18: It worked

Solution: Determine USB port, pass as argument to fcu_url, pass null argument to gcu_url

Connor Novak last edited this Github page on 11/19/17.