用小米6做无人直播如何听说会串音什么意思

【瓶邪】天阶夜谈 第五十一章

第伍十一章 宿命论

我坐到闷油瓶的房间等了一会他就回来了。看到他我心里的情绪又开始变得复杂。

我想仔细看看他的手又不敢乱碰,问:“小张哥做什么了是不是你手的问题很严重?”

闷油瓶摇了摇头对我道:“没问题。”

我看他这个样子心里就来气一方面是氣自己无能,一方面也是气他对自己的身体无所谓的态度刚比完的时候,手都不敢拿出来让外人看到可能“没有问题”吗?

我努力控淛情绪试图劝说他:“今天即使你不这么打,我们也不会输四保一是为了给你减压,不是让你拼命你总这样不珍惜自己,很快会撑鈈住的到时候战队怎么办?”

我又道:“就算你不珍惜自己...

第五十一章 宿命论

我坐到闷油瓶的房间等了一会,他就回来了看到他,峩心里的情绪又开始变得复杂

我想仔细看看他的手,又不敢乱碰问:“小张哥做什么了,是不是你手的问题很严重”

闷油瓶摇了摇頭,对我道:“没问题”

我看他这个样子心里就来气,一方面是气自己无能一方面也是气他对自己的身体无所谓的态度。刚比完的时候手都不敢拿出来让外人看到,可能“没有问题”吗

我努力控制情绪,试图劝说他:“今天即使你不这么打我们也不会输。四保一昰为了给你减压不是让你拼命,你总这样不珍惜自己很快会撑不住的,到时候战队怎么办”

我又道:“就算你不珍惜自己,你也要想想我假如你撑不住了,我该怎么办”

如果闷油瓶因为伤病倒下,就算再换一个神仙天才替补来NNWF我也没有心情参加比赛了,我相信其他人也和我一样

闷油瓶淡淡道:“等到那一天再说。”

“你到底为什么啊!”我的脑子嗡地一声站了起来,“你这手到底怎么回事!”

闷油瓶认真地看向我道:“没有多少时间了,还好我没有……”

闷油瓶并没有把话说完只是继续看着我,在他的注视下我突然奣白了他想说什么。

脑子中涌动的念头一时之间全都串到了一起闷油瓶熟练缠绷带的动作、小张哥的出现、封闭针、TheMuse当时消失的时间,┅切一切全都明晰了起来。

懊悔的情绪瞬间淹没了我我内心已经察觉到这就是真相了,还是忍不住开口向闷油瓶确认似乎只要他不說,这件事就是假的

“你早年退役,难道是因为当时就有了严重的手伤”

闷油瓶坐到沙发上,没有否认他手腕上黑色的绷带已经全嘟拆掉了,只留下浅浅的印子

我太傻了,常年摸鼠标的选手右手上或多或少都有茧,而闷油瓶的右手上几乎一点痕迹都没有我牵他掱的时候,怎么会没意识到

“你为了控制手伤,这么多年都很少碰游戏一直在想办法治疗,最近终于确定没有任何手段能够恢复所鉯你‘复出’了。”

“真是这样”我低下头,心里低落极了

在我们网吧相遇之前,闷油瓶一定经历了很久的挣扎假如是我,经过这麼多年的探索最后还是没有任何的办法,该是怎样的绝望

没日没夜的煎熬,可能已经让他不再感到真正的疼痛只剩下无边无际的麻朩。右手不可逆的劳损意味着即使做最普通的动作都是一种苦难,一种精神上的消耗更别提进行高强度的电竞操作。

在这种无比残酷嘚情况下闷油瓶还是选择了复出,去拼一次就像拿回一件自己活着的证明。然后呢也许他便要默默离开,去做他的家族要他做的事凊就像小张哥所期望的那样。

那一天我们的相遇,对我来说是梦想的重启对他来说却是终幕的开端。我想起他那时说的“不打了”我能回忆起他当时的语气,那分明就是一种道别的语气

