KumarRobotics / kr_mav_control

Code for quadrotor control
BSD 3-Clause "New" or "Revised" License
106 stars 42 forks source link

Edge Case in Traj_Gen for waypoints #142

Closed jessweakly closed 3 years ago

jessweakly commented 3 years ago

In testing with waypoints, I seem to have found an edge case that causes quadrotors to crash (in sim and reality). The problem is related to the computation of A_inv_M in traj_gen.cpp that produces nan values.

The issue seems to originate when a set of waypoints with motion purely in the z-direction is run when the robot is already exactly coincident with waypoint_1. Other waypoints I have tried seems to run fine regardless of robot starting position. Additionally, a slight perturbation of the robot location via a goto command allows this set of waypoints to run.

This zip file contains a bag file containing an example of this along with a text file describing the waypoints enclosed and the conditions which result in failure. waypoints_bug.zip

This is probably not a very urgent issue, but I wanted to provide documentation in case it comes up again for someone else!

kartikmohta commented 3 years ago

Fixed in #143