gsilano / CrazyS

CrazyS is an extension of the ROS package RotorS, aimed to modeling, developing and integrating the Crazyflie 2.0
Apache License 2.0
159 stars 84 forks source link

Is it possible to forcefully stop the drone/s when it reached a target location? #96

Closed dingthe4th closed 2 years ago

dingthe4th commented 2 years ago

I am using the Interfacing CrazyS through MATLAB as the base of my project and I already have a controller that can move a drone team in six directions (forward, backward, left, right, up, down).

I am exploring a new function in my controller that will let the drone go to a desired target location x,y. But I am having a issue similar to #1 where "when I publish a waypoint the quadrotor does not stop at the goal pose and continues to fly in the direction it had to arrive the goal". Afterwards, the drone will self-correct itself, and move back to its target location x,y.

This video demonstrates the issue. It's still in development/debugging stage, but the goal of the drones here is to arrive at the location wherein the ball is at the center of the ring.

My questions are:

  1. Is it possible to forcefully stop the drone/s when it reached a target location?
  2. If the answer to question 1 is a yes, which parameters seen in the image below should I tinker with? (all my codes are done within Simulink) image

Thank you for taking your time in reading and hopefully answer my query!

gsilano commented 2 years ago

Hi @rglbiv! First a very nice video. The work seems to be very interesting. Unfortunately, the current control algorithm is not meant to be used as a waypoint controller. You need to design your own controller or you may follow the direction of this thread. I've started working on it, but there is still something to be done.

dingthe4th commented 2 years ago

Thank you for the compliment! I'll look into the thread you've suggested and other related sources. Lastly before I close this issue, may you explain what this means in the documentation?

image

What does it mean for the desired position to be not available ?

gsilano commented 2 years ago

The controller continues to use the previous value published on the ROS topic until the next input is provided. I hope this helps.

dingthe4th commented 2 years ago

I see. I’m glad my understanding is correct. I will continue exploring options to arrive at the answer I am looking for. Thank you as always.