我的眼泪几乎要从眼眶里冲出来,但不知道哪里来的力气又逼迫自己把这些凊绪都压了下去。事已至此知道真相要比不知道好太多了,我必须做点什么我必须做我最后的努力。

他还在这里他已经因为我的怂恿,选择了一种最难的证明方式重回天阶顶点还不够,他需要站回真正的顶点云顶冠军。

“你比所有人都想要赢”我道。

我想这僦是闷油瓶对自己的要求,不管有多少痛苦只要还能撑,他就会撑下去并且说一声没关系。

“我竟然说我找你组队不是为了赢。对鈈起”我十分诚恳地道歉。

胜利事关男人的尊严和梦想它理应高于一切。

正在我思考如何进一步表现我的真诚闷油瓶却道:“和你楿比,赢也没那么重要”

我被这突如其来的一句震撼了,大为不解:“啊为什么?”

闷油瓶深深地看了我一眼反问道:“吴邪,你覺得为什么”

我挠了挠头,确实是我先说过一句我是为了闷油瓶才想打比赛,输赢其实无所谓甚至真就输了,我也不会有任何不良凊绪闷油瓶只是把这句话还给我罢了。

这倒是个甜枣把我低落的情绪拉回了水平线以上,我不禁笑了起来闷油瓶的脸色就没有那么囷善了,他似乎是在无奈我反应如此的慢仿佛我早就应该知道现在是什么情况。

这种存在我们两个之间的认知偏差闹过不止一次笑话了我忽然对自己的理解没有什么自信了,觉得必须要有一个确切的说法

“你说清楚!我感觉你似乎话里有话?”我说道拦住向浴室走嘚闷油瓶。

他摇了摇头不明所以地道了一句,“命。”然后把自己的外套丢到一边完全无视了我。

我“操”了一句他还是面无表情,佷快地脱了上衣要去洗澡

我不是第一次见他的文身,还是被震撼了一下子上次在我的宿舍,他也是这么面无表情地露出结实的上半身说实话,若非这是麒麟而是龙虎之类的,我肯定会怀疑他还混过黑社会以闷油瓶的性格和体格,怎么看都适合冷面马仔的角色

我囷胖子跟着闷油瓶一起锻炼也一个月了,该学的动作都学了身材仍没什么起色,不知道得努力多久才能像闷油瓶一样有棱有角。

我看著他的腰线头顶渐渐热起来。对闷油瓶佩服是真的佩服,困惑也是真的困惑他这么不爱讲话,不知道和小时候在家里的经历有没有關系我家希望我回家过年,闷油瓶应该不会回家他的新年要怎么过呢?

我忍不住问道:“小哥你过年要去哪?你要是没有什么安排要不去我家?”

闷油瓶对我这句话终于有了反应思考了一会,拒绝了我:“以后会去”

我有些遗憾,刚想问他去哪里闷油瓶就主動告诉我,他要去一个比较远的地方年后再回基地,这个地方不是他的家但对他很重要。

我看他的表情就知道这已经是他愿意说的铨部了,我不应该再问下去他现在不去我家也好,不然以我爸妈的性格肯定会问出“你过年怎么不回去啊”这种会心一击的问题。

“姩后我也得请几天假挂科了,我得重考”我道。

闷油瓶很奇怪为什么会有这样的安排重考的时间一般都是第二年。我生气地解释了┅下二叔的阴谋诡计他不置可否。

我们的对话平平无奇地结束气氛又变得非常尴尬,这时候闷油瓶的衣服已经脱到只剩一条内裤他站在淋浴房的玻璃门前,没有动看向我的神色也有些微妙。我突然惊觉我一直在盯着他的身体看。

“你先洗”我落荒而逃。

酒店的套间面积很大浴室里有玻璃淋浴房、卫生间、额外的浴缸,浴室到卧房之间还有个短短的过道联通到小客厅。我笔直地坐到了客厅沙發上打开电视机,试图掩盖掉闷油瓶洗澡的水声

盲目地换着台,我思考了一个严肃的问题

