ROS运动规划及其实现

  示教再现是传统路径规划的实现方法之一,通过操作空间进行示教并记录示教结果,在工作过程中加以复现,现场示教直接与机器人需要完成的动作相对应,路径直观且明确,缺点是需要经验丰富的操作工人,并消耗大量的时间,路径不一定是最优的,为了解决上述问题,可以建立机器人虚拟模型,通过虚拟的可视化操作完成对作业任务的路径规划。

  ROS封装了Move_base和Move_Group两个接口类,前者主要针对无人车的全局路径规划,后者主要是面向机械臂的运动规划。

MoveIt

  我们可以用一下三种方式来使用

1move_group_interface库提供的C++编程接口。

2moveit_commander库提供的Python接口。

3rviz中的Motion Planning 插件,以GUI的方式使用。

ROS 的API主要通过constraints等来配置一个末端执行器的位置约束,或整个机器人的关节约束。

  MoveIt参数配置

(1)用XML表示的机器人模型数据URDF。

(2)机器人语义配置SRDF。

ROS MoveIt 机器人接口

Pre-defined position:

  group.setNamedTarget("home");

  group.move();

Joint position:

  map joints=my_function();

  group.setJointValueTarget(joints);

Cartesian position:

  Affine3d pose = my_function();

  group.setPoseTarget(joints);

  group.move();

运动规划库

开发人员也可以直接调用Planner interface 提供的c++API接口,通过动态加载插件的方式加载运动规划库

Descartes 路径规划 

CLIK         路径规划

STOMP    空间规划

OMPL/MoveIt         空间规划

 

 

 

 

 

 

你可能感兴趣的:(ROS运动规划及其实现)