Skip to content

差动轮式移动机器人——基于ROS的非线性模型预测控制

License

Notifications You must be signed in to change notification settings

yuanzhongqiao/mpc_ros

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub 问题开放 GitHub 分叉 GitHub 星星 GitHub 许可证

非线性模型预测控制

抽象的

该存储库的目标是使用最优控制器之一的非线性模型预测控制(NMPC)来实现移动机器人的路径跟踪算法。 NMPC可以提供现有最优控制器中强大而有效的性能,因为它具有预览能力并且易于调节约束。该存储库基于ROS(机器人操作系统)。因此它也支持本地规划器插件和独立节点。

特征

  • 非线性模型预测控制(通过ipopt 求解器
  • 轮式移动机器人

安装

  1. 乌班图18.04

  2. 安装ROS Melodic。

  3. 安装 ROS 依赖项。

    sudo apt install ros-melodic-costmap-2d \
    ros-melodic-move-base \
    ros-melodic-global-planner \
    ros-melodic-amcl
    
  4. 安装Ipopt:请参考“document/ipopt_install”中的教程。

  5. 创建您自己的 catkin_ws 并克隆存储库。

    git clone https://github.com/Geonhee-LEE/mpc_ros.git 
    
    • (可选)如果你已经有urdf模型,则不需要在下面克隆
      git clone https://github.com/CzJaewan/servingbot.git
      

    注意:您还可以参考其他模型,例如阿克曼模型、完整模型。你可以看到它mpc_ros_description

  6. 构建(catkin_make)并尝试一下。

发射

在模拟中使用 MPC 运行导航算法:

  • 可以根据“控制器”参数选择DWA、MPC、Pure 追求。
roslaunch mpc_ros nav_gazebo.launch

使用 MPC 运行跟踪参考线

  • 使用非线性模型预测控制跟踪无限远形状、外旋轮线、方形等轨迹。
roslaunch mpc_ros ref_trajectory_tracking_gazebo.launch

如何使用本地规划器

  • 构建成功后,您只需将 base_local_planner 参数更改为mpc_ros/MPCPlannerROS.
<param name="base_local_planner" value="mpc_ros/MPCPlannerROS"/>

Youtube 视频


视频标签

关于我们

联系方式:[email protected]
日期:2020/05/02
许可证:Apache 2.0

参考

About

差动轮式移动机器人——基于ROS的非线性模型预测控制

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 98.6%
  • Other 1.4%