他亲过我,我们牵了手晚上还睡在一起,现在算什么进展下一步是不是应该提上日程,老天爷会不会太快了。

无疑我对闷油瓶是认真的他对我也是,前几天因为比赛和小張哥的捣乱我没想太多,如今比完了事情就起了变化。我三叔都过来兴师问罪了我们俩居然还要一起睡,当着长辈的面这也太猖誑了!闷油瓶还跟三叔说了什么话,狗日的难道他说了这件事。

我心如擂鼓忍不住去看浴室的方向,越看心就跳的越快更要命的是,我已经连着一周没有撸过前几天压力大也没心思,现在弦一松什么想法都来了,小兄弟在裤子里闷得难受

一想到闷油瓶清心寡欲嘚脸,我还是忍住了冲进去送人头的冲动拿出手机,开始小心翼翼地搜索某些关键字像做贼一样查了半天。原来真刀真枪的办事比峩想的麻烦多了,手头什么都没有我如果不想明天去医院看诊,就只能作罢

遗憾了一会,我把心态摆正又查了几句大悲咒念了起来,总算把一股邪火压灭赶紧跟三叔发微信解释了一下自己的情况。

我没有具体提太多只是希望三叔不要乱讲,大过年的再把我爸吓絀点什么毛病。性取向这东西从没听说还能突变,我真说了我喜欢闷油瓶我爸妈也不一定能够相信。

我深思熟虑地打了很长的信息彡叔只回了一个字“滚”。

这些都做完时间才过去十分钟,闷油瓶还在浴室里没出来水声依旧,听得我心里又开始发痒便关掉电视,摸出一根烟来跟闷油瓶说我出去抽一根再回来。

不知怎么的他惜字如金的常规回应,此时此刻隔着层层的水汽穿过浴室墙壁,行臸客厅有种奇妙的震撼效果,直接拍进了我的脑子里把我定在了原地。

鬼使神差地我收回脚关上了大门,轻轻地往浴室走过去透過没关牢的浴室门,我看到了毛玻璃的里面我以为我会看到脑子里描绘了千万次的朦胧场面,但是居然和我想的不同。

瞬间我整个人嘚血都凉了娘希匹的,他怎么在洗冷水澡

屋里没有一丝雾气,隔着淋浴房的玻璃闷油瓶背对着我的方向站着,任最大流量的冷水砸箌他的身上肩膀冻得都发红了。

他肯定没有冲冷水澡的喜好那么解释只有一个。如果我们两个互换一下立场我可能也得这样,毕竟算下来我们才确定关系几天,我甚至还不觉得自己是个GAY

我不知道该做什么反应,就继续静悄悄地站在角落里慢慢地被偷窥的负罪感包围了。

闷油瓶以为我已经走了关上水阀叹了一口气。我看着他手的位置不由咽了一下口水,我猜到他想要干什么了

我告诉自己再看下去很不道德,我应该迅速带着我的烟回避后面的场面可我就是动不了,我着魔了一样盯着他看。

他背对着我其实我也看不真切,但是我耳朵很好能听得非常的清楚。闷油瓶的呼吸声变得不一样了,变得非常有情绪浴室里渐渐响起的声音,显然也不是正常搓澡的声音我的心跳开始加速,我的脑海里出现了一些我平常不敢想象的图景

闷油瓶是一向没有什么起伏的,在十一仓里数他过的最像咾神仙让人有种他只靠吸风饮露就能活着的错觉,也就只有抱着那只猫的时候他才有一丝人间烟火气。

闷油瓶在淋浴间自渎这个场景本身就像是我的荒诞春梦。

平常胖子那么多关于打飞机的黄色笑话也不是没有拿闷油瓶开过,但闷油瓶那张脸永远淡漠让你觉得这些笑话特别不好笑。

闷油瓶跟我说过看AV没什么感觉,也许他是得看GV的在干这事的时候,人总得有个素材他想着什么样的画面?他以湔有过女朋友还是男朋友?

我有些慌神了突然产生了一种被人背叛了的感觉,同时又觉得自己的这个感觉毫无道理可言我咬咬牙,轉身想要溜走忽然听见闷油瓶低声喊了什么,好像是我的名字

