webots自学笔记(一)软件界面和简单模型仿真

webots自学笔记(一)软件界面和简单模型仿真由于毕设研究需要使用webots软件,在学习使用webots的过程花费了很多时间。由于这个软件基本没有什么中文资料,所以想把自己所学到的一些东西写下来,如有什么错误的地方,大家可以批评指正。1.界面

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

    由于毕设研究需要使用webots软件,在学习使用webots的过程花费了很多时间。由于这个软件基本没有什么中文资料,所以想把自己所学到的一些东西写下来,如有什么错误的地方,大家可以批评指正。

 

 1.界面介绍

 

     打开webots软件,我使用的是webots pro 7.0.3,界面大概如下,该软件是支持中文的,可以通过Tools->Prefences…选项,在General中language选项改成Chinese-中文。

 

webots自学笔记(一)软件界面和简单模型仿真

     webots自学笔记(一)软件界面和简单模型仿真

  

 

      由于语言已经改成了中文,菜单栏的内容比较简单,在帮助这一栏有用户指南(guide)和参考手册(reference),英语好的同学可以自行阅读学习,其他的在使用到的时候我们再详细介绍。

 

     在界面的左边的窗口是Scene Tree(场景树),模型和环境的建模都在这个窗口。场景树有多个节点组成,节点又可以展开新节点。红色节点可以展开或者新建,蓝色节点表示保存的一些属性参数。

webots自学笔记(一)软件界面和简单模型仿真

 

     最上面的三个节点是WorldInfo(世界信息)、Viewpoint(视角)、Background(背景),这三项是无法删除的。

     WorldInfo里面有仿真物理学的一些参数,我们一般不修改这些参数。

         basicTimeStep:这个参数,它代表仿真最小的时间单元,当它为32时,即每次仿真的时间步长为32毫秒。

         Gravity:是重力的大小和方向,xyz的方向可以看仿真视图(界面中间Simulation View)的右下角会有一个坐标系,如图没有坐标系,可以在菜单栏:查看->可选显示->显示坐标系统打开。

         Physics:搭载物理插件的参数,在后期需要用到机械上的铰链、万向节等结构时需要用到物理插件。

         其他的参数意义可以自行查看 参考手册(F4)(reference.pdf)   3.53节 WorldInfo

 

 

webots自学笔记(一)软件界面和简单模型仿真

         在场景树上有一排工具栏,前三个分别是剪切webots自学笔记(一)软件界面和简单模型仿真、复制webots自学笔记(一)软件界面和简单模型仿真、粘贴webots自学笔记(一)软件界面和简单模型仿真,这三个工具是对节点进行剪切、复制、粘贴的(PS:这个软件没有返回,操作需谨慎)。接下来是删除webots自学笔记(一)软件界面和简单模型仿真、重置webots自学笔记(一)软件界面和简单模型仿真、转换webots自学笔记(一)软件界面和简单模型仿真、新建webots自学笔记(一)软件界面和简单模型仿真、导出webots自学笔记(一)软件界面和简单模型仿真、导入webots自学笔记(一)软件界面和简单模型仿真、帮助webots自学笔记(一)软件界面和简单模型仿真,这些工具都是对节点进行操作的。

webots自学笔记(一)软件界面和简单模型仿真

      ViewPoint:里面的参数记录了你在仿真视图中观察的角度和位置,除非特殊需要,可以直接用鼠标左键右键中键点击仿真视图拖拽进行视图调整。follow可以锁定一个节点,在仿真的时候视图跟随其运动。

      Bcakground:背景颜色RGB。

      接下来的两个节点是PointLightcheckeredFloor,这两个节点是新建时自动添加的,分别是光源和地板,也可见删除自己在新建。这两个节点有位置和大小信息,可以自行修改看看效果。

 

webots自学笔记(一)软件界面和简单模型仿真

      在仿真视图上有一排工具,前五个是新建webots自学笔记(一)软件界面和简单模型仿真、打开webots自学笔记(一)软件界面和简单模型仿真、保存webots自学笔记(一)软件界面和简单模型仿真、另存为webots自学笔记(一)软件界面和简单模型仿真、重置webots自学笔记(一)软件界面和简单模型仿真(退回为保存时的状态),都是对世界模型的操作。接下来是一堆像播放的按钮,依次是单步仿真webots自学笔记(一)软件界面和简单模型仿真、实速仿真webots自学笔记(一)软件界面和简单模型仿真、加速仿真webots自学笔记(一)软件界面和简单模型仿真、最快速仿真webots自学笔记(一)软件界面和简单模型仿真(不显示画面),然后是录像webots自学笔记(一)软件界面和简单模型仿真和拍照webots自学笔记(一)软件界面和简单模型仿真,输出视频和图片。最后是仿真时间webots自学笔记(一)软件界面和简单模型仿真和仿真速度webots自学笔记(一)软件界面和简单模型仿真

 

      最右边的文本编辑窗口,也就是编辑控制器程序的窗口,这次先不介绍。

 

 2.建立一个简单的模型

 

      接下来我们建一个简单的模型,一个球自由落体,看看仿真效果。

      在建立模型时,先观察仿真时间是否为0时刻webots自学笔记(一)软件界面和简单模型仿真,不是的话点击仿真窗口重置按钮webots自学笔记(一)软件界面和简单模型仿真重新加载世界,因为仿真时间不为0是无法保存的。

      在左边场景树种点击新建webots自学笔记(一)软件界面和简单模型仿真,选择新节点的Solid(实体)。在Solid节点展开下点击children,新建shape节点,并点击shape节点,在下方DEF中输入qiu,回车,将Shape节点命名为qiu。在shape节点下点击geometry NULL,新建sphere节点。

