whoenig / uav_trajectories

Helper scripts and programs for trajectories
MIT License
84 stars 46 forks source link

How to translate the trajectory I want to design into .csv format #4

Open Allenhanbo opened 4 years ago

Allenhanbo commented 4 years ago

Hi all. I just began to study the quadrotor motion planning. I would like to design a trajectory for my quadrotor to fly. I have a question: how could I express the trajectory I want to design using waypoints, which means how could translate my trajectory into .csv format?

whoenig commented 4 years ago

Does this help: https://github.com/whoenig/uav_trajectories#generate-trajectory-given-waypoints ?

Allenhanbo commented 4 years ago

Thanks for your reply. I have already look through your trajectory design package. I know I can enter the waypoints and get the trajectory from this package . Maybe I did not clearly clarify my problem. If I would like to design a “S” figure in flying space, how can I exactly know the waypoints value on this trajectory?

whoenig commented 4 years ago

You can draw your desired figure on paper or in any program and then just select some points on this figure as your waypoints.

Allenhanbo commented 4 years ago

Hi whoenig, I am really really appreciate for your patience and help. It helps me a lot! There is another interesting point I would like to ask: How can I achieve aggressive maneuver flying? When I use your sample example like figure8 or the waypoints1.csv pattern, the trajectory only fly very slow and no change in yaw angle or very big change in roll and pitch. How can I change that? Thanks!

whoenig commented 4 years ago

You can use --stretchtime when you plot to see how it looks like if you speed up/slow down a trajectory. During flight, you can select the same stretchtime factor to make it more aggressive (e.g., https://github.com/USC-ACTLab/crazyswarm/blob/master/ros_ws/src/crazyswarm/scripts/figure8_csv.py#L17). Smaller values => more aggressive. With the default firmware you can reach roll/pitch angles of up to 35 degrees.

Allenhanbo commented 4 years ago

Thanks for your answer. Can I asked how can I log the actual trajectory data and use it to compare with the trajectory I designed and see the error?

whoenig commented 4 years ago

You can log the variables stateEstimate.{x,y,z} and setpoint.{x,y,z}. It works best with the uSD card deck, but you should also be able to log those 6 variables using the logging framework.