Ask Your Question
0

Best practice for Ackermann car to follow a path

asked 2018-07-04 18:14:55 -0500

AutoCar gravatar image

Hi all,

I have built a MIT-Racecar which has Ackermann and VESC. The car can be driven with ackermann_msgs/AckermannDriveStamped type messages in ROS.

Now I would like to drive the car along a particular path to collect some videos with the camera on the car. The path consists of straight and curved segments. You can imagine the path as in a shape of "8" in a 30x30 yard region. Please note this is NOT autonomous driving. I can drive the car with teleop, an customized ROS node, etc. All I want is that the car follows the path accurately.

I am not very good in using teleop. So my first idea is to write a ROS node. I can collect some measurements of the path and calculate a serial of speed and steering parameters and let the ROS node send them out as AckermannDriveStamped message. The advantage of this method is that I can continue improve my speed/steering numbers and make the control more and more accurate. But I have two questions:

  1. Is this approach the best practice to make the car follow a pre-defined path?

  2. If this is the best way, is there any existing method to convert a known path to a serial of speed and steering numbers for ackermann? I think this may be a part of Path Planing, but I am not sure.

Thank you very much.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2018-07-05 09:44:43 -0500

aarontan gravatar image

I am also working on the predefined path problem for the navigation stack.

Here are some questions available:

Question 1

Question 2

Question 3

edit flag offensive delete link more

Comments

Thank you very muh

AutoCar gravatar imageAutoCar ( 2018-07-05 14:38:02 -0500 )edit

@aarontan could you please let me know the approach you used?

AutoCar gravatar imageAutoCar ( 2018-07-05 15:07:15 -0500 )edit

From Question 2, I wrote a custom global planner plugin with a predefined path, in this case a circle with a fixed radius. From the video attached with the question, you can see that my robot is able to follow this global path; however, no obstacle avoidance. You can customize the code for any path.

aarontan gravatar imageaarontan ( 2018-07-05 15:11:54 -0500 )edit

If you give me your email address, I can send you my files?

aarontan gravatar imageaarontan ( 2018-07-05 15:12:28 -0500 )edit

thank you. userstyles at artlystyles dot com

AutoCar gravatar imageAutoCar ( 2018-07-05 23:35:32 -0500 )edit

i have sent you an email. if you are satisfied with this answer, please mark it as the correct one. thank you.

aarontan gravatar imageaarontan ( 2018-07-06 15:54:03 -0500 )edit

@aarontan Hi, may I get your files too. I also have the same problem. email: rty0362@gmail.com appreciated for your help.

KSWang gravatar imageKSWang ( 2019-04-02 01:30:17 -0500 )edit
0

answered 2018-07-05 09:04:38 -0500

bpinaya gravatar image

I think the TEB local planner has support for ackermann models. Check them out: http://wiki.ros.org/teb_local_planner

That plus the navigation stack should get you going.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

4 followers

Stats

Asked: 2018-07-04 18:14:55 -0500

Seen: 607 times

Last updated: Jul 05 '18