ROS | ros_control和arbotix_ros简介

本文介绍了ros_control和arbotix_ros相关知识。ros_control是ROS为用户提供的中间件,包含控制器管理器、控制器、硬件接口等,可提高机器人开发效率。还介绍了其各组件功能及使用方法。arbotix_ros是arbotix控制器的ROS软件包,可方便控制小车运动,并说明了其在ROS中的使用配置。

1. ros_control

ros_control就是ROS为用户提供的应用与机器人之间的中间件,包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等,可以帮助机器人应用快速落地,提高开发效率。
在这里插入图片描述

上图是ros_control的总体框架,可以看到对于不同类型的控制器(底盘、机械臂等),ros_control可以提供多种类型的控制器,但是这些控制器的接口各不相同,为了提高代码的复用率,ros_control还提供一个硬件的抽象层。
在这里插入图片描述

硬件抽象层负责机器人硬件资源的管理,而controller从抽象层请求资源即可,并不直接接触硬件。
在这里插入图片描述

上图是ros_control的数据流图,可以更加清晰的看到每个层次包含的功能:

  • Controller Manager:每个机器人可能有多个controller,所以这里有一个控制器管理器的概念,提供一种通用的接口来管理不同的controller。controller manager的输入就是ROS上层应用的输出。
  • Controller:controller可以完成每个joint的控制,请求下层的硬件资源,并且提供了PID控制器,读取硬件资源接口中的状态,在发布控制命令。
  • Hardware Rescource:为上下两层提供硬件资源的接口。
  • RobotHW:硬件抽象层和硬件直接打交道,通过write和read方法来完成硬件的操作,这一层也包含关节限位、力矩转换、状态转换等功能。
  • Real Robot:实际的机器人上也需要有自己的嵌入式控制器,接收到命令后需要反映到执行器上,比如接收到位置1的命令后,那就需要让执行器快速、稳定的到达位置1。

1.1 Controller Manager

controller manager提供了一种控制多个controller的机制,可以加载、开始运行、停止运行、卸载不同的controller,并且提供了多种工具来完成这些操作。
在这里插入图片描述

1.2 Controller

ros_controllers这个功能包提供了已有的一些controllers,比较常用的是如下几个:

  • effort_controllers - 直接控制关节的力/扭矩
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值