-
ROS_Control
- ROS为开发者提供的机器人控制中间件。
- 包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等。
- 可以帮助机器人应用功能包快速落地,提高开发效率。
ros_control的定位就是上层应用功能包和底层接口之间的连接的。
控制器有一些插件,通过硬件抽象层来对其进行控制。 上层应用计算出来的很多数据需要给下层硬件,通过一些接口传达给Controler插件,这些控制器的插件是负责机器人的各各部分的。再往下走的话就需要使用一些更具体的控制器,像PID这种,控制器的数据通过跟硬件资源的接口,发布到硬件抽象层,硬件抽象层通过一些逻辑上的约束完成逻辑上的处理,硬件抽象层同时也会反馈一些数据给上层所使用,跟实际的底层数据传送就是读和写。
控制器里面有力的控制,位置的控制,速度的控制,以及需要反馈状态。
- joint_effort_controler
- joint_state_controler
- joint_position_controler
- joint_velocity_controler
实际操作:
- 配置机器人模型
- 创建仿真环境
- 开始仿真
我i们之前创建的模型都是用来观看的,没有物理属性,所以我们需要给他们添加惯性参数和碰撞属性。具体的代码可以在视频的源文件中可以找到,视频的百度云链接在我的GitHub中可以找到。之后我们需要为每一个link加一个gazebo的标签。再为joint添加传动装置。添加完了物理属性和传动装置之后我们需要为其添加gazebo控制器插件。 通过以上方式,我们就能够在gazebo中加载这个模型。
roslaunch mbot_gazebo view_mbot_gazebo_empty_world.launch
在左侧的insert按钮里面我们也可以加入我们需要的模型。除此之外,我们可以自己来编辑模型,->Edit->Building Editor。 如果我们需要加载Gazebo中服务器端的模型文件,使得本机的gazebo加载更快,同时减少报错。的话可以按照如下操作进行: 1.登陆网址:https://bitbucket.org/osrf/gazebo_models/downloads/下载模型文件。
2.将下载好的文件放入./gazebo/model目录下面,ctrl+h可以查看隐含文件夹:
如果没有的话就创建一个好了。