Skip to content

Commit

Permalink
README fixed & gpl
Browse files Browse the repository at this point in the history
  • Loading branch information
fetty31 committed Dec 30, 2023
1 parent 62cccd4 commit 7d12333
Show file tree
Hide file tree
Showing 12 changed files with 123 additions and 3 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
<h3 align="center">Tailored MPC</h3>
</div>

Here you can find the main Autonomous Systems controller for CAT15x, the [BCN eMotorsport](https://bcnemotorsport.upc.edu) 2022-23 car. Within this repo you will find 3 different MPC controllers: time-variant, spatial-variant and lateral (also time-variant). The one used for the 2022-2023 season is the lateral approach, leaving the others for a future implementation as they demand much more testing time.
Here you can find the main Autonomous Systems controller for CAT15x, the [BCN eMotorsport](https://bcnemotorsport.upc.edu) 2022-23 car. Within this repo you will find 3 different MPC controllers: time-variant, spatial-variant and lateral (also time-variant). The one used for the 2022-2023 season is the lateral approach, leaving the others for a future implementation as they demand much more testing time, which we don't ever have :(

If you want to see the performance of this controller watch [this trackdrive](https://youtu.be/mk9U0lRWr-0?si=S0-yVm7wfKk2jvPq).

<details>
<summary>Table of Contents</summary>
Expand All @@ -32,7 +34,7 @@ If you use this control algorithm in a Formula Student competition the **only**
# Dependencies
* [Ubuntu](https://ubuntu.com/) 20.04
* [ROS](https://www.ros.org/) Noetic
* [Embotech](https://www.embotech.com/products/forcespro/overview/) FORCESPRO solver. A Hardware or Software Embotech license is mandatory.
* [Embotech](https://www.embotech.com/products/forcespro/overview/) FORCESPRO solver. A Hardware or Software Embotech's license is mandatory.
* [Eigen3](https://eigen.tuxfamily.org)
* ___as_msgs___: self-defined ROS msgs pkg. You may change it for yours, adapting the [necessary callbacks](include/mpc.hh).

Expand Down
Binary file removed docs/KIT_lateral_MPC.pdf
Binary file not shown.
Binary file removed docs/TRO.pdf
Binary file not shown.
Binary file removed docs/curvature_MPC.pdf
Binary file not shown.
17 changes: 17 additions & 0 deletions include/forces.hh
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#ifndef forcespro_MPC_HH
#define forcespro_MPC_HH

Expand Down
17 changes: 17 additions & 0 deletions include/mpc.hh
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#ifndef MPC_HH
#define MPC_HH

Expand Down
17 changes: 17 additions & 0 deletions include/utils/params.hh
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#ifndef PARAMS_MPC_HPP
#define PARAMS_MPC_HPP

Expand Down
17 changes: 17 additions & 0 deletions include/utils/vis_tools.hh
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#ifndef VIS_TOOLS_HH
#define VIS_TOOLS_HH

Expand Down
1 change: 0 additions & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ int main(int argc, char **argv) {
std_msgs::Int32 exitflag_msg;

ros::Rate r(mpc.Hz);
// launch-prefix="gdb -ex run --args"
while(ros::ok()){

mpc.solve(); // Solve the NLOP
Expand Down
17 changes: 17 additions & 0 deletions src/mpc.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include "mpc.hh"

// Constructor
Expand Down
17 changes: 17 additions & 0 deletions src/utils/params.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include "utils/params.hh"

Params::Params(const ros::NodeHandle* nh) {
Expand Down
17 changes: 17 additions & 0 deletions src/utils/vis_tools.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*
Copyright (c) 2023 Oriol Martínez @fetty31
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

#include "utils/vis_tools.hh"

VisualizationTools::VisualizationTools(MPC *mpc, const Params *params){
Expand Down

0 comments on commit 7d12333

Please sign in to comment.