# Receding-Horizon-Control-for-tracking-trajectory-using-differential-drive-robots
Code developed for "A. Marino, C. Tiriolo, - Receding Horizon Tracking Trajectory Strategy for Feedback Linearized Differential-Drive".
Research "Concordia University".
For any questions or suggestions write to alexismarino0109@gmail.com
# Sumary.
This repository contains an implementation of a Receding Horizon Control to solve the tracking trajectory problem in mobile robots. The robot used is a differential drive robot which is linearized by using Dynamic Feedback linearization. The key aspect of the control is the management of input constraints, which change across the linearization procedure. The simulation is performed using Matlab, and the validation of the controller is achieved by implementing the control in a Digital Twin of the Qbot2 robot provided by Quanser Company. this control implementation is based on [1] and is part of a master thesis of the owner of this repository.
# Problem Formulation.
![image](https://github.com/fercho-0109/Receding-horizon-control-for-tracking-trajectory-using-differential-drive-robots/assets/40362695/794e708b-1791-45bc-a1ba-c37edbe86396)
Considering the differential drive model, the input constraints set, and a bounded trajectory ð(ð¡),
Design a feedback control lay [ð_ð
,ð_ð¿ ]=ð(ð(ð¡),ð(ð¡),ð(ð¡)) such that the tracking error is bounded and [ð_ð
,ð_ð¿ ]â ð_ð,âð¡â¥0
# Prerequisites
- The code was created and tested on the Matlab/Simulink 2023a environment
- Install Quanser interactive labs "Qlabs" (https://es.mathworks.com/matlabcentral/fileexchange/123860-quanser-interactive-labs-for-matlab). This requires a license to get access to the digital twins
# File description
The repository contains two main folders
1. **Matlab-simulation**: This folder contains a replication of the paper [[1](https://ieeexplore.ieee.org/document/9956741)] using Quanser enviroment. This is implemented using different linearization techniques according to the paper which is "Dynamic feedback linearization". Moreover, it contains the Matlab files to run the control.
2. **Quanser-simulation**: This folder contains a replication of the paper [[1](https://ieeexplore.ieee.org/document/9956741)] as well, but this time using the Qbot 2e Digital Twin provided by Quanser.
### Bibliography
[1] Cristian Tiriolo, Giuseppe Franzè, and Walter Lucia. An obstacle-avoidance receding horizon control scheme for constrained differential-drive robot via dynamic feedback linearization. In 2023 American Control Conference (ACC), pages 1116â1121, 2023.
# Simulations
### For Matlab Simulation
Download the respective folder called Matlab_simulation, Then for:
- Tracking problem: run "**Tracking_using_dynmaic_lin.m**" for Dynamic linearization
### For Quanser Simulation using the Qbot2e Digital Twin.
Download the respective folder called Quanser_simulation. Then, open the Quanser interactive labs and select Qbot 2e.
- Setup the position of the robot, go to Options - Change reset location - choose x=-0.25, y=-1.75, rotation=180 deg
- First, run "**Main_tracking_using_dyn_lin_Quanser.m**". To configure the parameters.
- Second, open and run the Simulink file "**Tracking_with_dynamic_lin.slx**" Then, the robot in the simulator should start to move and follow the trajectory that is the red line in the environment. If the connection with the simulator fails, close the simulator and open it again.
# Example to run an experiment
**"Tracking Problem using Dynamic linearization"**
### Matlab simulation
1. Download the folder.
2. Run the Matlab file "**Tracking_using_dynmaic_lin.m**"
3. The simulation should start showing the following result
![image](https://github.com/fercho-0109/RHC-Tracking-Trajectory-with-Obstacle-Avoidance/assets/40362695/9da97de6-8f37-4604-bd6f-a36ef1451159)
### Quanser simulation
1. Download the folder
2. Open the Quanser interactive labs and select Qbot 2e.
3. Setup the position of the robot in the virtual environment Qlab, go to Options - Change reset location - choose x=-0.25, y=-1.75, rotation=180 deg
4. Run the Matlab file "**Main_tracking_using_dyn_lin_Quanser.m**"
5. Open and Run the Simulink file "**Tracking_with_dynamic_lin.slx**"
6. The Qbot 2e should start to move following the reference trajectory "red line"
![image](https://github.com/PreCyseGroup/RHC-Tracking-Trajectory-with-Obstacle-Avoidance/assets/40362695/855b62e5-6ebd-4bf2-a85c-3464a9948a70)
没有合适的资源?快使用搜索试试~ 我知道了~
差动驱动机器人轨迹跟踪的后退地平线控制.zip
共13个文件
m:7个
mat:3个
slx:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 93 浏览量
2024-03-11
20:46:25
上传
评论
收藏 233KB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。
资源推荐
资源详情
资源评论
收起资源包目录
差动驱动机器人轨迹跟踪的后退地平线控制.zip (13个子文件)
差动驱动机器人轨迹跟踪的后退地平线控制
Receding-horizon-control-for-tracking-trajectory-using-differential-drive-robots-main
Quanser-simulation
RHC_Dy_lin_mincx.m 3KB
Tracking_with_dynamic_lin.slx 73KB
worse_case_NB.m 881B
Ref_poly.mat 806B
Mian_tracking_using_dyn_lin_Quanser.m 7KB
Matlab-simulation
RHC_Dy_lin_mincx.m 3KB
Tracking_using_dynmaic_lin.m 6KB
mapa1.mat 2KB
DiffDrive.m 175B
worse_case_NB.m 881B
Ref_poly.mat 806B
Images
Tracking.png 148KB
README.md 4KB
共 13 条
- 1
资源评论
matlab科研助手
- 粉丝: 2w+
- 资源: 2122
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功