附加
描述
附加(
高度的非平台
,targetname
,attachingbodyname
)rigidBodyTree
的目标平台targetname
对身体attachingbodyname
的rigidBodyTree
的源平台平台
。
例子
在机器人执行选择和场景
创建一个robotScenario
对象。
场景= robotScenario (UpdateRate = 1, StopTime = 10);
创建一个rigidBodyTree
对象的Franka Emika熊猫机械手使用loadrobot
。
robotRBT = loadrobot (“frankaEmikaPanda”);
创建一个rigidBodyTree
的robotPlatform
使用机械手模型对象。
机器人= robotPlatform (“操纵者”场景,…RigidBodyTree = robotRBT);
创建一个非rigidBodyTree
的robotPlatform
一个盒子来操纵的对象。指定网格类型和大小。
盒= robotPlatform (“盒子”场景中,碰撞=“网”,…InitialBasePosition = [0.5 0.15 0.278]);updateMesh(盒子,“长方体”碰撞=“网”、大小= (0.06 0.06 0.1))
想象的场景。
ax = show3D(场景中,碰撞=“上”);视图(79年,36)光
指定的初始和拾音器联合配置机械手,将机械手从最初对接近。
initialConfig = homeConfiguration (robot.RigidBodyTree);pickUpConfig = [0.2371 -0.0200 0.0542 -2.2272 0.0013…2.2072 -0.9670 0.0400 0.0400);
创建一个RRT路径规划使用manipulatorRRT
对象,并指定机械手模型。
规划师= manipulatorRRT (robot.RigidBodyTree scenario.CollisionMeshes);计划。IgnoreSelfCollision = true;
计划之间的路径的初始和拾音器联合配置。然后,想象整个路径,插入路径成小步骤。
rng (“默认”)路径=计划(计划、initialConfig pickUpConfig);路径=插入(规划师,路径,25);
建立了模拟。
设置(场景)
之前检查碰撞机械手拿起盒子。
checkCollision(机器人,“盒子”,…IgnoreSelfCollision =“上”)
ans =逻辑0
移动机械手的关节沿路径和可视化的场景。
helperRobotMove(路径,机器人,场景,ax)
检查碰撞后机械手拿起盒子。
checkCollision(机器人,“盒子”,…IgnoreSelfCollision =“上”)
ans =逻辑1
使用附加
函数把盒子机械手的夹持。
附加(机器人,“盒子”,“panda_hand”,…ChildToParentTransform = trvec2tform ([0 0 0.1]))
指定的下降联合配置机械手移动机械手的上车对箱子下车姿势。
dropOffConfig = [-0.6564 0.2885 -0.3187 -1.5941 0.1103…1.8678 -0.2344 0.04 0.04);
计划之间的道路上车和下车联合配置。
路径=计划(计划、pickUpConfig dropOffConfig);路径=插入(规划师,路径,25);
移动机械手的关节沿路径和可视化的场景。
helperRobotMove(路径,机器人,场景,ax)
使用分离
函数分离机械手爪的盒子。
分离(机器人)
计划下降之间的路径和初始联合配置移动机械手从盒子下降对初始姿势。
路径=计划(计划、dropOffConfig initialConfig);路径=插入(规划师,路径,25);
移动机械手的关节沿路径和可视化的场景。
helperRobotMove(路径,机器人,场景,ax)
Helper函数移动机械手的关节。
函数helperRobotMove(路径,机器人,场景,ax)为idx = 1:尺寸(路径,1)jointConfig =路径(idx:);(移动机器人,“联合”jointConfig) show3D(场景,fastUpdate = true,父母= ax,碰撞=“上”);drawnow推进(场景);结束结束
输入参数
平台
- - - - - -rigidBodyTree
的源平台
robotPlatform
对象
rigidBodyTree
指定的源平台,作为一个robotPlatform
对象。
targetname
- - - - - -非rigidBodyTree
的目标平台
字符串标量|特征向量
非rigidBodyTree
指定的目标平台,作为一个字符串标量或特征向量。
例子:“盒子”
数据类型:字符
|字符串
attachingbodyname
- - - - - -源的机器人平台
字符串标量|特征向量
指定的源机器人平台,身体作为一个字符串标量或特征向量。
例子:“panda_hand”
数据类型:字符
|字符串
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
例子:ChildToParentTransform = trvec2tform ([0 0 0.1])
ChildToParentTransform
- - - - - -连接目标平台转换身体相对于源平台上的身体
(4)
(默认)|4×4齐次变换矩阵
附加的转换目标平台的身体相对于源平台上的身体,指定为一个4×4齐次变换矩阵。
例子:ChildToParentTransform = trvec2tform ([0 0 0.1])
数据类型:单
|双
碰撞
- - - - - -碰撞对象添加到目标平台
collisionBox
对象|collisionCapsule
对象|collisionCylinder
对象|collisionMesh
对象|collisionSphere
对象
碰撞对象添加到目标平台网,指定为外部创建碰撞对象等collisionBox
,collisionCapsule
,collisionCylinder
,collisionMesh
,或collisionSphere
。如果你不指定一个碰撞对象,然后在目标平台使用其默认碰撞网格。
版本历史
介绍了R2023a
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。