初一这天,罗平感觉脑袋里灵感不断,前面困扰了好长时间的问题,忽然之间就豁然开朗,机器人面部几十块肌肉的布置,只花了一上午的时间就设计好了。
不过,光有设计不行,还需要实际装到机器人脑袋上进行验证,仿真肌肉也需要专门的材料调制,过年期间很多东西不方便买到,也只能暂时搁置。
硬件暂时做不了,那就研究软件。
先前在学校里和陆伟调试机器人,半个多月的时间,罗平对于c语言基本运用也算熟悉了,尤其是那些动作函数的设计思路,如何叠加,如何设置参数,如何发挥作用,他是已经知道是怎么回事。
机器人每根骨骼形状,每一根代替肌腱的钢丝都是出自罗平的设计,他亲手组装起来,没有人比他更了解机器人的身体,现在对底层动作函数又有了深入的了解,他觉得可以自己设计一套不同的驱动程序。
陆伟把动作函数编写的很精确,每个动作分解步骤,每根骨头如何驱动,动作时间,动作行程都能通过参数精密控制,可以把机器人的每一分力量都发挥出来。
正是由于这样的编程思想局限,陆伟编写的驱动程序对错误容忍度很低,总想做出能效比最高的动作,每个动作都控制的很精准,这也导致了机器人只能亦步亦趋,在特定场景下行动没问题,环境变化稍微大一点就难以适应。
罗平想换一种程序思路,在陆伟这套动作函数的基础上,编写一套容错率高的驱动程序,回归到他最初的构想,通过游戏手柄简单的指令,普通人也能很轻松的上手操作机器人活动。
这样的驱动程序,需要采用一种截然相反的底层逻辑框架,不追求动作精准度,不追求最高能效比,容许机器人动作误差,以完成操控指令为驱动导向。
按照这样的程序思路,机器人不再是单纯的指令机器,而要有一定逻辑判断能力,必须知道什么是目标,怎么样才算达成指令,有了这些判断,才可能以结果为导向。
想要机器人识别目标,现有的摄像头,麦克风,陀螺仪等感应装置都应该发挥作用,不像现在大部分时间都是摆设。
陀螺仪只涉及到几个简单的信号反馈,判断相对容易,声音以及图像包含的信息量就太大了,如何提取有效信息做出判断,好像并没有那么容易。
罗平在网上搜集相关的信息,顿时感觉无比头大,图像识别是当前人工智能领域最热门的研究领域,还搜出好几篇论文概要,当前主导研究的都是世界顶级大公司,投入的资金数以亿计,还需要海量的图像资料和算力支持,根本不是他所能涉足的领域。
去年最轰动的事件,就是古哥公司的团队用一点六万台计算机组网,构建了一个庞大计算机神经网络系统,用一周的时间调用海量视频进行训练,最终成功的让这个智能网络花费三天时间,在一千万个视频中,识别出与猫相关的视频。
这个看似搞笑的研究成果,据说开启了人工智能的新纪元,证明了只要算力足够,程序也是可以自主学习的。
罗平知道十几年后人工智能发展到什么程度,那也是此后无数精英接续努力,海量资源堆砌出来的成果,让他一个没资金没技术的外行参与其中,那就有点异想天开了,距离人工智能的研究门槛都不知道还有多远。
视频识别难度太大,罗平不觉得自己一个人能逆天,只好暂时放弃,声音识别倒是还有些可能,当前已经有中文语音识别的软件出现,如果能借助这个技术,倒是可以让机器人通过声音识别语音指令。
进一步搜索语音识别相关信息,罗平没有找到免费共享的代码,只有需要授权的软件,还不能马上拿过来使用。
声音和图像信息都不能使用,机器人最后能依赖的只有陀螺仪、模拟触觉的压力和温度传感器了。
这些传感器价格相对便宜,附近的电子市场可选种类很多,罗平早就买了一批不同型号的回来,准备后续给机器人做皮肤的时候加入进去实验,现在看来,信号简单的传感器反而更可靠。
如果只考虑让机器人执行命令,好像也可以简化判断能力,不需要那么多逻辑思考,甚至都不需要外界感知,有陀螺仪能识别自身状态就够了。
只要能机器人还能动,前进就一往无前,跌倒了还可以爬起来继续前进,站不起来向前爬也行,没有思考能力也不用担心失控的问题!
最好有个磁力计,确定东西南北的方向,这样不至于摔一跤就找不到北了。
还可以加一个卫星定位装置,能更精准的定位自身位置,方向更准确。
确定了整体思路后,罗平开始琢磨控制机器人需要哪些必不可少的指令,太多了游戏手柄难以控制,指令越少意义越模糊,得找到最佳平衡点。
四个方向键必不可少,还要有模式切换,普通模式,战斗模式,工作模式或者其他的模式可以快速切换。
不同的模式,功能键对应的功能必不可少,动作相关的走路、蹲、跳、爬行也必不可少,转向、抓头可以用组合键方式实现。
罗平设想的这些控制指令,有的陆伟他们先前的程序已经有了,有的还没有写,不过即便以前完成的那些,也需要重新修改,目前陆伟修改完成的也就是一些简单的动作,只实现了最基本的功能,还需要通过笔记本下达指令,以便随时进行修正,属于调试版本。
现在确定新的思路,罗平的最终目标是用最简单的游戏手柄,实现对机器人的操控,可以让机器人发挥大部分功能。
由于硬件基础所限,机器人不具备外界感知能力,只能通过传感器确定自身部分状态,相当于一台纯粹的动作机器,动作纠错能力全部来自程序预设的逻辑判断。
陆伟几个人先前的工作,主要就是把机器人一百多个可控制的骨头都编写了动作函数,每个函数还有多个可调参数。
有了这些动作函数为基础,罗平要做的就是为每个操作指令选择对应的动作函数,设定起始时间、动作幅度、循环次数、动作类型等等初始参数,确保每个指令都能正确执行。
陆伟原先的思路也没错,只是在罗平看来过于死板,只能应对理想状况,环境稍微复杂一点就不能应对,不符合他的要求。
他们的代码写的很规范,罗平不需要完全从头开始,就在他们的代码基础上修改,加上自己设定的逻辑判断语句,写起来就很快。
罗平全身心投入进去,午饭都忘了吃,直到大门轰隆轰隆被砸响,他才从那种聚精会神的忘我状态里出来。
拿起一边的手机一看,已经下午五点多了,他为了防打扰,手机开启了飞行模式,估计是罗娜电话没打通,找上门来了。