admin管理员组文章数量:1660164
odqp作为二次规划库具有非常重要的作用,可以运用于模型预测控制算法(MPC)
ROS C++库调用方式可以参考这篇文章ROS c++调用osqp-eigen库的具体操作步骤
按如下过程就能正常地在python中使用osqp库。
准备工作
1.获取测试程序
在这个例子中我所使用的是osqp官网的python程序,用来设计MPC控制器:
运用osqp求解MPC优化问题
2.放入功能包
将这个文件放入我们自己的功能包的scripts文件夹下:
右键属性,允许作为可执行文件
osqp库的调用
python调用osqp库中会遇到一些问题,我的版本是Ubuntu18.04+ROSmelodic,默认的python版本是python2.7。安装osqp会有如下提示:
这说明python2.7版本已经不行了,需要更换解释器,所以我打算 换成python3.6解释器。
接下来就是安装步骤了
步骤1:安装pip3
~$ sudo apt install python3-pip
步骤2:安装osqp库和其他需要的库
~$ pip3 install osqp
~$ pip3 install catkin-tools
~$ pip3 install rospkg
我们可以查看osqp的安装位置:
~$ pip show osqp
~$ pip3 show osqp
Name: osqp
Version: 0.6.2.post5
Summary: OSQP: The Operator Splitting QP Solver
Home-page: https://osqp/
Author: Bartolomeo Stellato, Goran Banjac
Author-email: bartolomeo.stellato@gmail
License: Apache 2.0
Location: /home/zhz/.local/lib/python3.6/site-packages
Requires: numpy, scipy, qdldl
osqp库保存在.local/lib/python3.6/site-packages中
步骤3:更改程序
编辑测试程序,将解释器更换为python3或python3.6(具体看保存在python哪个版本中)
#!/usr/bin/env python3 ######更改解释器为python3或者python3.6
# -*- coding=utf-8 -*-
import osqp
import numpy as np
import scipy as sp
from scipy import sparse
测试结果
1.常规测试
启动roscore,命令行输入
~$ rosrun <your_package_name> mpc_test_file.py
这里我将时间步更改为3步,同时打印控制输出的第一个元素,测试结果如下:
zhz@zhzrobot:~$ rosrun path_track mpc_test_file.py
-----------------------------------------------------------------
OSQP v0.6.2 - Operator Splitting QP Solver
(c) Bartolo
版权声明:本文标题:ROS python调用osqp库的具体操作步骤 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729850416a1215333.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论