Intel杯赛后感想

下雪了,下的很大。一大早醒来,比原来更不想起长。这样的状态持续了一个多月,一点都不想学习,什么都不想干,只想玩,睡觉。
我知道,这一切意味着什么,我要对自己的行为买单
好像一直都在买单
初三的时候,贪玩,自大,中考挺差。
高三的时候,心不在焉,没有方向,高考挺差。
现在已是大三,仿佛又回到了过去,没状态,感觉又没动力了。
我一直在逃避,逃避着什么,不敢面对现实。

正文

该把Intel杯做一个总结了,要不然可真忘了。Intel杯做的内容就是一个家居监护机器人,主要针对的群体就是老年人,主要的功能就是包括人体跟踪,自动巡航,环境监测,实时报警,智能语音对话等等,能想到的就是这些了。

在这里插入图片描述
姑且算个大的硬件架构图
在这里插入图片描述
姑且算个软件架构图吧(因为有些只是写写,其实压根没用上)

自己负责的部分主要是机器人操作系统以及机器人相应的运动控制,还有各个模块的通信以及杂七杂八(主要是补全功能的鲁棒)

那么先说说ROS吧

ROS

机器人这个名词从小到大听过无数次,但是ROS这个词第一次听是从学长那儿说的。ROS就是机器人,这就是听到大的机器人啊。说实话那会还挺期待的,自己终于有幸整整那个了。

年初正式开始ROS操作系统的自学,没有方向,没有基础,只能去自己搞,对于我这种自学能力差的人真是折磨啊。看过我前几篇的博客都知道,光是把ROS操作系统装好我就已经费了挺大的劲了。不过还好吧,自己是学嵌入式的,知道肯定不是一下就成功的。接下来就是做了stdr那个仿真,好像也没做完,看了古月居的几篇课,就觉得自己已经入门了。那会自己连.launch文件都没看懂,就敢说自己入门了,真是太蠢了。

KINECT2驱动

败笔,最后压根没用上。
整了快一个月以及那时的全部精力,经历了显卡驱动的多次重装以及操作系统的重新安装。
kinect2一开始是想让它进行人体跟踪,跌倒检测,以及人脸识别的。卡在哪里了呢,主要是想用显卡去驱动kinect2,减小CPU的工作量,也是对视频流进行一个提速,但是挺可惜的,最后Intel给的板子好像都没有GPU,是个VPU,说实话我自己还是第一次听。
煎熬,快吐了,幸好那个时候比赛时间也没有正式定下来,自己也没太多压力,最后重装一次系统之后,再安安相应驱动就好了。

跌倒检测

跌倒检测其实还好吧,主要还是一开始没有源码,搜到的源码也不支持opencv3,最后还是硬生生去githup上找到了想要的资源。不过当时也没有做完全,当时的跌倒检测只是对一个视频进行判断处理,并不能实时的检测。

双ubuntu执行脚本程序

做了也快一个月,为什么要做这个,因为我们一开始制定的是有两个ubuntu,一个负责机器人驱动以及ROS相关的,另一个负责上层应用处理。那就牵扯到一个问题,我的实时操作的(也就是显示屏只能控制一台机器),那么我只能通过一台ubuntu去控制另外一台,因为是有qt界面,所以我不能通过向日葵等这种集成好的的应用完成,只能通过脚本解决。
脚本可以解决,但是就会有环境变量找不到的情况,具体的问题就是一些命令,压根就执行不了。那会也是费了老大的劲,才把这个问题解决了。

初稿+PPT

考试完之后就在搞跟初稿相关的,文档文档,还是文档。画图,画图,又是画图,真的头大。我承认自己的文字功底实在是差劲,但是改上个十多版自己还是接受不了,不过为了比赛的顺利参加,忍受这种痛苦还是值得的。就这样喽,七月的最后几天,顺利的把报告给交了。也给自己放了两天小假(什么都没干,就是玩,就是休息)

返校

返校的前几个周过的很安稳,知道初赛过了,我内心暗自狂喜,想着终于稳了。当时主要干了啥呢,一是机器人移动驱动要真正的在底盘上跑了,二是当时仿真的东西也要真正的去实现了,一开始想着很简单,轻轻松松就能解决,但实际上和一开始做小车遇到的情况一样了,软硬结合是真的麻烦。小车的移动驱动实际是上是有的,包括PID等,但当时自己并不了解ROS移动驱动的过程。网上当时大部分大的例子是想pid这种计算都是在上位机进行的,而我们使用现有底盘的驱动实在stm32实现的,可当时不明白,并且没有上位机代码。年轻的我当时竟想手撸代码,走了不少弯路,最终还是问淘宝客服要了一份。
要到后我真的欣喜若狂,终于,要解决了(因为移动是最基础的一部分,如果这部分都搞砸了那机器人都跑不了)
但是最让我想不到的是,在有源码的情况下,在整路径规划这里也遇到了很大的问题

串口通信

串口通信之前也搞过一点,但是像上位机发送数据到stm32以及从stm32发送数据返回给上位机我还是第一次见,首先一般的串口通信函数会有数据缺失。为了解决这个问题,我在网上找了其他历程,但是定义的数据格式是和现有数据格式冲突,所以我还改了部分数据格式才解决了这个问题,中间经历还挺坎坷的,不过和后面那个比真的算还好

