• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Webots串级机械臂建模仿真过程-详细!

人工智能 JameScottX 1800次浏览 0个评论

前言: 非常高兴能作为古月居的签约作者,以后将推出更有价值的文章,以供参考。   由于最近要参与一个等效为机械臂的项目,肯定需要做仿真,在加上好友青云同样想要学习机器人仿真软件,特此推出这个简单的教程,基于的环境是Webots-2020a。另外,在很早之前,自己也推出了一个舵轮底盘的教程,但是相对于机械臂来说,结构稍显简单。这次为构建一个三自由度机械臂作为参考案例。最终效果图如下  
Webots串级机械臂建模仿真过程-详细!   首先,在webots中建立一个工程,点击上方Wizards,新建工程为mii_hand。  
Webots串级机械臂建模仿真过程-详细!   然后,在建立环境,为hand.wbt, 一路确认。  
Webots串级机械臂建模仿真过程-详细!   然后,在左边列表栏,鼠标右击,Add new,展开Base nodes, 添加一个Robot节点。  
Webots串级机械臂建模仿真过程-详细!   添加后,左侧展开Robot节点,找到children,children很重要,后面不同组件的关系都是依据在children 下并行连接还是串行连接。这里我们需要给这个机器人添加一个主体形状,右击children, 点击Add New,找到Base node添加一个Shape, 需要配置他的几何形状(需要右击geometry, 然后Add New,在Base node下面)和外观(需要右击material, 然后Add New,在Base node下面),具体的配置如下,这是一个黄色的圆柱体。  
Webots串级机械臂建模仿真过程-详细!   有了具体形状,那么我们肯定还需要配置他的物理效果。首先需要为它添加碰撞边界,首先需要重新命名所建立的Shape, 点击Shape后在下方找到DEF,修改为BODY。然后在Robot节点下面找到boundingObject,右击添加,找到USE,具体如图所示,可以找到BODY(Shape)。然后,找到physics Physics,直接添加物理属性。这里如果不做修改,默认质量按 体积*密度。关键点如下图。  
Webots串级机械臂建模仿真过程-详细!  
Webots串级机械臂建模仿真过程-详细!   完成上述后,最后一览效果如下。此时,运行仿真,圆柱体就会立在地面上。  
Webots串级机械臂建模仿真过程-详细!   接下来添加机器人关节,需要为机器人添加铰链(HineJoint),在BODY shape 下面,右击添加Base node 下面中的 HingeJoint。  
Webots串级机械臂建模仿真过程-详细!   首先为铰链添加一个实体(Solid),先展开HingeJoint,同样上面的操作,添加Solid。  
Webots串级机械臂建模仿真过程-详细!   同样之前的操作,添加形状为 Cyliner,然后配置他的大小,颜色等。  
Webots串级机械臂建模仿真过程-详细!  
Webots串级机械臂建模仿真过程-详细!   配置大小,位姿,形状如下橙黄色圆柱体所示  
Webots串级机械臂建模仿真过程-详细!   接下来配置电机实体的碰撞编辑和物理效果,与之前的BODY操作一致。  
Webots串级机械臂建模仿真过程-详细!
Webots串级机械臂建模仿真过程-详细!   接下来配置,铰链的位置信息,如下。其中,主要是axis 和 anchor ,分别的表述意思为轴朝向和轴坐标位置,仔细观察前面的实体左边,你会发现和圆柱实体中心重合,这符合旋转电机特点。  
Webots串级机械臂建模仿真过程-详细!   接下来为铰链添加设备,这里添加电机,当然还可以添加位置传感器,一般的电机API中可以返回位置信息,所以可以选择不用在添加。  
Webots串级机械臂建模仿真过程-详细!   接下来配置电机具体参数,其中有很多属性,这里只配置最大速度和最大扭矩,其他保持默认,该假设电机为理想的模型。  
Webots串级机械臂建模仿真过程-详细!   此时点击上方运行,可以发现铰链关节随主体一起运动(我这里对机器人添加干扰力,使其翻倒)。  
Webots串级机械臂建模仿真过程-详细!   接下来,需要给铰链添加延伸的肢体,相似的,在铰链关节下Solid的children下添加Solid,此时肢体的父坐标系就是电机的Solid。  
Webots串级机械臂建模仿真过程-详细!   由于,第一个肢体是一个L形的形状,需要两个长方体Shape拼接而成,此处,需要用到Group和Transform,前者可以理解为将多个Shape组合为一个对象,后者则是对对象的一个位移和旋转变换。   同样的流程,在肢体Solid下面添加Group  
Webots串级机械臂建模仿真过程-详细!   然后添加 Transform  
Webots串级机械臂建模仿真过程-详细!   在 Transform 下添加 Shape,配置形状,大小,及纹理参数。  
Webots串级机械臂建模仿真过程-详细!   同样的操作,配置第二个肢体第二部分  
Webots串级机械臂建模仿真过程-详细!   此时,需要配置肢体的碰撞边界时,只需要重新定义Group就可以,然后添加物理效果,具体配置如下图  
Webots串级机械臂建模仿真过程-详细!   然后,则需要配置下一个关节单元。在上面配置的肢体下面的children下面添加HingJoint,与上面同样的流程,电机属性一致,不相同的参数部分有以下所示,  
Webots串级机械臂建模仿真过程-详细!
Webots串级机械臂建模仿真过程-详细!   那么,同理,如果要进行下一段肢体的配置,则在 Motor2 下的Solid 下的children下,添加肢体的Solid即可。具体配置与上述同理,具体参数如下  
Webots串级机械臂建模仿真过程-详细!   然后,就可以配置第三个电机单元和下一段肢体。配置流程,同上述的过程,配置的效果如下  
Webots串级机械臂建模仿真过程-详细!   然后,运行仿真(我这里对机器人添加干扰力,使其翻倒),可以看到  
Webots串级机械臂建模仿真过程-详细!   初步总结:   配置的核心思想就是,一个实体或者组件,在父节点的children下就意味着,该实体或者组件坐标系从属父节点的坐标系。对于串级的机械臂,配置可以是K级坐标系在上K-1级坐标系下,这是一种比较容易理解的方法。当然,不只有这一种配置方法。   接下来,建立一个简单的控制器(python),驱动电机单元。点击上面的Wizards,点击New Robot Controller,一路next,  
Webots串级机械臂建模仿真过程-详细!  
Webots串级机械臂建模仿真过程-详细!
Webots串级机械臂建模仿真过程-详细!   我是使用 VSCode打开可以看到,  
Webots串级机械臂建模仿真过程-详细!   这一步很关键,需要将Robot下面的控制器修改为我们新建的控制器,展开Robot,找到controller,具体如下,  
Webots串级机械臂建模仿真过程-详细!   紧接着,编写控制器内容。这里我们简单调用那三个电机,跑到一个固定位置下。  
Webots串级机械臂建模仿真过程-详细!   最终运行的效果如下所示,可以见到机器人把手举了起来。  
Webots串级机械臂建模仿真过程-详细!   总结: Webots构建机器人简易模型是非常容易的,建模方法不只有这一种。这个过程在给与一个简单的例子,方便大家理解。如果熟悉了整个流程,那么就可以很容易去构架其他的串级关节的机器人,比如构建一个四足机器人。  
Webots串级机械臂建模仿真过程-详细!   最后,如果有什么疑问,欢迎大家留言。  


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Webots串级机械臂建模仿真过程-详细!
喜欢 (0)

您必须 登录 才能发表评论!

加载中……