From 322f44a908fd02e011916969ff2820dbecd0e94c Mon Sep 17 00:00:00 2001 From: Patrick Musau Date: Wed, 5 May 2021 13:59:36 -0500 Subject: [PATCH] Update README.md --- README.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9acd94e..21807a1 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ # Planning-and-MPC -Let's see what we can learn about MPC and RRT* - -This repository assumes that you have this [repo](https://github.com/pmusau17/Platooning-F1Tenth) cloned and built. This repository contains implementations of planning algorithms for the F1Tenth Platform. I'm going to start writing tutorials on this as I learn. +Let's see what we can learn about MPC and RRT*. +This repository assumes that you have this [repo](https://github.com/pmusau17/Platooning-F1Tenth) cloned and built. You can either install it on your host or run it using docker. The dockerfiles and instructions for getting everything setup can be found a the above link. I will try and make sure that everything in this repository can be run through a container. Mostly this reposityory will contain implementations of planning algorithms and model predictive control regimes as I learn them. The idea is to write tutorials as I go (If I haven't done this yet when you arrive please remind me :) ). # RRT*: ![RRT_Biased](images/rrt_normal.gif) @@ -48,8 +47,23 @@ and then launch the rsband_local_planner Launch the [F1Tenth Simulator](https://github.com/pmusau17/Platooning-F1Tenth): +If you have the docker image built run the following + + +``` +$ ./run_docker_simulator.sh ``` -roslaunch race move_base_planning.launch +In the docker terminal run: +``` +source devel/setup.bash && roslaunch race move_base_planning.launch +``` + +This should bring up a simulation of a racecar and some cones placed randomly throughout the racetrack. + +In another terminal run: + +``` +$ ./run_docker.sh ``` In the docker terminal: @@ -58,4 +72,8 @@ In the docker terminal: $ roslaunch rsband_local_planner move_base_planning.launch ``` -You can then set goal poses in rviz +This should launch the following rviz window: + +![following_local_plan](images/following_local_plan.gif) + +In the above gif, the plans are generated using the rsband local planner proposed by [George Kouros](https://github.com/gkouros/rsband_local_planner) and tracked using a [pure pursuit controller](rsband_local_planner/scripts/pure_pursuit.py). The goals are sent by a node that is a rough implementation of a behaviorial layer. The idea here is that whenever the car gets within a 1 m radius of the goal point we say that the plan has been executed and send the next goal point. The behavioral node implementation node can be found [here](rsband_local_planner/scripts/behavioral_layer.py). The costmaps used throught the planning are updated using the vehicle's lidar sensor and make use of the [move_base](http://wiki.ros.org/move_base) ros package. The configuration files (these were a paaaaaaiiiiin) can be found [here](https://github.com/pmusau17/Planning-and-MPC/tree/main/rsband_local_planner/cfg).