0
$\begingroup$

Rosanswers logo

Hi,

I am currently working on simulations of UAVs (for now I assume those UAVs are all quadrotors).

I am using hector_quadrotor so I have basically working quadrotor which is listening on cmd_vel topic and receives geometry_msgs/Twist message. I can control quadrotor just fine publishing those messages. But now I wan't to fly it autonomously.

I already have some global planner implemented from other project so I have trajectory with waypoints. What I wan't now is to give the waypoint to UAV and from there generate geometry_msgs/Twist (use some 3D local planner for motion) for UAV to move in simulation.

Is there already some local planner for this or should I write my own? And if there is no local planner, what should I learn to be able to write it? I am currently studying on University, but I am at the beginning so I don't have needed knowledge.

Thank you for any suggestions.

Edit: Or as I said, I can write it on my own. I wan't to learn how to do that. But I need some clue what to do and where to look. Maybe what kind of book should I read or something.

Edit2: I only wan't to be able to do that in simulation. So basically I don't have to solve problem with location of UAV itself yet. So I have UAV, I have it's position and I have given waypoint and I wan't to fly to that waypoint autonomously.


Originally posted by l4ncelot on ROS Answers with karma: 826 on 2015-09-21

Post score: 2

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Controlling a robot autonomously involves two aspects.

  1. Path planning and
  2. Path tracking or path following.

Since you already have your path, you need to concentrate on path tracking. There are a few well established techniques for path-tracking such as potential field based ( there are many variants of this. Most obvious variant is Vector Field approach. These techniques assume that you know your map. There are other path tracking algorithms that work without a map too.

The package you mentioned in the answer uses Potential field based approach ( If I am not wrong). If you want to learn how path-tracking is done, pick an algorithm and try to implement it by yourself. You will learn better.


Originally posted by Willson Amalraj with karma: 206 on 2015-09-22

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by l4ncelot on 2015-09-22:
Oh, that's what I was looking for. I have basically no mentor so it's hard for me to find the right terms. I will definitely try to implement it by myself for better understanding. Thank you very much.

Comment by l4ncelot on 2015-09-23:
Hm, it seems that it's far more advanced than I am capable of understanding it right now. Those are great things, however I really need only some basic path follower. You said there are more path tracking algorithms, can you mention some? I can only find hw based algorithms using control theory.

Comment by Willson Amalraj on 2015-09-23:
Look at this for a comprehensive survey on these algorithms. Carrot-chasing (or rabbit-chasing) algorithm and geometric approaches would be easy to implement.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.