项目地址:https://github.com/orcasdli/SMCinROS
我所做的是比基础知识多迈了一步而已。
项目主要内容:
1、针对ROS小车,实现基于外部视觉测量的滑模控制闭环,实现对期望轨迹的跟踪。
2、在实现控制闭环的过程中,运用了其他本博客相关文章提到的方法:闭环方法,读写文档,微积分。和没有提到的:launch的基本使用(一看应该就懂),滑模控制思想,视觉测量的使用。
滑模使用了快速双幂次滑模控制方法,机器人的模型就是通用的二轮模型。
视觉测量使用了外部的测量,先验证此框架的可行性。后续我会做主动测量的。
3、可以看出怎么增加成员函数和成员变量。
并没有给出一个最简框架,但给了足够详细的注释,相信有点编程基础的都能看懂。
如果想只跑一下开环的运动,只需要在launch文件如下修改:
<!-- http://wiki.ros.org/roslaunch/XML/node -->
<launch>
<node name="SAPcontrol" pkg="learning_com" type="SAPcontrol" output="screen">
<!--<rosparam file="$(find mypackage)/config/example.yaml" command="load" />-->
<param name="flag" type="int" value="1" />
<!--flag =1 为圆周运动,2为余弦运动 -->
<param name="Slip_com" type="int" value="0" />
<!--如果为0就是不滑转补偿,1是滑转补偿,后续考虑把参数也放进来-->
<param name="SMC_on" type="int" value="0" />
<!--如果为0就是开环跑,1是普通SMC,2是自适应SMC-->
</node>
</launch>
滑转补偿方面我已经删去了所有的相关函数,因此是无效的,不用管它。
开环运动的参数去程序中按照自己的需求修改就好了,相信你能找到!
如有问题请留言。