Git Product home page Git Product logo

planning-and-control-for-nonholonomic-robot-among-obstacles's Introduction

Planning and Control for Nonholonomic Car-like Robot Among Onstacles

Contributers: Zhuokai Zhao, Mengdi Xu, Changxin Yan [Github]

The project proposes a modified RRT*-based trajectory planning algorithm with customized heuristic function. A feedback linearization controller is proposed to ensure EduMIP’s accurate trajectory tracking. Experiments have been performed in both MATLAB and ROS Gazebo simulation environment.

Matlab

Contains all the matlab codes for planning and simualtion in Matlab.

C_RRTStar_Final.m

Reads an image type map (Images/Simple_Map.png), does the planning on this map and outputs a trajectory mat file in the following format:

[time; desired_x; desired_y; desired_velocity_x; desired_velocity_y; desired_acceleration_x; desired_acceleration; desired_theta;]

trajectory_tracking_with_video.m and trajectory_tracking_without_video.m

Simulates the trajectory tracking. Both files read the trajectory mat file (Matlab/final_trajectory.m) generated previously by C_RRTStar_Final.m. The trajectory_tracking_with_video.m outputs a annimation of the whole tracking process and takes more time to run. The trajectory_tracking_without_video.m outputs basic inputs and tracking path result.

ROS Gazebo Simulation

This package reads the predesighed trajectory in a .txt file and simulates the trajectory tracking.

On Debian/Ubuntu, first you need to set_up_Gazebo_environment

To launch the simulation, run

$ roslaunch robot gazebo_launch.launch

To start the simulation, run

$ roslaunch robot trajectory_tracking.launch

To visulize the odometry path of the robot in RVIZ

$roslaunch robot rviz_launch.launch

Report

PDF version of the report which includes all the details about the algorithm and code.

Demo

The Gazebo simulation video can be found at link

The planning result from MATLAB with the given map (Images/Simple_Map.png) should look like

Planning trajectory

Planning trajectory with quiver

planning-and-control-for-nonholonomic-robot-among-obstacles's People

Contributors

zhuokaizhao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.