I want to make path planning algorithm for a quadrotor with RRT in my thesis. I have searched lots of articles and come up with the concept of "dynamic RTT" and one of the articles has a title "kinodynamic RRT*". I have emailed the author of the article with no response.

The main point that I couldn't understand is, we need to sample random state for dynamic RRT like 2 position and 2 velocity values for planar vehicle or an angle and its rate in case of 2D-quadrotor.

How should the samples be so that speeds and positions does not confused and when should I consider the saturation limits of the actuators or vehicle acceleration limits.

I can't understand how to handle what if two consecutive samples for positions are A(0,0) and B(10,10) this needs positive velocity at the point B but sampling can cause negative velocity. Am I wrong?

Other issue is, how should the control signal be determined so that it can be applied for duration of delta t to move as close as possible to the sampled point. I am not sure how to determine the input or move the vehicle.

Do I need optimizations so that it can reach to the sampled point in shortest time possible?

Please let me know if there is a missing part to be understood.

Thanks in advance.

Wish a hopeful new year.

  • $\begingroup$ What is RRT? Can you link to any of the papers, or at least post the title and author(s)? $\endgroup$
    – Chuck
    Dec 12 '16 at 13:16
  • $\begingroup$ google.com.tr/url?sa=t&source=web&rct=j&url=http://… this is one of the articles $\endgroup$
    – freezer
    Dec 12 '16 at 13:54
  • $\begingroup$ This paper should provide enough info to implement kinodynamic RRT* arl.cs.utah.edu/pubs/ICRA2013-1.pdf $\endgroup$
    – 50k4
    Dec 12 '16 at 14:41
  • $\begingroup$ I have this article and the author Dustin Webb is the one who I sent an email. I really couldn't understand the cost function parts while I have the code related with the article. I can't get the point where I am considering the saturations etc. $\endgroup$
    – freezer
    Dec 12 '16 at 23:27

Dynamic Systems are described via system identification. That is a procedure to generate a physic engine on-the-fly. The physic engine can predict the future state of the system. An example: the quadrotor has a speed of 10 mph and runs into a wall. The physics engine aka "dynamic system" can predict the collison.

RRT is used for solving the optimal control problem. It calculates the control signals for the quadcopter for reaching a given goal like "fly to a point", "be in balance". The paper which is cited in the comments tries to adapt RRT for kinodynamic planning with the aim of reducing the search space. According to my research the best RRT-like algorithm for solving optimal control is DARRT which was invented by BostonDynamics engineer Jennifer Barry.

  • $\begingroup$ As far as I understand from basic explanation of the algorithm, control signal drives the system from one state to another for a given time duration and the final state is considered as the newest sampled state to be added onto the tree. Bu I am having difficulties to understand how to find the control signal to be applied and how to be sure the target state has appropriate values so that the system can be driven to it. $\endgroup$
    – freezer
    Dec 12 '16 at 23:30
  • $\begingroup$ The target state is a node in the RRT-Graph, it is comparable to a gametree for Rubiks-cube. I have made a video which visualizes the RRT-Tree. To your other question "how to search the complete RRT Tree for a given target state" the answer is: I don't know. $\endgroup$ Dec 13 '16 at 8:37
  • $\begingroup$ Let say you have a state theta yaw angle. And your vehicle is heading to North. A sample later what if it samples 270deg heading while we desire to go through North? It tends to turn randomly either. Isn't this something awkward? $\endgroup$
    – freezer
    Dec 16 '16 at 0:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.