当前位置:   article > 正文

ros高效编程 moveit篇 代码学习1_moveit opml

moveit opml

很多地方只是写了一些自己的理解以及关键字,便于以后自己梳理。
主要内容为moveit中opml 以及 部分书上内容

move group

核心节点move group。
书中说到:
机器人必须放开joint trajectory action控制器。
有关该概念介绍:

http://wiki.ros.org/joint_trajectory_action
http://wiki.ros.org/robot_mechanism_controllers/JointTrajectoryActionController

The joint_trajectory_action is a node that exposes an action interface to a joint trajectory controller
The joint trajectory action is a node that provides an action interface for tracking trajectory execution. It passes trajectory goals to the controller, and reports success when they have finished executing. The joint trajectory action can also enforce constraints on the trajectory, and abort trajectory execution when the constraints are violated.

Joint Trajectory Action Controller

The Joint Trajectory Action Controller executes joint-space
trajectories on a set of joints. It takes, as a command, a message
specifying the desired position and velocity of each joint at every
point in time, and executes this command as well as the mechanism
allows.

The Joint Trajectory Action Controller takes the trajectory points and
interpolates between them using splines. If you’ve specified
accelerations, it will use quintic splines, otherwise if you’ve
specified velocities, it will use cubic splines. (If you specify
neither accelerations nor velocities it will interpolate between the
positions linearly, however specifying only positions is discouraged,
as the linear interpolation will lead to discontinuities in the
followed trajectory).

The primary way to send trajectories to the Joint Trajectory Action
Controller is by connecting to the
control_msgs::FollowJointTrajectoryAction on the
follow_joint_trajectory topic. The action goal specifies the
trajectory, and (optional) tolerances, which override the tolerances
given on the parameter server. See the action definition for more
information on what to send.

这个存疑,貌似现在用的是joint trajectory controller

运动规划

moveit中默认使用opml
具体介绍可以看moveit的官方文档

state-of-the-art sampling-based 基于最先进的采样技术

  1. 两个节点中间的连线可以视为轨迹,两个节点为waypoints
  2. 默认运动碰撞检测将轨迹离散化为一系列子段,并进行轨迹碰撞检测,目前opml中没有连续的轨迹碰撞检测。网页中给出了讨论的界面。
  3. fraction 为机器人的状态空间,表明当前机器人没有碰撞。比如设置为0.01,默认edge小于0.01就不需要在检测了。
longest_valid_segment_fraction: 0.01

  • 1
  • 2

maximum_waypoint_distance
The maximum distance between consecutive waypoints along the solution path

it defines the same discretization of robot motions for collision checking, but it does so at an absolute level instead of using fractions of the state space.
如果两个都设置了,在给定边上生成最多碰撞检查状态的方案会被选中。

  1. 值设置太高会忽略细小物体,导致碰撞。
    太小会导致计算缓慢,并且导致平滑器输出无法立即的运动。因为会catch不合理的路径值,并尝试在值周围采样并修补导致不完美。
    这里给到了值讨论的连接。

Projection Evaluator

approximate the coverage of a configuration space
This settings is used by planners such as KPIECE, BKPIECE, LBKPIECE, and PDST. For more information read the corresponding publications.

Enforce Planning in Joint Space

1 Setting the group parameter enforce_joint_model_state_space enforces the use of joint space for all plans. 强制对所有规划使用关节空间
2 默认情况下,带有方向路径约束的规划请求在笛卡尔空间中采样,以便调用IK充当生成采样器。
3 这里提到了轨迹优化。
http://ompl.kavrakilab.org/optimalPlanning.html

In some motion planning problems, you might not want just any valid
path between your start and goal states. You might be interested in
the shortest path, or perhaps the path that steers the farthest away
from obstacles. In these cases you’re looking for an optimal path: a
path which satisfies your constraints (connects start and goal states
without collisions) and also optimizes some path quality metric. Path
length and path clearance are two examples of path quality metrics.
Motion planners which attempt to optimize path quality metrics are
known as optimizing planners.

规划请求适配器接口

planning request adapters 对运动规划请求进行预处理和后处理。

规划场景

move group节点中的规划场景监听器(显示器)。
碰撞检测中可以利用assistant sutup来设置ACM免碰撞矩阵,1为不会碰撞。

urdf配置

1 transmission 这里承接之前的ros control笔记中提到的,注意我看的古月居的书里这里 actuor 也配置了hardwareinterface 但是之前的文档里说只要joint中配置就行了
我查看了ur机械臂包中的配置,确实也只是配置了joint的。
ros高效编程一书的源码都是配置了的。
moveit_ros_warehouse:Database plugins for storing scene and configuration data

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/472337
推荐阅读
相关标签
  

闽ICP备14008679号