MoveIt

MoveIt是ros中一系列机械臂操作的功能包组成,主要包含运动规划,碰撞检测,运动学,3D感知,操作控制等功能。

操作机械臂

ancientcc发表了文章 0 人赞同 0 评论 2023-06-10 20:27:26

RP(Reference Point):参考点。存在爪子上的一个点,由机械臂提供商在图像中识别出来。y分量必须在机械臂中线上。PRP(Pitch Reference Point):俯仰角参考点。位置上,x、z是PRP_joint关节原点......查看全部

moveit_msgs::RobotTrajectory

ancientcc发表了文章 0 人赞同 0 评论 2022-05-30 15:50:05

DOF(Degree Of Freedom)。自由度。Ros用moveit_msgs::RobotTrajectory封装发向机器人的路径控制,对当中每个路点,表示它的有关节状态(positions)、相对于起始路点的时间戳(......查看全部

路径规划[1/4]:PlanningPipeline::generatePlan

ancientcc发表了文章 0 人赞同 0 评论 2022-05-29 21:33:29

适配器必须实现基类PlanningRequestAdapter的虚操作adaptAndPlan#3,它的第一个参数是个函数,对这个函数,传给组中前N-2个的是callAdapter2,第N-1个callAdapter1,最后一个则是callPla......查看全部

路径规划[4/4]:robot_trajectory::RobotTrajectory以及后处理

ancientcc发表了文章 0 人赞同 0 评论 2022-05-27 21:16:16

文中如果出现RobotTrajectory,那指的是robot_trajectory::RobotTrajectory。对moveit_msgs::RobotTrajectory,会写全。ModelBasedPlanningContext::ge......查看全部

urdf中的<link>、<joint>

ancientcc发表了文章 0 人赞同 0 评论 2022-05-14 20:28:05

关节状态State物理意义;对旋转关节,即urdf中type=continuous或revolute,关节状态是旋转轴的旋转角度。举个例子,值1.57,表示此个关节绕旋转轴旋转90度,至于是顺时间还是逆时针,要看axis的正、负号以及开发者如何定......查看全部

规划[5/5]:抓取、放置

ancientcc发表了文章 0 人赞同 0 评论 2022-05-12 10:40:15

mgi:moveit::planning_interface::MoveGroupInterfacemgii:moveit::planning_interface::MoveGroupInterface::MoveGroupInterfaceIm......查看全部

路径规划[3/4]:simplifySolution、interpolateSolution

ancientcc发表了文章 0 人赞同 0 评论 2022-05-10 10:33:57

公式1(计算、两状态点/路点之间距离):该规划组内有个可变关节。:状态点的第个关节值。double JointModelGroup::distance(const double* state1, const......查看全部

规划[4/5]:避障

ancientcc发表了文章 0 人赞同 0 评论 2022-05-05 20:35:22

在如何实现避障上,是ompl路径规划时,每生成一个新的State,就判断在该State是否有发生碰撞,这个判断过程叫碰撞检测,对应代码中函数StateValidityChecker::isValid。碰撞检测是运动规划中最耗时运算,往往会占用90......查看全部

规划[3/5]:笛卡儿规划

ancientcc发表了文章 0 人赞同 0 评论 2022-04-27 21:43:47

生成轨迹中points点数至少“1+路点数”,1是机器人当前状态。此时每个路点都没有分步长。笛卡儿规划要用运动学求器解,用不到路径规划器。示例[0/2]{p: (0.281330, -0.000289, 0.2963......查看全部

trac_ik

ancientcc发表了文章 0 人赞同 0 评论 2022-04-23 14:24:41

误差阀值eps。来自TRAC_IKKinematicsPlugin::searchPositionIK(...)栈内变量“double epsilon = 1e-5”,是个不能改的参数。逆解溢出时间maxtime,单......查看全部

ikfast.py

ancientcc发表了文章 0 人赞同 0 评论 2022-04-17 20:31:37

当--iktype=transform6d时,要求规划组中非固定关节数必须是4、5或6。关节定义成fixed类型时,不要让出现<axis>、<limit>。否则会让joint.IsStatic()误判断为true,导致Ge......查看全部

ubuntu 20.04安装、测试ikfast

ancientcc发表了文章 0 人赞同 0 评论 2022-04-16 15:48:56

参考运动学求解器 IKFast + UR5MoveIt!运动学插件IKFAST(八)一、安装openrave这里介绍的安装openrave适用于新安装的ubuntu 20.04。至少ubuntu要没安装过python。1.1 ......查看全部

KDL:运动学求解器

ancientcc发表了文章 0 人赞同 0 评论 2022-04-09 11:19:57

关节状态State物理意义;对旋转关节,即urdf中type=continuous或revolute,关节状态是旋转轴的旋转角度。举个例子,值1.57,表示此个关节绕旋转轴旋转90度,至于是顺时间还是逆时针,要看axis的正、负号以及开发者如何定......查看全部

规划[2/5]:位姿规划

ancientcc发表了文章 0 人赞同 0 评论 2022-04-04 21:15:00

对目标状态器中的constraint_samplers::ConstraintSampler采样器对象,在位姿规划创建的派生类是IKConstraintSampler。PositionConstraint封装了某个link上位置(xyz字段)方面......查看全部

目标状态器(ompl::base::Goal)

ancientcc发表了文章 0 人赞同 0 评论 2022-04-02 20:50:29

目标状态器是从Goal派生的类对象,派生类较多,较常见的使用类是ConstrainedGoalSampler。图1 采样、读取目标值逻辑之前关于规划文章可知,client发来的moveit_msgs::Constraints类型表示的目......查看全部

RRTConnect算法基础

ancientcc发表了文章 0 人赞同 0 评论 2022-03-25 14:31:17

本文转自“心之器机的ompl”中和RRTConnect相关的三篇文章。一、从零开始的OMPL库算法学习记录(0)写在开头毕设要做基于moveit的零件抓取,现在进度卡在解决place_pose_orientation的倾斜问题,所以开始学习mov......查看全部

路径规划[2/4]:RRTConnect::solve

ancientcc发表了文章 0 人赞同 0 评论 2022-03-24 20:56:09

solve总逻辑。进行一轮轮迭代,在每轮迭代,1)生成一个随机结点rmotion。2)调用growTree,以rmotion为新采样点,对初始树进行扩展。3)确保rmotion结点值等于新添加到初始树的结点值。3)不断扩展目标树,直到或扩展到了r......查看全部

规划[1/5]:关节规划

ancientcc发表了文章 0 人赞同 0 评论 2022-03-21 21:10:19

ompl相关编程分为四步,依次是设置目标状态、设置起始状态、求解和读取规划结果。向ompl设置的初始状态是实时从joint_state_publiser结点收到的/joint_states。ompl规化出的路径存放在ompl::base::Pla......查看全部

server处理move action:MoveGroupMoveAction

ancientcc发表了文章 0 人赞同 0 评论 2022-03-20 19:25:23

client要操作机械臂,首先调用MoveGroupInterfaceImpl::plan(Plan& plan)为此次操作做规划,内中会发送moveit_msgs::MoveGroupGoal请求action。对应到serve......查看全部

server处理exectraj action:MoveGroupExecuteTrajectoryAction

ancientcc发表了文章 0 人赞同 0 评论 2022-03-19 20:32:04

DOF(Degrees of Freedom)。自由度。js(JointState)。关节状态。专门指存储在/joint_states话题、最后发送到机器人的sensor_msgs/JointState。client通过mov......查看全部
MoveIt是ros中一系列机械臂操作的功能包组成,主要包含运动规划,碰撞检测,运动学,3D感知,操作控制等功能。