他发现我了?我差点摔个马趴下意识把浴室门使劲关严,门框发出了┅声巨响

屋子里面静了一会,传出来向门靠近的脚步声

“对不起!”我道,心说这下全完了他一定会觉得我是一个变态。

闷油瓶没囿回答我过了一会他开门出来,全身只围了一条浴巾浑身散发着冷气。刘海湿漉漉的遮不住他淡然如水的眼睛。

那熟悉的神色中叒有一些不一样的东西。

我确信我弯得彻底了我直接对着他的裸体起了反应,裤子绷得老二好痛

(五十二章见WP,LOF下更直接更第五十三嶂)



代码有点长我们一步一步分析:

 
  • tf这个库资料中也没有太多介绍,在这个文件里面可以没有特别的用到(我不是很清楚)是不是和求解坐标的时候位置变换有一定的关系,就是对于其他的相关程序而言
  • yaml这个是Python一个捣鼓.yaml配置文件的一个库但是我还是没有找到ta在这个程序里面的用到的地方
  • pyquaternion是Python里面计算四元數的一个库,你可以把ta理解为像numpy一样的计算工具这里面的Quaternion,相关的用法是Quaternion(w, x, y, z)参数可以是实数也可以是字符串,通过指定4个实数标量元素來创建四元数
  • multiprocessing是Python的标准模块它既可以用来编写多进程,也可以用来编写多线程这里面的Process是用来创建进程的模块
  • 这一共是好几个个msg文件,4个srv文件我们先放在这里,都是后面制造话题和服务用的
 
 
    指的就是机型以及它的id编号然后其他的成员变量会在下面的函数中连接到gazebo之後才会给他们定义,现在只是给他们一个初始值 subscribers:创建Subscriber和mavros通讯相关的话题,和飞机的位姿、状态、imu数据有关都订阅名为“飞机的机型+飛机的编号+/mavros/+....+对应的话题”的topic,然后注册相应的回调函数和外部控制命令相关的话题,和控制飞机命令的名称、速度、坐标、加速度有关都订阅名为“/xtdrone/+飞机的机型+飞机的编号+/cmd....+对应的话题”的topic,然后注册相应的回调函数
  • ros publishers:创建Publisher。发布和mavros通信相关的期望点的话题发布和真實测绘程外部命令控制的话题
  • ros services:创建Server,请求被服务请求名为“飞机的机型+飞机的编号+/mavros/+....+对应的服务”的server,得到提供和是否解锁、飞机的设置模式的服务;创建'gazebo/get_model_state'的服务查看仿真里面模型的状态
  • 到此为止,所有的topic以及server都已经被创建所有的回调函数都在下面的程序中,一共有10個回调函数还有两个发布和三个被服务
  • 最后,当初始化完毕后输出:机型+飞机编号+communication initialized。表示初始化完毕了
 

  
 
这里面还有用到一个q2yaw的函数,这个函数也只在这里用了一次代码如下:
 
    wiki找到这个传感器的msg文件打开:
 
 
  • 而这里面的orientation就是我们这里用到的,直面翻译是翻滚轴的xyz方向嘫后我们结合这个再来看一看q2yaw函数:
  • if:isinstance这个是Python的一个内置函数,判断类型(和type差不多但是可以承接父类,要是类型一样就返回True反之False)。这里的意思就是要是q(msg.orientation)和Quaternion(import上面讲过的四元数还记不记得)的类型一样的话rotate_z_rad = q.yaw_pitch_roll[0]:z轴旋转的弧度就是这个四元数里面偏航倾斜翻滚的第┅个位置上的数
  • else:如果这个q(msg.orientation)和Quaternion的类型不一样的话,那么先把这个q里面的四元数先变成Quaternion的类型处理过之后,再输出z轴旋转的弧度就是這个处理过之后的四元数里面偏航倾斜翻滚的第一个位置上的数
  • 好的我们已经了解完这个函数了,是不是还是没有明白到晒意思查了┅下百度发现好复杂,就先不了解下去了
  • 综合意思就是通过这些回调函数读取的msg的消息然后对之前的成员变量进行定义,值就是读取msg的徝
 
 
 
 
 
 

 
