ROS学习总结九:ros_control

36 篇文章 6 订阅

ROS中提供了非常多的机器人功能,比如说机器人的导航、机器人的定位、机械臂的运动规划等功能,但是这些功能包都是停留在机器人上层应用的功能包,也就是说怎么把这些功能包最终实现到真实的机器人上面去,中间需要一个连接 。
ros_control功能包作为一个机器人控制中间件,它包含一系列控制器接口、传动装置接口、硬件接口、控制器工具等等。可以帮助机器人应用包快速的实现到硬件上面去,提高开发效率。它的总体框架如下:
在这里插入图片描述
所有的硬件与硬件抽象层做交互,将控制跟硬件逻辑区别开,让控制逻辑不依赖于某一种硬件,而是可以通用于多种硬件之间,硬件抽象层来完成所有跟硬件上的资源上的一些管理工作。
ros_control的数据流程图如下:
在这里插入图片描述
左侧为机器人的上层应用,上层应用完成后会将一些数据传送到controller插件,这些插件负责机器人的各个部分。控制器的输出数据通过跟硬件资源的接口发布到硬件抽象层,硬件抽象层需要根据机器人的一些约束完成一些逻辑上的处理,例如机器人关节上的约束,最后将数据转化成控制量输出,例如电机的转矩等。同时controller还要把下层的一些数据反馈给上层的控制器所使用。
它的驱动分为write以及read两种,write把上层数据写到底层硬件,read从底层读取数据发送到上层。
同时,ros_control不仅可以控制实际机器人也可以控制仿真机器人:
在这里插入图片描述
例如在Gazebo中仿真,我们可以使用ros_control中的一些控制器,来帮助我们实现机器人的控制。类似于上一章中arbotix中的差速控制器,只是ros_control功能更加强大,可以满足各种需求。
ros_control的功能主要通过controller来实现的
在这里插入图片描述
主要有上述四种控制器:一般就是力控制、位置控制、速度控制以及关节状态控制器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶执念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值