# 【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第48课-可视化控制机器人

使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角游览3D场馆),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!并且支持使用内置的poplang智体编程语言实现3D组件的智能化编程——语法超简单,一句话语法,人人轻松上手!

下面分为几步介绍,如何基于dtns.network智体世界引擎实现3D可视化控制机器人——通过使用3D纪念馆的滚动球控制系统,实现机器人的前进、左转、右转、后退。并通过webrtc的实时视频功能实现了实时的机器人视野的回传,从而实现了一个开源的5G机器人底盘(整个硬件成本为平衡车678元+手机支架10元共688元)。

为了实现机器人的滚动球控制,我们针对滚动球的事件3d_move进行订阅,然后对3d_move_event的turn转向和forward数值进行了判断,以判断是前进、后退、左转或右传。最后通过调用/rtphone/robot/action?action=left(right、move、back)的dtns-api实现了adb-call的PC端的调用——控制了手机蓝牙app控制平衡车机器人底盘进行各种动作。并且使用$.g_3d_show_rtcchat chatid在3D场馆上方实现了实时视频聊天功能,以便接收机器人的实时视野画面数据,从而实现可视化控制机器人的行动。

# 第一步:打开头榜页面,找到3D纪念馆xverse轻应用

1.png

注:找到标题为“可视化控制机器人”的xverse轻应用。

# 第二步:点击右上角...进入头榜编辑器

2.png

注:因为每一个xverse轻应用均是以xverse.json的方式进行源码级应用的分享的。故每一个社区用户均可通过编辑xverse轻应用源码来实现DIY和定制。

# 第三步:点击正面的“编辑xverse轻应用源码”,进入3D场馆编辑器

3.png

注:点击3D场景中间的avatar的3D对象,在右侧的属性面板中找到脚本-编辑。

# 第四步:编辑墙体avatar玩家3D组件的poplang代码

4.png

注:首先监听了3d_move事件,对3d_move_event的forward前进和turn转向数值进行判断,如果forward数值比turn大,并且大于0的情况下,进行前进或后退,否则进行转向操作(如果数值均为0,则无动作)。在goNow和turnNow中进行了相应的正向和反向判断。最终调用/rtphone/robot/action?action=left(right、move、back)的dtns-api实现对PC控制端的adb-call的指令调用,以实现蓝牙app控制平衡车的行动。最后一行代码为$.g_3d_show_rtcchat在3D场馆上方显示视频聊天窗口,以实现机器人实时画面的显示(实现了机器人的远程控制和视频回传)——行者机器人因此诞生。

如下图所示:

5.png

# 第五步:点击顶部菜单“文件”推送头榜(作品),将此3D纪念馆以xverse轻应用方式分享给其他用户

6.png

# 第六步:将新的头榜标题设置为“可视化控制机器人”,点击右上角确认完成头榜发布

7.png

注:标题为xmsg,不能误删除“”双引号,否则会发布失败——仅修改xmsg属性的文字内容即可。

# 第七步:找到刚发布的xverse轻应用头榜,点击进入3D场景游览器

8.png

注:轻轻一点击,即可进入体验刚发布好的xverse-3D轻应用(智体应用),我们相当于可以无限地分享和裂变这个开源的3D轻应用(智体应用)。这样大家便可以按自己的需求,轻松的修改和定制这些动画的源码模板了。可以形成自己的故事、自己的动画、自己的3D场馆、自己的3D互动剧情等等。随心所欲地发挥,所以智体世界、智体OS也相当于【元宇宙】【开放世界】!

# 第八步:进入3D轻应用后,我们控制底中部的滚动玩控制机器人移动,同时可看到实时视频画面也相应的变化

9.png

注:先点击开始视频聊天(以实现机器人的实时画面回传)

10.png

注:移动滚动球,看到视野发生了真实的变化(实时画面),如上图和下方2图所示:

11.png

继续使用滚动球控制机器人前进方向(如下图所示)

12.png

注:我们看到滚动球位置发生变化的同时,机器人亦前进了(实时控制机器人)

通过上8步,我们成功完成了通过3D场馆中的滚动球控制系统实现了机器人行动的可视化控制。这大大增强了3D场馆的适用场景。不仅仅是构建了虚拟3D世界的,并且可以实现通过虚拟控制系统(3D玩家的滚动球系统),实现了对真实世界中机器人的实时可视化远程控制——打造了“行者机器人”开源机器人底盘系统(硬件成本不过千元)。这使得3D智体编程的场景大大丰富了,并且通过虚拟与现实的交融,促进了虚拟世界与现实世界的联动进化发展!智体化数智体所能看到的一切,无论是真实世界的或者是虚拟世界的!

我们也看到了poplang智体编程语言的强大能量,一两行简单的指令,即可完成复杂的3D互动的交互效果、音效效果的开发。并且通过xverse-json源文件(3D轻应用)的方式进行社区分享,使得开源开放、公开透明的3D场馆的设计,能被大家更多的学习和继承,达到互动学习、互动成长的目的。这也是智体OS、智体互动式教育-学习的目标。

注:dtns.network德塔世界(开源的智体世界引擎)是在github和gitee上开源的项目!

# 开源地址:

github地址:https://github.com/dtnsman/dtns (opens new window)

Gitee地址:https://github.com/dtnsman/dtns (opens new window)

官方文档:https://dtns.network.yunapi.org (opens new window)

加入QQ群:279931001

加入微信群:

wechat-qr (2).png