1.什么播放器可以播放mkv格式?
2.pythonå¨çº¿ç½ç«(pythonç½ç«)
3.离线怎么造句
4.ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
什么播放器可以播放mkv格式?
Media player Classic、仿Y仿BSplayer、源码源码ZoomPlayer、仿Y仿暴风影音、源码源码PotPlayer、仿Y仿爱奇艺万能联播播放器、源码源码交付源码保护机制QQ影音、仿Y仿迅雷影音等都可以播放mkv格式。源码源码1、仿Y仿暴风影音
暴风影音周年特别版是源码源码官方推出的一款特别纯净的本地播放器,它去掉了线上播放,仿Y仿还原播放器本质!源码源码专注更好的仿Y仿视频播放技术!新全新的源码源码暴风影音能够支持种格式播放,同时提升了启动和播放运行的仿Y仿速度,能够让用户享受极致的视听体验。
2、PotPlayer播放器
PotPlayer播放器是韩国Daum公司推出的一款高清视频播放器,主要特点为纯净、简洁,解码强大,是众多影视爱好者推崇的一款本地视频播放器。
3、爱奇艺万能联播播放器
爱奇艺万能联播播放器,原名(爱奇艺万能播放器)是一款轻巧、纯净的本地播放器,可以播放高清本地视频、**~无与伦比的纯,无广告!万能的视频格式支持让很多用户喜爱。爱奇艺万能联播播放新版增加了手机快传、游戏中心两个功能。
4、Media player Classic
Media Player Classic是一个模仿 Windows Media Player 6.4这个经典版本的媒体播放器,但并非基于WMP6.4改进。由匈牙利人Gabest开发,基于源代码开放协议(GPL)。根据此协议,任何人都可以自由使用这款软件的源代码,条件是使用这款软件的源代码所开发或改进的软件也必须按GPL协议开放其源代码,而软件也必须同样免费供用户使用。
5、BSplayer
从年初至今,BS.Player一直是世界上最流行的视频播放器之一。BS.Player广受欢迎的原因很多,但有一点尤其值得说明:BS.Player是第一款能让用户集中精力观看**,而完全不用担心电脑处理能力不足,也无需费神四处寻找合适的编解码器的**播放器软件。另外,它对CPU和内存的要求都不高。
pythonå¨çº¿ç½ç«(pythonç½ç«)
Pythonå¼åè¿åªäºç¥åç½ç«å游æï¼
è°·æï¼GoogleAppEngineããGoogleearthãè°·æç¬è«ãGoogle广åä¹ä¹æç项ç®é½å¨å¤§é使ç¨Pythonå¼å
CIAï¼ç¾å½ä¸æ å±ç½ç«å°±æ¯ç¨Pythonå¼åç
NASAï¼ç¾å½èªå¤©å±(NASA)大é使ç¨Pythonè¿è¡æ°æ®åæåè¿ç®ãç¾å½å®èªå±ä»å¹´èµ·æpythonä½ä¸ºä¸»è¦å¼åè¯è¨ã
YouTubeï¼ä¸çä¸æ大çè§é¢ç½ç«YouTubeå°±æ¯Pythonå¼åç
Dropboxï¼ç¾å½æ大çå¨çº¿äºåå¨ç½ç«ï¼å ¨é¨ç¨Pythonå®ç°ï¼æ¯å¤©ç½ç«å¤ç亿个æ件çä¸ä¼ åä¸è½½ã
Instagramï¼ç¾å½æ大çå¾çå享社交ç½ç«ï¼æ¯å¤©è¶ è¿3åå²æ©¡ä¸å¼ ç §ç被å享ï¼å ¨é¨ç¨Pythonå¼å
Facebookï¼å¤§éçåºç¡åºåéè¿Pythonå®ç°ç
Redhatï¼ä¸çä¸ææµè¡çLinuxåæ°çæ¬ä¸çyumå 管çå·¥å ·å°±æ¯ç¨é¡·è¡¡Pythonå¼åç
è±ç£ï¼å ¬å¸å ä¹ææçä¸å¡åæ¯éè¿Pythonå¼åç
ç¥ä¹ï¼å½å æ大çé®ç社åºï¼éè¿Pythonå¼å(Quora)
æ¥é¨å»çï¼å½å ç¥åçå¨çº¿å»çç½ç«æ¯ç¨Pythonå¼åç
é¤ä¸é¢ä¹å¤ï¼è¿ææçãéå±±ãè ¾è®¯ãç大ãç½æãç¾åº¦ãé¿éãæ·å®ãåè±ãæ°æµªãæ壳çå ¬å¸é½å¨ä½¿ç¨Pythonå®æåç§åæ ·çä»»å¡ã
æ±æ¯è¾å¥½çPythonç»ä¹ ç½ç«
éåPythonå ¥é¨é¥¥å å¦ä¹ ç5个ç½ç«
1.Pythonå®æ¹ç½ç«
ææå¨çPythonæç¨ã
2.èé¸æç¨Pythonæç¨
åºæ¬å ¥é¨çº§æç¨ï¼è¿æä¸äºç®åçè¿é¶çå³éæç¨ã
3.å»éªå³°çPythonæç¨
å»éªå³°èå¸ç²ççæç¨ç¸å½ä¸éï¼ç±æµ å ¥æ·±ï¼ç®æ¯è¿é¶æç¨ï¼ä¸æ¥æ¥æ·±å ¥ï¼åé¢è¿æä¾äºä¸ä¸ªå®ææç¨ã
4.Pythonä¸æå¦ä¹ 大æ¬è¥
è¿éæFlaskèµæå¤§å ¨ï¼å¦æä½ éè¦ï¼å¯ä»¥æ¾å°
ä½ æ³è¦çå ä¹æææç¨ã
5.github
å¸æ对å¨å¤§å¦éå¦ä¹ Python课ç¨çåå¦ï¼æè æ°æå¦ä¹ Pythonæä¾å¸®å©ã
å¦ä½ç¨Pythonæ建ä¸ä¸ªç½ç«ï¼Pythonæ建ç½ç«ï¼å©ç¨ç°æçæ¡æ¶è¿æ¯æºç®åçãå¨è¿æ»åé举ä¸ä¸ªä¾å-å©ç¨Flaskæ建ä¸ä¸ªç½ç«ã
Flask
Flaskæ¯ä¸ä¸ªä½¿ç¨Pythonç¼åçè½»é级Webåºç¨æ¡æ¶ãå ¶WSGIå·¥å ·ç®±éç¨Werkzeugï¼æ¨¡æ¿å¼æå使ç¨Jinja2ãFlaskå建ä¸ä¸ªåºç¨å¾ç®åï¼åªéè¦ä¸è¡ä»£ç å°±å¯ä»¥å建ä¸ä¸ªåºç¨ãä¸ä¸ªæå°çåºç¨çèµ·æ¥åè¿æ ·:
ç´æ¥æ§è¡pythonhello.pyï¼å°±å¯ä»¥çå°é¡µé¢å°±å¯ä»¥è®¿é®äºï¼è¿åªæ¯å®æ¹ç»åºçä¸ä¸ªç¤ºä¾ï¼æ¹ä¾¿å¦ä¹ ã
åºç¨åå§å
ææFlaskç¨åºé½å¿ é¡»å建ä¸ä¸ªç¨åºå®ä¾ãWebæå¡å¨ä½¿ç¨ä¸ç§å为Webæå¡å¨ç½å ³æ¥å£ï¼WebServerGatewayInterfaceï¼WSGIï¼çåè®®ï¼ææ¥æ¶èªå®¢æ·ç«¯çææ请æ±é½è½¬äº¤ç»è¿ä¸ªå¯¹è±¡å¤çãç¨åºå®ä¾æ¯Flaskç±»ç对象ï¼ç»å¸¸ä½¿ç¨ä¸è¿°ä»£ç å建ï¼
Flaskç±»çæé å½æ°åªæä¸ä¸ªå¿ é¡»æå®çåæ°ï¼å³ç¨åºä¸»æ¨¡åæå çååãå¨å¤§å¤æ°ç¨åºä¸ï¼Pythonç__name__åéå°±æ¯æéçå¼ã
è·¯ç±åè§å¾å½æ°
客æ·ç«¯ï¼ä¾å¦Webæµè§å¨ï¼æ请æ±åéç»Webæå¡å¨ï¼Webæå¡å¨åæ请æ±åéç»Flaskç¨åºå®ä¾ãç¨å¤ä½åºå®ä¾éè¦ç¥é对æ¯ä¸ªURL请æ±è¿è¡åªäºä»£ç ï¼æ以ä¿åäºä¸ä¸ªURLå°Pythonå½æ°çæ å°å ³ç³»ãå¤çURLåå½æ°ä¹é´å ³ç³»çç¨åºç§°ä¸ºè·¯ç±ãå¨Flaskç¨åºä¸å®ä¹ä»¿è®©æ»è·¯ç±çæç®ä¾¿æ¹å¼ï¼æ¯ä½¿ç¨ç¨åºå®ä¾æä¾çapp.route修饰å¨ï¼æ修饰çå½æ°æ³¨å为路ç±ãä¸é¢çä¾å说æäºå¦ä½ä½¿ç¨è¿ä¸ªä¿®é¥°å¨å£°æè·¯ç±ï¼
index()å½æ°æ³¨å为ç¨åºæ ¹å°åçå¤çç¨åºãå¦æé¨ç½²ç¨åºçæå¡å¨åå为ï¼å¨æµè§å¨ä¸è®¿é®p
å¯å¨æå¡å¨
ç¨åºå®ä¾ç¨runæ¹æ³å¯å¨Flaskéæçå¼åWebæå¡å¨ï¼
__name__=='__main__'æ¯Pythonçæ¯å¸¸ç¨æ³ï¼å¨è¿éç¡®ä¿ç´æ¥æ§è¡è¿ä¸ªèæ¬æ¶æå¯å¨å¼åWebæå¡å¨ãå¦æè¿ä¸ªèæ¬ç±å ¶ä»èæ¬å¼å ¥ï¼ç¨åºåå®ç¶çº§èæ¬ä¼å¯å¨ä¸åçæå¡å¨ï¼å æ¤ä¸ä¼æ§è¡app.run()ãæå¡å¨å¯å¨åï¼ä¼è¿å ¥è½®è¯¢ï¼çå¾ å¹¶å¤ç请æ±ã轮询ä¼ä¸ç´è¿è¡ï¼ç´å°ç¨åºåæ¢ï¼æ¯å¦æCtrl-Cé®ã
Flaskå¼åçç½ç«å®ä¾
æ¬ç¤ºä¾ä¸ç½ç«çç»æå¦ä¸
å¯å¨æå¡å¨çé¢
访é®WEB页é¢
æ´ä¸ªæ¯å©ç¨Flaskèªå·±æ建çä¸ä¸ªWEB页é¢ï¼æ°æ®åºè¯è¿mysqlåmongodbé½å¯ä»¥æ£å¸¸è®¿é®ãæ´ä½æè§Flaskçå¦ä¹ ææ¬ä¼æ¯Djangoä½ï¼èä¸ä¹æ¯Djangoæ´çµæ´»ã
pythonå¦ä¹ ç½ç«æ¨èï¼æ°æå ¥é¨1.Python.org
Pythonå®æ¹ç½ç«ãä½ å¯ä»¥ä»è¿éä¸è½½Pythonãéå¢ä½¿ç¨ãå¦ä¹ Pythonãå®æ¹ææ¡£èªç¶æ¯ææå¨çå¦ä¹ èµæï¼åªè¦ä½ è±ææ°´å¹³å¤ï¼å¦ä¹ èµ·æ¥åºè¯¥ä¸é¾ã
2.Pythonæç¨
Pythonæç¨ä»¥åä»¥å ¶ä¸ºä»£é¡·æ¸æ©è¡¨çä¸ç³»åä¸æPythonæç¨ãèèå°å¯è½é¨å人çè±ææ°´å¹³ä¼æ为é 读Pythonå®æ¹ææ¡£çéç¢ï¼æ以ä¸ææç¨ä¹æ¯å¿ é¡»çãç¸å¯¹äºå®æ¹ææ¡£ï¼è¿æ¹æç¨å¯è½æ´å éååå¦è ï¼ä¹æ¯è¾è½å¤å»ºç«ä½ç³»ã
3.StackOverflow
è±è¯ç«ç¹ï¼%çç¨åºåæ¥å¸¸å·¥ä½å°±æ¯ä»åæ°Googleå¤å¶ä»£ç ï¼å©ä¸ç%å°±æ¯ä»è¿ä¸ªç½ç«å¤å¶äºã
4.Django
以åå ¶ä»å¸¸ç¨çæææ¡æ¶çææ¡£ãä¸åçå¦ä¹ æ¹åä¼æä¸åçæ¡æ¶ï¼æ¯å¦tensorflowãFlaskãTornadoãRequestsãScrapyççã
5.CSDN
以CSDN为代表çä¸ä¼å½å å客ç«ï¼è¿æCTOãå¼æºä¸å½ãå客åççã
æ¨èå 个å¦ä¹ Pythonçå è´¹ç½ç«1ãPython@Coursera
è¿ä¸ªæ¸ æ©è¯¾ç¨æ¯ä¸ºä»æ¥æ²¡æ¥è§¦è¿ç¼ç¨ç人åå¤çãä½ åªéè¦å°å¦çæ°å¦æ°´å¹³å°±å¯ä»¥äºã
2ãIntrotoComputerScience@Udacity
Udacityæä¾äºä¸ä¸ªå¾æ£çå 费课ç¨ï¼å¼ä½ è¿å ¥Pythonç¼ç¨çæéåå¦ä¹ å ³äºæç´¢å¼æç许å¤ä¸è¥¿ï¼ä»¥åå¦ä½ç¼åä½ èªå·±çå°åç½ç»ç¬è«ã
3ãPythonspot
Pythonspotæ¯ä¸ä¸ªç»¼åæç¨ï¼ååäºå¾å¤ä¸åç±»å«çç¥è¯æ¿åï¼é¦å ä½ å°æ¥æåå¦è èµæºæ¥å¸®ä½ å¼å§è°¨éµPythonçå¦ä¹ ï¼ç¶åä½ ç»§ç»ä¿æåè¿ä½ è½å¦å°æ´å¤å ³äºä½¿ç¨Pythonå¼åwebçã
å¦ä½æ¾å°Pythonçå®æ¹ç½ç«ï¼ç¾åº¦æç´¢pythonï¼æå®æ¹æ å¿çå°±æ¯ã
å¦ä½æ¾å°Pythonçå®æ¹ç½ç«ï¼å¯ä»¥é 读ç¸å ³ä¹¦ç±ï¼ä¸è¿ï¼è¿ç±»åçé®é¢æ´ç´æ¥çæ¯ç´æ¥æç´¢ãä¸è±ææç´¢é½å¯ä»¥ï¼ç¾åº¦æç´¢å¯ä»¥ä½¿ç¨å ³é®è¯Pythonå®æ¹ç½ç«ï¼å¦ä¸å¾æ示å°å¯çï¼ç¬¬äºæ¡è®°å½å°±æ¯äºï¼è¦æ³¨æçæ¯ï¼å®æ¹ç½ç«æ¯å¸¦âå®æ¹âåæ ·çï¼è¿æ¯ç¾åº¦çä¿¡èªè®¤è¯ï¼è¯¦ç»æ åµå¯éè¿ç¾åº¦å®æ¹äºè§£ã
ç¸å ³æå±
Pythonç±è·å °æ°å¦å计ç®æºç§å¦ç 究å¦ä¼çGuidovanRossumäºå¹´ä»£å设计ï¼ä½ä¸ºä¸é¨å«ä½ABCè¯è¨çæ¿ä»£åãPythonæä¾äºé«æçé«çº§æ°æ®ç»æï¼è¿è½ç®åææå°é¢å对象ç¼ç¨ã
Python解汪桥éå¨æäºæ©å±ï¼å¯ä»¥ä½¿ç¨CæC++ï¼æè å ¶ä»å¯ä»¥éè¿Cè°ç¨çè¯è¨ï¼æ©å±æ°çåè½åæ°æ®ç±»åã?Pythonä¹å¯ç¨äºå¯å®å¶å软件ä¸çæ©å±ç¨åºè¯è¨ãPython丰å¯çæ ååºï¼æä¾äºéç¨äºå个主è¦ç³»ç»å¹³å°çæºç ææºå¨ç 没åã
å¹´æï¼è¯è¨æµè¡ææ°çç¼è¯å¨Tiobeå°Pythonå å为æå欢è¿çç¼ç¨è¯è¨ï¼å¹´æ¥é¦æ¬¡å°å ¶ç½®äºJavaãCåJavaScriptä¹ä¸ã
以ä¸å 容åèç¾åº¦ç¾ç§-Python
离线怎么造句
1、 通过给定物面上对称或非对称的分离线位置,现在提出的算法有效地解决了涡强度与自由涡线位置的迭代匹配问题,首次得到了迎角大到度的源码笔记23订单结算涡流数值解。
2、 适用于一般电源线、隔离线、电脑缆线等;可视需要全剥或半剥。
3、 你可以上网前作好计划;或离线浏览;或同时打开多个窗口浏览;或利用搜索引擎查找信息。
4、 另一种是离线优化法,这是一种全局优化法,使用单纯形优化器只需一步优化,得到最优学习参数。
5、 根据离线处理的实验结果,我们设计了一模糊控制器,开发了垂直角焊缝的实时自动跟踪软件。
6、 文中分析研究了系统自诊断和现场控制站自诊断,对离线测试、目标测试进行了具体阐述。
7、 在一个由尾随在她头上的头盔隔离线的小摊位上时,似乎在专心的主题。
8、 你还可以离线浏览同步后的收藏文件。
9、 消防部门的官员说需要划出英里的隔离线来抑制.7万英亩火势的蔓延。
、 并且,双头怪走起来会一跛一跛的,就像离线玩家控制的那一边身体完全睡着了一样。
、 Zipedia是火狐浏览器上一款用于离线浏览的插件。
、 三八节送你个3G:幸福调成振动,涵养调成静音,美丽调成户外,烦恼调成离线,好运调成飞行,帅哥调成待机,快乐调成标准。开机别忘问候,节日快乐!
、 台风凡亚比将到,防备工作做好,不随意外出,把物品固牢,避开迎风窗口,出门慢行弯腰,远离线杆树木,不去水边地凹,为防停水停电,生活用品备好。怎样查看溯源码真伪
、 光棍几十年,不用谁可怜。用心去生活,自会结好缘。最怕甘堕落,幸福永离线。自强又自信,终究月会圆。.光棍节,一定要愤启真情求佳偶,一定要振作精神觅佳姻。
、 有一种崩溃叫做密码输入有误……有一种惊慌叫做账号异地登陆……有一种感情叫做隐身对其可见……有一种误会叫做人机离线……有一种失落叫做你没有访问权限……
、 春节收假:快乐时光密码错误,开心账号异地登陆,假期欢乐开始离线,悠闲懒散拒绝访问,申请补救:七天已过。开心似箭,快乐如梭,祝返岗上班的朋友,工作顺利,心想事成!
、 送你个3G手机:快乐调成振动,涵养调成静音,美丽调成户外,烦恼调成离线,好运调成飞行,帅哥调成待机,幸福调成标准。开机问候:三八妇女节快乐!
、 爱情七步曲,QQ早就知道。初识-甜蜜-无趣-腻烦-厌倦-逃避-再见。与之对应:我在线上-Q我吧-离开-忙碌-请勿打扰-隐身-离线。
、 下阙:得差评,失我眠,伤我心。无比怨恨,此恨绵绵无绝期!专柜正品保证,七天消保退换,闪人作离线。但愿差评走,差评不再有!
、 昨晚,谷歌在新闻会上发布了新版地图。这版经过“脱胎换骨”大升级的牌九棋牌源码搭建地图,将带Android手机用户体验更快的加载速度、3D视图以及离线浏览。
、 很多资源库里的主机偶尔才会连线、桌上型个人电脑会在夜间关机,而使用数据机的笔记型电脑和系统也经常是离线状态。
、 冶金、石化等行业已对企业的重要关键设备安装了在线或离线监测系统,随之形成了大型的数据库。
、 宽刀的组合和夹座到刀的短间距,利于剥电脑线之心线及隔离线,使剥线更方便更有效率。
、 如果这项修正案得到维护,就意味着如例如YouTube,这些往往不自觉地进行未经著作权人许可,上传内容的热门网站,可以被“封锁”或被迫离线。
、 顺着你的脸颊,流淌到我肩膀的月光。隔着车窗微笑,玻璃记录下来的温度。时间漫过街道,就快淹没我们所有的影子。那么都要储存起来,把夜晚当做记忆卡,哪怕杳无音讯,也能一个人离线收听。张嘉佳
、 在理想情况下,每年你都要带领灾难恢复团队只用备份磁带和新硬件在离线环境中无差错地重建和恢复原有产品系统。
、 利用流程模拟得到的装置模型,对常压塔常一线航煤进行离线操作优化,达到航煤产量最大化的目标。
、 互联网分销,无广告的搜索流量,甚至是离线广告的评分都比社交网络高。
、 该框架在离线阶段通过学习建立解析表达式,在在线光照估计阶段,根据建立好的解析表达式,利用图像的统计参数实时地计算出场景的太阳光和天空光入射光强。
、 最后一层是DOJOX,包括各种扩展,比如离线存储和跨浏览器矢量图。
、 当你安装设置完毕后,素材源码怎么搞WLW会从你博客上下载样式表和发布页模板,这样子的话即使你是在本地离线写作,你也可以获得和发布后一样效果的预览。
、 首先,离线部分采用遗传算法优化输入输出量的隶属度函数,获得控制量输出表,供在线调用。
、 第二条保税区与非保税区之间设置隔离线,对保税区实行隔离管理。
、 首先将被控对象进行离线辨识,确定NNC的初始权值再进行神经网络在线控制,从而能够进一步提高系统的控制精度.
、 这个代码所做的第一件事就是检查您是在线还是离线。
、 “离线”广告的运作是在一定支出水平上扯平的;与此不同,电子广告的效用似乎是随支出的增加而呈指数形式的提高。
、 本文正是基于高自考这样的背景,来研究基于文本依存的离线笔迹鉴别。
、 在相同位置把隔离线对和信号电缆的电子防护设备埋入地下。
、 车载试验数据离线分析,试验中使用GPS测得的速度信息作为外测参考速度信息,在车辆运动过程中对准系统保持工作状态。
、 用户可以选择向已登录的同事发送即时消息,或者向离线的同事发送电子邮件。
、 为了不走上歪路,小心地设计,逐步增加离线特性是很重要的。
、 它集灵活性、易用性于一身,具备所有需要的离线浏览功能。
、 提出了一种弧焊机器人任务级离线编程系统的结构,包括建模器、任务编程器、任务规划器和机器人运动仿真器等四个基本模块。
、 针对柱幕投影设备成本高且不适合视频实时播放的缺点,提出一种离线的柱幕投影图像校正方案。
、 有些可能是相同关注领域的网页版或桌面版应用程序,甚或是离线版程序源码。
、 主脑离线时,泰斯拉的双膝猛地内扣,虚弱地呻吟一声,请求他们摘除那华美的项圈。
、 我们需要在离线设备中对邮件、消息和记录进行备份。
、 主要的问题是Ajax没有明显的支持离线浏览的解决方案。
、 在杠杆式机械天平调修中,三刀吃离线的调修难度很大。
、 我只是为了接收邮件或者ftp文件才拨号上网,大部分时间都离线。
ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
开发之路永无止境,往往在最后期限的白板上写着的计划,往往只是一份空想。年初时,我定下了两个目标,计划在年末完成,然而时间在拖延中流逝,直到如今,我才发现,真正的开源精神并非一个人的单打独斗,而是众人协作的火焰。
记得一年前,我四处奔波,从开源社区汲取养分,同时也渴望贡献出自己的力量。然而,回顾过去,我却发现并没有做出任何贡献。这次,我希望能够集结各路伙伴,如果有志于参与开源项目,我们能共同打造一个GitHub上的百星、千星项目。几位资深程序员已经搭建好了基础,硬件改进较多,但程序完善程度未达预期。我们期望有更多的年轻朋友加入我们,与我们一起学习软件的版本控制、代码规范和团队协作,共同完成复杂的机器人项目,实现成长与蜕变。
(一)中文语音交互系统ROSECHO
ROSECHO的GitHub源码库已准备好,欢迎先star再深入阅读。此代码遵循BSD开源协议。
详细中文介绍文档
面对智能音箱市场,许多人或许会质疑我们的团队为何要涉足这个领域。然而,故事并非如此简单。在年,我们计划为一个大型展厅打造讲解机器人,采用流行于Android系统的接待引导机器人,其语音交互功能本无问题,但当时的挑战在于,尚未有集成cartographer在数千平米展厅中进行建图导航的方案。因此,我们决定打造一款完全基于ROS的讲解机器人。市场上虽然有众多智能音箱,但缺乏适用于ROS二次开发的产品。在科大讯飞一位大佬的介绍下,我们选择了AIUI方案,虽然开发难度大,但高度定制化,非常适合我们这样的开发团队。于是,我们主要任务转变为开发一款能够在ROS下驱动的智能音箱,ROSECHO便由此诞生。
第一版智能音箱在年4月问世,包含W的大喇叭、6环麦克风,以及ROS主控制器,下方控制了一个云迹科技的水滴底盘。了解过ROS星火计划进阶课程的朋友大概知道,课程中的大作业之一是语音命令移动机器人端茶倒水,而我们的任务相当于完成了一个加强版的大作业。
整个机器人在年7月完成,音箱分散到身体各个部分,环麦位于头顶,喇叭置于身体两侧。其他传感器、执行机构、决策、定位导航均基于ROS,定制了条特定问答,调试的机器人在场馆中行走上下坡不抖动,定位准确,7*小时工作稳定。音箱在大机器人上使用效果出色,主要得益于讯飞的降噪和回声消除技术,使得远场对话和全双工对话得以实现。社区中许多小伙伴也尝试了软核解决方案,但由于环境限制较大。于是,我们决定将音箱从大家伙改为普通智能音箱大小,通电即为智能音箱,USB接入ROS后,只需启动launch,即可接收语音识别结果,发送TTS语料,配置网络、接收唤醒角度等。
这次体验深刻地让我认识到,做大容易做小难。过完春节后,年8月ROS暑期夏令营期间,我们做了N款外壳,测试了M种喇叭,贴了P版外围电路,程序则改动不大。主要是由于时间有限,无法进行更多改进。样品均为手工制作,音质上,7w的喇叭配有一个无源辐射板,对于从森海HD入门的人来说,音质虽有瑕疵,但足以满足日常使用。
之前在想法中发布了一个使用视频,大家可参考运行效果。
ROSECHO基本情况介绍完毕,如何开始呢?
从零开始:推荐给手中已有讯飞AIUI评估板的小伙伴,记住,评估板而非麦克风降噪板(外观相似,简单区分是评估板售价元,降噪板元)。手头的评估板可通过3.5mm接口连接普通电脑音箱,再准备一根USB转转换头连接评估板DB9接口。后面需要根据实际串口修改udev规则,理论上可配合ROSECHO软件使用。硬件工作量较大,还需包含移动机器人所需机械设计、电气改造等。好处是拥有AIUI后台,可以定制云端语料和技能,但这又是另一个领域的能力,也不是三下五除二能完成的。
从ROSECHO开始:直接购买ROSECHO,首发的十台会附赠ROS2GO,只需连接自带电源并用USB线连接电脑,配置无线SSID和密码即可。连接方便,我们维护云端语料,人设为智能机器人管家,大家只需关注如何利用识别后的词句控制机器人和进行应答。云端问答AIUI处理,一些自定义问答可在本地程序中处理,务必联网,因为语音识别本身需要网络。具体软件启动和简单demo请查看GitHub软件库的说明。
然后做什么:要实现智能语音交互功能的移动机器人,需要对ROS中的actionlib非常熟悉。我们提供了简单的demo,可以控制机器人在turtlebot stage仿真环境中根据语音指令在两点之间移动,也可以根据唤醒方位进行旋转。之后还需增加音箱的TF变换。
大机器人中的状态机采用层次状态机(Hierarchical state machines),适用于移动机器人的编程,框架准备开源,方便大家开发自己的智能移动机器人策略。参考下面链接,希望深入了解也可以购买译本,肯定是比ROS By Example中的Smach状态机更适合商用级产品开发。
还计划做一套简单的语音遥控指令集,机器人问答库,在iflyos中构建适合机器人的技能库。何时能完成尚不确定,大家一起加油!
(二)教学级别无人车Tianracer
GitHub源码库已准备就绪,欢迎先star再深入阅读。遵循Hypha Racecar的GPLv3协议。
这是最近更新的详细使用手册。相比ROSECHO,Tianracer的基本功能均已完成,至少可以拿来学习建图导航,了解SLAM。
Tianracer是一个经过长时间准备的开源项目,年从林浩鋕手中接过Hypha Racecar后,希望将项目发扬光大。这两年改进了软件框架、周边硬件、机械结构,并增加了新的建图算法,但仍有大量工作待完成。这两个月在知乎想法和微信朋友圈分享了项目的进展,经历了多次迭代,现在大致分为入门、标准、高配三个版本。三个版本的软件统一,可通过环境变量更改设置。
最近整个项目从Tianbot Racecar更名为TianRacer,经过长时间探索,终于实现了合理的传感器与处理器配置。相比Hypha Racecar,处理器从Odroid XU4更改为NVIDIA在上半年推出的Jetson Nano,车前方增加了广角摄像头,利用Nano的深度学习加速,可以接近实时处理图像数据。相比之前的单线激光,广角摄像头大大扩展了后续可实现的功能。
TianRacer基本使用Python编写,从底层驱动到遥控等,目的是方便大家学习和二次开发。同时集成了cartographer和vins-fusion启动文件,可以尝试新的激光与视觉SLAM,基于Nano的深度学习物体识别等也是可以直接运行的。但目前功能尚未有机整合。
从零开始搭建:TianRacer搭建可能难度较大,不仅需要RC竞速车的老玩家进行机械电子改装,还需要对ROS熟悉并修改软件以进行适配,同时可能需要嵌入式程序员的帮助。对于主要关心搭建的朋友,可以参考小林的Hypha Racecar和JetRacer Tamiya版本的搭建指南。
从TianRacer开始:这批开发版本的无人竞速车附赠搭好环境的ROS2GO,TianRacer本身有开机自启功能,利用ROS2GO加上USB线对车体进行网络配置,就可以远程编程和调试。仔细参考提供的TianRacer看云文档(文档积极更新),大部分车体自带的功能都可以实现,包括但不限于建图、定位、导航、识别等。
然后做什么:利用TianRacer学习无人车的基础框架,还可以通过JupyterLab学习Jetson Nano的深度学习算法。未来计划将交通标识识别、行人和车辆检测、车道线检测等无人车基础功能融合,但不确定Jetson Nano的算力是否足够。目标是在校园内进行低成本的无人车竞速比赛,希望像CMU的Mobot室外巡线比赛一样持续发展,至今已举办届。
这个视频是搬运自YouTube。大家可深入了解非结构环境下的导航。对于不清楚结构化环境与非结构化环境的朋友,CMU和恩智浦的比赛完美诠释了两者之间的区别。
一起来玩耍吧!
在开源社区协作方面,我们也是第一次尝试,对于松散的协同开发经验不足,希望参与或组织过大型开源项目的朋友们加入我们,一起努力。有兴趣的朋友可以留言或私信。
前几日与朋友们闲聊时,想起几年前高翔博士赞助一锅粥(orb-ygz-slam)1万元时,我也只能提供支持。这次真心希望可以贡献出代码,实现实实在在的贡献。
年年底发布了开发者申请价格,但数量有限,早已连送带卖售罄。年又有几十位爱好者填写了问卷,忘记查阅。每年的双十一双十二我们都会有优惠活动,感谢大家的关注。