webots自学笔记(一)软件界面和简单模型仿真

      然后仿真视图,会有个球,一半在地面上,solid节点下的translation改成(0,0.2, 0)。球完全出现在了地板上方。点击boundingObject NULL,新建节点USE下的qiu(Shape),如果USE节点下面没有出现 qiu(Shape),一般是因为之前没有给Shape节点命名。(PS:这个命名不是节点下面的name属性,name属性是控制器会用到的,命名方法是点击节点,在下方DEF中输入)。

webots自学笔记(一)软件界面和简单模型仿真

     添加好了会出现如下图的线框网格,代表这个物体的外边界,即和其他物体发生碰撞的边界,如果没有出现,在场景里点一下球体。

     然后在physics NULL中添加physics节点,这个节点下可以设置密度和质量了,默认是密度1000,质量-1,-1代表不使用质量这个属性,如果要设置质量信息,将密度改成-1,质量改成相应值就好了。

webots自学笔记(一)软件界面和简单模型仿真

 

      然后保存一下世界,预先创建一个文件夹,要创建两级目录,比如D:\webots\robot\robot,因为在后面添加控制器时,软件自动创建D:\webots\robot\controller这个文件夹,为了避免不同项目的控制器不相互干扰,所以创建一个两级目录。点击菜单栏 文件->保存世界。

      然后点击一下仿真按钮webots自学笔记(一)软件界面和简单模型仿真,就能发现球落在了地板上。这样一个简单的自由落体就完成了。

 webots自学笔记(一)软件界面和简单模型仿真

      接下来说一下用鼠标简单的移动物体。选中球体,按下Shift+鼠标左键,发现可以在水平面上移动球体。还有其他的按键如下。

      Shift+鼠标左键:水平移动物体

      Shift+鼠标中间键:铅直移动物体

      Shift+鼠标右键:沿xyz轴旋转物体,连续按下shift键,旋转轴会在XYZ依次轮换。(然后你会发现你把粘滞键按出来了,哈哈,强迫症一直按吧,开个玩笑,可以忽略)

      Alt+鼠标左键:添加一个力(仿真运行时才有反应)

      Alt+鼠标右键:添加一个力矩(仿真运行时才有反应)

 

      自己第一次发这种软件教程。这个例子比较简单,不足以展示这个软件的功能,但是这个软件确实很强大,下一次我会发一个四足机器人的模型建立、传感器输出、还有控制器的编写,大概这个样子。

webots自学笔记(一)软件界面和简单模型仿真

webots自学笔记(一)软件界面和简单模型仿真

       原创文章,出自”博客园, _阿龙clliu” :http://www.cnblogs.com/clliu/

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168213.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python语言合法变量命名规则_下列不符合Python语言变量命名规则的是??????????????????????????????????????????????????????????????…[通俗易懂]

    python语言合法变量命名规则_下列不符合Python语言变量命名规则的是??????????????????????????????????????????????????????????????…[通俗易懂]下列不符合Python语言变量命名规则的是????????????????????????????????????????????????????????????????????????????????答:3_1已经声明了一个局部变量@n,在下列语句中,能对该变量正确赋值的是(??)答:SELECT?@n=’HELLO’婴儿动作的发展相对落后感觉的发展答:正确下列哪些是昆虫的附肢(?)答:触角…

  • Tracert原理_traceroute命令工作原理

    Tracert原理_traceroute命令工作原理traceroute原理traceroute通过ICMP“超时”和“端口不可达”两种消息记录所经过路径的路由。 使用“超时”消息记录经过的路由:traceroute程序发送的数据报首部TTL字段由发送端设置成一个8bit字段。每个处理数据报的路由器都需要把TTL的值减1或减去数据报在路由器中停留的秒数。由于大多数的路由器转发数据报的时延都小于1秒,因此TTL最终成为一个跳数计数器,…

  • 中级java面试题_最新中级Java面试题及答案

    中级java面试题_最新中级Java面试题及答案1.Java的HashMap是如何工作的?HashMap是一个针对数据结构的键值,每个键都会有相应的值,关键是识别这样的值。HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到…

  • java语言算法描述_六大java语言经典算法[通俗易懂]

    java语言算法描述_六大java语言经典算法[通俗易懂]在程序员们进行编程的时候,对各种数据的处理是少不了的,java语言算法在这个时候就十分重要了。数据算法有很多种,也并不区分哪种计算机语言使用,但是有程序员们常用的java语言经典算法,下面就简单介绍一下六大经典java语言算法。一、冒泡排序(BubbleSort)1、基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。2、算法描述:(1)比较相邻的元素。如果第一个比第二个大,就交换它们两个;…

  • python进阶(8)多进程[通俗易懂]

    python进阶(8)多进程[通俗易懂]进程前置知识点进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行

  • Java和Java大数据有什么区别?

    Java和Java大数据有什么区别?单单提起java或者大数据,很多人对此都一目了然,但对于Java大数据这样一个新鲜名词,多少有些疑惑。那java和java大数据学习的内容是一样的吗?两者有什么区别呢?今天就从java和java大数据的以下方面谈谈两者的区别。Java和Java大数据有什么区别Java和大数据的关系:java是计算机的一门编程语言;可以用来做很多工作,大数据开发属于其中一种;大数据…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号