此博文主要是用来记录ROS-Kinetic 中,用于机器人轨迹规划的MoveIt功能包的学习记录。
一.Kinematics Configuration
在ROS中,Kinematics Configuration的主要功能是配置机器人的运动学求解器及其相关参数。就是配置kinematics. yaml 文件中的内容,一般情况下,这个.yaml文件在使用setup_assistant配置机器人的时候,会自动生成。具体内容如下:
panda_arm: kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin kinematics_solver_search_resolution: 0.005 kinematics_solver_timeout: 0.05 kinematics_solver_attempts: 3
以Panda_arm为例,这个.yaml文件中:
1. kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin:配置了机器人运动学求解器是KDL。
2.kinematics_solver_search_resolution: 0.005:配置了运动学求解器的分辨率,实际作用是,在运动学规划时,给运动学规划器一些冗余量,以便于更快速的求解出运动学逆解。
3. kinematics_solver_timeout: 0.05 : 配置了运动学规划的超时时间,如果运动学求解器在进行求逆解时,若超过所设时间(0.05s)还没有求出解的话,将自动舍弃这次求解,开始尝试新的求解过程。
4. kinematics_solver_attempts: 3 : 配置了运动学求解器的尝试次数限制,此处为3次。
注:在使用MoveIt_setup_assistant时,可以设置具体使用那种运动学求解器。
二.Fake Controller Manager
在之前的章节中,我们知道了,如果用MoveIt控制机器人执行轨迹,需要设置一个“low_level_controllers”, 并使用这个controllers来控制真实的机器人运动。
在仿真环境中,存在Fake_Controller, 这个用在仿真环境中,模拟与真实机器人通信和控制的情况。
由于这个文件也是自动生成的,所以不深究,具体解释见:http://docs.ros.org/en/kinetic/api/moveit_tutorials/html/doc/fake_controller_manager/fake_controller_manager_tutorial.html
rate: 10 (Hz, used for interpolation controller) controller_list: - name: fake_arm_controller (机器人名称) type: interpolate | via points | last point joints: - joint_1 - joint_2 - joint_3 - joint_4 - joint_5 - joint_6 - name: fake_gripper_controller joints: []