Webots 机器人仿真平台(五) 新建四轮小车模型

新建机器人模型

  • 1 添加机器人本体
    • 1.1 添加Body
    • 1.2 添加机器人轮子
  • 2 添加距离传感器
  • 3 小结
  • 参考资料

下图为我们这篇博客创建的小车效果,接下来我们一步一步的实现在webots中搭建一个四轮小车模型。
Webots 机器人仿真平台(五) 新建四轮小车模型_第1张图片

1 添加机器人本体

1.1 添加Body

首先我们随便打开一个环境模型,这里我打开了一个 “e-puck_line.wbt” 世界模型,该模型中已经包含有一个 e-puck机器人模型,我们在此基础上新建一个四轮小车模型。
step 1:添加一个机器人模型变量
Webots 机器人仿真平台(五) 新建四轮小车模型_第2张图片
step 2 :在机器人变量模型中的 “children” 属性中添加一个 “shape”节点,并设置该shape节点的 appearance 属性和 geometry属性,其中geometry属性设置为box
Webots 机器人仿真平台(五) 新建四轮小车模型_第3张图片
Webots 机器人仿真平台(五) 新建四轮小车模型_第4张图片
Webots 机器人仿真平台(五) 新建四轮小车模型_第5张图片
这样就可以看到环境中多了一个立方体了。这里我们可以通过修改shape的外观参数(appearance)修改立方体的颜色。外几何参数(geometry)处设置长宽高分别为(X=0.1 Y=0.02 Z=0.5),
Webots 机器人仿真平台(五) 新建四轮小车模型_第6张图片
step 3 :把Shape节点宏定义为Body,并设置Robot的 boundingObject属性为刚刚定义的 Body ,最后设置 Robot 的Physics属性。
Webots 机器人仿真平台(五) 新建四轮小车模型_第7张图片

1.2 添加机器人轮子

step 4: 在机器人变量模型中的 “children” 属性中添加一个 “HingeJoint” 节点,并设置该HingeJoint节点的 jointParameters属性,然后设置device属性为 RotationalMotor),在endPoints属性中添加一个 "solid" 节点Webots 机器人仿真平台(五) 新建四轮小车模型_第8张图片

step 5: 对刚刚新添加的 "solid" , 在“children” 属性中添加一个 “Shape” 节点设置外观和几何属性(几何属性为圆柱体 Cylinder)设置半径为0.03 高度为0.02 , 设置完以后将这个shape宏定义 "Wheel"
Webots 机器人仿真平台(五) 新建四轮小车模型_第9张图片
Webots 机器人仿真平台(五) 新建四轮小车模型_第10张图片
Webots 机器人仿真平台(五) 新建四轮小车模型_第11张图片
step6: 在HingeJoint->endPoint这个节点中的boundingObject属性设置为我们刚刚宏定义的Wheel形状,并设置physics属性,将物理属性宏定义为 physics_wheel
Webots 机器人仿真平台(五) 新建四轮小车模型_第12张图片

step7: 最后我们设置轮子的位移变换和旋转变换,第一个轮子的位移变换我们是设置为(translation x=0.06 y=0 z=0.08),旋转变换设置为(rotation x=0 y=0 z=1 angle= 1.57 rad)。将这个HingeJoint宏定义为 "WHEEL1" 这样我们就新建好了一个轮子了。(轮子的颜色可在step5中定义的shap中进行修改)
Webots 机器人仿真平台(五) 新建四轮小车模型_第13张图片
step8: 这样重复四次将其余四个轮子新建好就行,然后把四个轮子分别命名为。(可以直接选中 HingeJoint 然后利用 Ctrl+C 和 Ctrl+V)
Webots 机器人仿真平台(五) 新建四轮小车模型_第14张图片
这里我们还需要将左前,右前,左后,右后的 RotationalMotor 参数中的name(名称)分别设置为:wheel1 wheel2 wheel3 wheel4,这个是我们为我们之后建立控制器做准备,因为我们在控制器中设置电机的速度我们需要通过这个名称来访问每一个电机,设置电机的速度。
Webots 机器人仿真平台(五) 新建四轮小车模型_第15张图片
step9: 最后一步,也是最重要的一步,我们要设置每个电机转动的轴,针对每一个轮子,如果不这只该参数,会出现的现象就是机器人的轮子“乱飞”。设置HingeJoint->jointParameters 中的 anchor 和 axis,其中axis表示绕轮子的哪一个轴转动,anchor 表示绕转动向量的位置。这 axis 四个轮子都一样,anchor 为每一个轮子的平移向量。
Webots 机器人仿真平台(五) 新建四轮小车模型_第16张图片
这样小车本体就新建好了,接下来我们在这个车体上增加两个距离传感器

2 添加距离传感器

在机器人变量模型中的 “children” 属性中添加一个 “DistanceSensor” 节点, , 在“children” 属性中添加一个 “Shape” 节点设置外观和几何属性(几何属性为圆柱体 Box)设置尺寸为0.01 , 设置完以后修改translation参数(translation x=0.03 y=0 z=0.1)。然后重复放置一个在右边位置。

Webots 机器人仿真平台(五) 新建四轮小车模型_第17张图片
Webots 机器人仿真平台(五) 新建四轮小车模型_第18张图片

最后修改右边的传感器的名称为 “ds_right” 左边的距离传感器名称为“ds_left” 这个也是用在控制中访问距离传感器时候用的。
Webots 机器人仿真平台(五) 新建四轮小车模型_第19张图片
Webots 机器人仿真平台(五) 新建四轮小车模型_第20张图片
这里需要注意一点,距离传感器的X方向(红色箭头的方向应该指向前方)
Webots 机器人仿真平台(五) 新建四轮小车模型_第21张图片
最终生成的模型文件可在此处下载

3 小结

这张图其实就是创建一个简易机器人的模块框图,我们上诉安装的节点基本是按照以下这个框图来进行设置和添加的。
Webots 机器人仿真平台(五) 新建四轮小车模型_第22张图片

参考资料

[1] https://www.cyberbotics.com/doc/reference/motion
[2] https://cyberbotics.com/doc/guide/tutorial-4-more-about-controllers?tab-language=c
[3] 模型文件下载: https://download.csdn.net/download/crp997576280/12346936

如果大家觉得文章对你有所帮助,麻烦大家帮忙点个赞。O(∩_∩)O

欢迎大家在评论区交流讨论([email protected]

上一篇:Webot机器人仿真平台(四) 机器人基础控制器 下一篇:Webot机器人仿真平台(六)新建四轮小车控制器

你可能感兴趣的:(ROS,Webot,webots,webots仿真平台,机器人仿真,ros仿真,ROS)