路径规划

问题算是比较常规的问题,并且在有源码的情况下,我,gys,快被整崩溃了。我不知道别人精神压力的最大承受值,但是那时我真的快快崩溃了。
问题是这样,用的TEB路径规划算法,一开始机器人不停进行恢复行为,即一直在打转。对于小白的我(应该说一路上我一直都是小白)真的百思不得其解,做嵌入式要考虑全面,我的第一想法出现了很多。会不会是通信又有问题?雷达检测到机器人本体了?路径规划的参数设置问题不对?(自己开发的机器人比淘宝给的机器人要重,并且高度亦不相同,雷达位置也不相同)全局路径规划参数?局部路径规划参数?RVIZ小车模型不对?
去查报错的问题,搜出的问题牛头不对马嘴。但还是得搞啊,上啊。
一个一个排除吧,中间又过了通信,雷达原理,以及路径规划原理,
最后发现了很多错误:1.雷达安反了2.淘宝给的文件多执行一个脚本,在执行脚本时,机器人发生错误(但并不会报错,最搞笑的是它是原点和目标点不断来回走,我一开始真没看明白)3.机器人太重,到达目标点会滑行。
有天晚上还是没思路,距离出现问题已经过了两周,并且还有两周就要交作品了。熬了一晚上,还是没结果。想想自己返校两个月了,给家里也没打过几个电话,最后还是给老妈打了。中间我也像老妈诉苦,她说做不出来就别弄了,不至于。但我知道都到这了,我可不止只有我一个人,只能苦笑了。老妈还说了这段时间她在学校的生活,以及老哥老爸。没崩住,还是哭了,一个人坐在楼道。想起了很多事,自己做错了很多事,自己选择了很多事。虽然很后悔,但是我知道我得为自己的行为买单了,并且不能有一丝抱怨。
就这样我忍着声哭完了,挂了电话,面对的还是一片黑暗。
文老师也发现我不对劲,大概知道我这块实在没学过,最后还是找了辛慧老师(虽然很敬佩,但我实在不想见他,我不想让别人看到我不行的一面)。同样和我是一样的小白,他却选择我一直在逃避的东西,直接上源码,看源码(我一直不想面对的东西,一是想到可能有复杂的公式就烦,二是源码没备注,三是自己没学过C++)
最后找出来是因为py脚本的问题,但可惜我们都不知道怎么解决。辛慧老师走后,我还挺不争气的,搞了一两天都没解决。最终,时间节点来到了国庆前,我真的要急疯了。又通宵了一晚,五点测试完没成功后独自发呆,七点多的时候在楼道打转,最后突然想到明朝那些事,朱棣进京时,一直被卡着。不过,老和尚(我也忘了叫啥)告诉他,直接绕过去,打京城。确实,我直接把脚本删了,不让他回原点不就好了,果然,成了!
没有自豪,没有开心,没有解脱,剩下的只有侥幸。(中间很多次以为问题解决了,但是解决之后又出现了一个新问题,头大)
虽说解决了,但后面还有一大堆工作,自己不敢有丝毫松懈。

其他

中间整了一段手环,也给我整懵了,esp32向上位机通过wifi发送数据,玩了玩那个函数,整了整,问题也有,不过相较于其他的自己还能接受,最多一下午就能解决。然后就是联调,时间已经来到比赛前三天,我们才开始联调,也发生了很多麻烦。不过还好,当时已经习惯了,与我而言,昼夜都无所谓了。我拿出所有劲,去整那个。

比赛

最后真是刺激,比赛前的一个小时,所有功能联调完毕,我们也终于松了口气,吃了个早饭。
最后,比赛开始了,以下是事情的所有经过。
到点了,我们组要开始线上测试了,可是我们始终都没有被拉到测试群组(现在想是因为网络原因)。直到我们在候赛区被叫了,我们才反应过来没被拉到群组,最后汇报了情况进入了群组。
我的电脑出现问题,评委老师说的话我们听不见(错过正确指示)
在进行功能汇报时,手环的电成功被放光,我们的手环没电了。
我当时带着手环,整个人都懵了,说不出一句话。最后只能强人头皮给队友说弄不了,还好学长及时让我们演示下一个功能,并让我及时给手环充电,但是我脑子已经彻底懵了。。。
接下来,数据线出问题,触摸不了,我呆若木鸡,脑子一片空白。我对队友说,不弄了,弄不了了,不弄了。(比着口型)只有超帅还在解释,解释我们的步骤,现象,原理等等。
我那个时候才回过神,自己拉大垮了。不能所有的一切,一切,都白费。我拿了手环,立马对他们说演示主要功能(关于手环),评委老师说:时间到了。别弄了。。。。。。

最终还是没弄好,我和超帅在空旷的教室等着复赛通知,可我比谁都清楚,不可能了。我躺在叠了纸板的地上,迷糊迷糊就睡着了,醒来就到下午两点。
失落吧,也有,但更多的是解脱,一切的一切结束了。

最后

我知道自己挺废物的,总是在关键时刻出岔子。可是,我唯一不想辜负的就是我的队友们,也跟着搞了大半年,也没有结果。在这里,请让我说一声,对不起。对不起,超帅。

2020.11.23

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值