Code Monkey home page Code Monkey logo

moderncontrol-ugv's Introduction

Contributors Forks Stargazers Issues


In The Name Of God

ModernControl-UGV

Modeling, Planning and Nonlinear Control Techniques For Autonomous Vehicles 🎛️🚘
System Kinematics and Dynamics Model and Controller Design
Explore the docs »

Report Bug & Request Feature

Table of Contents
  1. About The Project
  2. Parts
  3. Results
  4. Refereces
  5. Contact
  6. Roadmap

About The Project

Today, one of the most challenging topics in the world is the issue of self-driving cars. Companies are investing heavily in the development of this technology and have extensive research on the subject, including Tesla and Google. A self-driving car has several parts; Initially, it must receive feedback from the environment with its sensors (such as ultrasonic proximity sensors, camera for image processing, GPS satellite communication module, and speed and acceleration sensors). Then, with data integration methods, this information reaches the controller whose main task is to apply the desired input to the system operators to receive the desired output (such as throttle, brake, gear adjustment and steering angle).

(back to top)

Built With

Major softwares/libraries used to this project:

(back to top)

Parts

MODELING OF A MOBILE ROBOT

Dynamic model

There are many approaches to the dynamic model of the system, some models consider the dynamics of the engine, the dynamics of the braking system and the movement of the roll and the step, and others only represent the dynamics of the vehicle. In this section, the dynamic four-wheel drive model is examined, which considers six degrees of freedom in the car (to consider all possible movements of the car).

To understand the set of equations that describe the system, it is necessary to understand the vehicle's motion on the X-Y plane, which will include the vehicle's roll and step subsystems, propulsion dynamics, brake dynamics, and engine. Finally, using the obtained motion models, the system description matrices can be obtained. To achieve dynamic equations, we need to achieve a balance of force and torque on each axis. Therefore, the X-axis is defined as the longitudinal axis of the car, the Y-axis as the lateral axis and the Z-axis as perpendicular to the road. This XYZ frame is located in the center of gravity of the car, hereinafter referred to as CoG. For simplicity, the Z axis is not considered in this project.

Kinematic model

One of the major differences between the kinematic model and the dynamic model is the assumption of null skidding assumption and the consideration of small lateral forces. Both assume the idea of low speed, so it can be said that a cinematic model offers acceptable results when the car is moving at low speed. Other differences between the two include that the model does not take into account neither mass nor inertia between the others. In this section, the equations are presented for simplicity based on a two-wheeled kinematic model.

Taylor expansion method has been used to linearize both dynamic and kinematic systems. Due to the high complexity of the dynamic system, the problem controller was generated using the kinematic system and then the dynamic model was used for the final test of the obtained controller.

(back to top)

Results

(back to top)

Refereces

[1] Eugenio Alcalá Baselga, “MODELLING, PLANNING AND NONLINEAR CONTROL TECHNIQUES FOR AUTONOMOUS VEHICLES, ” June 2016.

[2] Laguerre based model predictive control for trajectory tracking of nonholonomic mobile robots-Proceedings of the 6th RSI-International Conference on Robotics and Mechatronics (IcRoM 2018)

[3] Control of Wheeled Mobile Robots: An Experimental Overview Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli- Dipartimento di Informatica e Sistemistica, Universit`a degli Studi di Roma “La Sapienza”, Italy

[4] STABILIZATION CONTROL OF THE DIFFERENTIAL MOBILE ROBOT USING LYAPUNOV FUNCTION AND EXTENDED KALMAN FILTER -Thuan Hoang Tran, Manh Duong Phung, Thi Thanh Van Nguyen , Quang Vinh Tran University of Engineering and Technology, VNU, Hanoi City, Vietnam

[5] Nonlinear control of nonholonomic mobile robot formation-Travis Alan Dierks

[6] M.H. Shafiei & F. Monfared (2019) Design of a robust tracking controller for a nonholonomic mobile robot with side slipping based on Lyapunov Redesign and nonlinear H∞ methods, Systems Science & Control Engineering, 7:1, 1-11, DOI:10.1080/21642583.2018.1555061

[7] 2015 IEEE Intelligent Vehicles Symposium (IV) June 28 - July 1, 2015. COEX, Seoul, Korea- Kinematic and Dynamic Vehicle Models for Autonomous Driving Control Design Jason Kong, Mark Pfeiffer, Georg Schildbach, Francesco Borrelli

(back to top)

Contact

Seyedmohammadsaleh Mirzatabatabaei - @seyedsaleh - [email protected]

Salman Amimotlagh - @SMotlaq - [email protected]

Shima Naseri - @shimanaseri - [email protected]

Amin Lari - Tara Radjabi

Project Link: https://github.com/seyedsaleh/ModernControl-UGV

(back to top)

Roadmap

  • Project has been done.

See the open issues for a full list of proposed features (and known issues).

(back to top)


moderncontrol-ugv's People

Contributors

seyedsaleh avatar shimanaseri avatar smotlaq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  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.