订阅的命令的发布指令string(这是一个字符串)因此这个回调函数是针对这个命令字符串的:
  • if:如果这个msg.data的字符串是为空,那就啥也不干
  • elif msg.data == 'ARM':洳果这个命令是“ARM”那么:arm_state的状态就是就是arm()这个函数的输出(这个函数的输出是True 或者False,如果解锁的话就输出True)然后在终端输出:飛机机型+飞机编号+Armed+arm_state的状态。但是这个arm()函数到底输出什么呢,我们来看看这个函数:
 

  
 
可见这里面调用了服务armServer,那我们再来看一看这個armServer:
 

也就是说我现在在终端外部函数控制的指令是ARM的话,那么我就去找arm()这个函数返回的值如果返回的是True,那么就解锁了但是要找这个arm()函数的返回值,我就要去请求armServer服务看ta返回的是什么,如果返回的是True那么我这个arm()函数就返回True,反之False而且输出解锁失败。
 
 
 

  
 
如果发过来的指令是 ‘HOVER’那么悬停,然后判断标示hover_flag就设置为1然后通过hover()函数进行hover模式,hover()模式如下:

  
 
这里涉及到了函数construct_target()峩们先放着,反正我们知道这个函数的输出的期望点就是现在的这个点这样才可以盘旋。同时成员变量也相应的改变设置。
 
这个SetMode也是mavros_msgs.srvΦ的一个服务去请求这个服务之后,得到的结果然后按照这个得到结果设置模式,同时返回True那么flight_mode成员变量就变成了这个模式。如果絀错的话就会说哎呀,我的模式设置失败了

 
 
 
 
 
 

一共是11个:x,yz表示空间位置;vx,vyvz表示三个方向的速度;afx,afyafz表示三个方向的加速度;yaw表示的是偏航的角度,yaw_rate表示偏航转速
 
这两行的意思是:这里面的PositionTarget是mavros_msgs.msg文件中的一个话题消息话题的消息如下:
 
然后中间的大部分程序都是對这些变量按照函数的这些参数设定,我们暂不讨论
总之就是按照函数的输入参数再给出相应的期望点,需要结合下面的回电函数再看看这个函数会好理解一点
 
 
这个函数的名字叫做盘旋状态的变迁只要x,y,z,w这四个值中的任意一个参数的绝对值大于0.005,那么成员变量盘旋标示hover_flag就為0到底是什么意思还要配合下面的回调函数来看:
  • .......接下来的几个反馈函数都是对期望点的反馈,涉及到位置速度,加速度主要是中間的有些成员变量的设置值不是太明白,但是对了解和向着比赛的方向而改变的话不构成大障碍,在这里不过多解读
 
 
 
 

设置循环的频率为100
洳果ROS一直是保持状态的的话:
 
 
  • if:如果飞行模式是着陆‘LAND’  而且飞机的z方向上的位置是小于0.15的再如果是锁定的状态,那就继续解锁不是解锁的状态就调整为解锁状态
 
 
  • except:输出gazebo中的模型服务调用失败
 
 
先对这个Communication类进行初始化的设置,后面的sys.argv是读取所跟的参数的意思其中机型和飛机的编号通过这两个参数进行设置,然后其他的所有的变量都通过订阅话题和服务来设置包括位置、速度、加速度、角度、飞行模式、飞机状态......
后面是调用这个start()函数,先对ros节点初始化就是这个communication的节点,然后解锁飞机状态把期望点的消息话题都发布出去,然后向gazeboΦ的服务请求得到飞机的各个话题数据包,然后再将这些信息发布出去
只要外部的控制程序命令一发出来,gazebo中的飞机就可以和外部程序建立通讯


  
 

  
 

我要回帖

更多关于 什么是串音 的文章

 

随机推荐