1.ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
2.搬运 Zotero和Word 参考文献与文末引用条目的社区社区超链接设置
3.翻译搬运SciPy-Python科学算法库
4.Linux0.12内核源码解读(2)-Bootsect.S
5.你们认为minecraftwiki还存在什么问题?
6.faceswap论坛搬运-安装篇
ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
开发之路永无止境,往往在最后期限的源码源码白板上写着的计划,往往只是搬运一份空想。年初时,社区社区我定下了两个目标,源码源码计划在年末完成,搬运灯光控制app源码然而时间在拖延中流逝,社区社区直到如今,源码源码我才发现,搬运真正的社区社区开源精神并非一个人的单打独斗,而是源码源码众人协作的火焰。
记得一年前,搬运我四处奔波,社区社区从开源社区汲取养分,源码源码同时也渴望贡献出自己的搬运力量。然而,回顾过去,我却发现并没有做出任何贡献。这次,我希望能够集结各路伙伴,如果有志于参与开源项目,我们能共同打造一个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仿真环境中根据语音指令在两点之间移动,iapp用户系统源码也可以根据唤醒方位进行旋转。之后还需增加音箱的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的深度学习加速,可以接近实时处理图像数据。相比之前的单线激光,广角摄像头大大扩展了后续可实现的app直播游戏源码功能。
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万元时,我也只能提供支持。这次真心希望可以贡献出代码,实现实实在在的贡献。
年年底发布了开发者申请价格,但数量有限,早已连送带卖售罄。年又有几十位爱好者填写了问卷,忘记查阅。每年的双十一双十二我们都会有优惠活动,感谢大家的关注。
搬运 Zotero和Word 参考文献与文末引用条目的超链接设置
在处理Word中的参考文献和文末引用问题时,开源工具Zotero和其Word插件为我提供了便利。尽管Zotero功能强大,但在Word中存在两个主要不足:一是正文引用无法自动跳转到文末的参考文献列表,尤其是在大量引用时;二是文末参考文献无法链接到学术期刊的DOI网址,影响阅读体验。
经过一番搜索,我找到了通过VBA宏在Word中解决这些问题的方法。首先,参考了一些国内的解决方案,但它们存在一些问题,如citation格式变化。最终,我发现Zotero官方论坛上的一位高手分享的宏指令更为适用。只需将源代码复制到Word的宏选项卡,创建新的宏,并运行它,即可解决这两个问题。记得在使用时,要调整宏以避免段落缩进丢失,并注意引用时的格式要求,如避免使用特殊字符作为上标。
对于链接到DOI的问题,确保Zotero中的每个文献都有DOI,并在引用样式中包含它。对于样式中的DOI格式,可能需要微调以适应Zotero的期望格式。使用宏指令后,文末的DOI会自动变蓝,记得修改样式名以保持个人样式独立。
尽管Word在处理大量引用时可能不如LaTeX方便,但通过这些技巧,可以有效解决Word中的问题。如果遇到困难,可以在评论中提问,我会整理分享。最后,对于长期项目,LaTeX仍然是更优的选择,因为它提供了更强大的功能和一致性。希望Zotero插件的生态系统能持续改进,满足更多用户需求。
翻译搬运SciPy-Python科学算法库
SciPy,Python中的科学算法库,提供了广泛的功能以解决各类专业领域的挑战。它建立在基础的NumPy库之上,为数值计算、线性代数、优化问题、积分、微分方程求解以及统计分析等提供了丰富工具。以下是其核心功能的概述:特殊函数:包括贝塞尔函数在内的大量数学函数,为物理学问题的计算提供便利。
数值积分:涵盖单重、二重甚至三重积分,可用于描述复杂物理过程,如复摆运动和阻尼振动。
常微分方程求解:使用odeint函数处理,例如复摆和阻尼谐波振荡器的模拟。
傅里叶变换:通过FFTPACK库实现,适用于信号分析和频域计算。
线性代数:支持矩阵运算、特征值和特征向量计算,以及稀疏矩阵处理。
最优化:处理函数极值和零点问题,如单变量函数最小值的寻找。
插值:用interpolate函数实现数据的简单和高阶插值。
统计分析:提供各种分布的计算和统计检验,如均值和分布的比较。
查阅更多详细内容,可以访问SciPy的官方网站scipy.org、官方教程docs.scipy.org或查看源代码github.com/scipy/scipy。探索这些工具,将有助于深化对Python科学计算的理解。Linux0.内核源码解读(2)-Bootsect.S
本文深入解读Linux0.内核源码中的Bootsect.S,揭秘计算机启动过程的迷雾。
回顾计算机启动过程,当按下电源键,CPU进入实模式状态,初始化寄存器CS:IP为0xFFFF;0x,指向BIOS程序存储的0xFFFF0地址处。BIOS程序事先被刷入只读存储器ROM中,通过地址总线将指令从ROM中取出并执行,BIOS负责自检并设置启动顺序。
当BIOS自检完成,启动磁盘的启动扇区MBR(主引导记录)被加载到内存的0x7C地址处,设置CS=0xC0,IP=0x,计算机控制权转移至操作系统手中。
Bootsect.S的主要任务是加载操作系统到内存中。它首先将自身从MBR中搬运到内存的0x7C地址,并设置段基址,以便后续程序访问内存。接着,Bootsect.S将自己再次搬运到0x地址,为加载setup.s做准备。
之后,Bootsect.S通过BIOS的中断程序将setup.s加载到内存的0x地址,为后续操作系统加载铺平道路。当setup.s加载完成,计算机控制权转移到setup程序手中。
最后,Bootsect.S通过int 0x中断在屏幕上显示"Loading"提示,操作系统开始加载到内存中的0x地址。由于操作系统较大,加载过程需要通过子程序处理磁道、扇区和磁头的计算,以及可能的内存段切换。
Bootsect.S工作流程结束于jmpi 0,SETUPSEG,将控制权转移给setup程序。通过本文的解析,我们深入了解了Bootsect.S在Linux0.内核启动过程中的关键作用。
你们认为minecraftwiki还存在什么问题?
反驳观点:
1. 中文Minecraft Wiki(中文MCW)并非仅面向中国大陆,繁体用户数量超过简体。中文MCW是Fandom网站的一部分,没有运营资金,因此中国大陆访问延迟问题暂无解决途径。Fandom作为服务器位于美国的wiki平台,通过广告收益。年,中文MCW在BWIKI建立了镜像站点,提供最新页面内容,访问者可选择BWIKI镜像站阅读。若需编辑内容,仅能前往中文MCW源站,能否访问存在不确定性。
2. 视频来源问题源于中文MCW早期从英文Minecraft Wiki翻译,后者以油管视频为主。中文MCW用户在B站寻找或自行搬运视频,而非由中文MCW完成搬运工作。
3. 所谓“编辑页面”通常指的是修改页面内容。维基百科和中文MCW均使用MediaWiki软件和wikitext语言,学习门槛较低。通过查看源代码,可快速入门。
4. 百度百科存在抄袭与内容质量低下的问题,这是公认的事实。维基百科和中文MCW同样具备自由编辑功能,由巡查员负责审核编辑,以确保内容质量。
5. 中文MCW教程问题主要源于早期建设,由于活跃用户较少,教程整改进度缓慢。
6. 关于“编写源代码不同,很多表格复制插入就乱码”的具体问题,请提供更多信息以便解决。截至年1月日,中文MCW共有个条目,在全球Minecraft Wiki社区中排名第三,内容完整性问题基本不存在。
总结:当前中文MCW面临的主要问题是Fandom的境外性质导致的访问延迟和活跃用户不足,影响了内容更新速度和问题解决效率。鼓励更多用户参与编辑,共同提升Wiki内容质量。
faceswap论坛搬运-安装篇
在Windows系统中,安装faceswap的过程相对简便。安装程序会自动处理大部分工作,包括显卡驱动(若使用)之外的所有组件。首先,确认你的显卡驱动是最新的;然后,从官方网站下载faceswap安装包。安装过程中,可能会遇到Windows智能屏幕的警告,这通常是由于程序从网络下载资源引起的,可自行查看源码或编译确认安全。选择安装位置,通常默认设置适合大多数用户。自定义安装时,注意安装faceswap版本,根据显卡类型(Nvidia、AMD或CPU)进行选择,并设置Conda环境名(默认即可,但会删除同名现有环境)。
安装程序会逐步下载和安装Git、MiniConda3,以及faceswap及其依赖包。faceswap的下载和Conda环境的创建可能需要时间,取决于网络速度。安装完成后,会创建桌面快捷方式以便启动faceswap GUI。若遇到安装失败,通常检查网络问题,重新运行或报告错误。
Linux环境下,安装faceswap同样简单,无论使用何种发行版。确保显卡驱动更新,下载安装程序后,在终端执行bash脚本。安装过程中会询问关于Conda的使用和安装路径,根据提示操作。faceswap在虚拟环境中运行,可自定义环境名。安装faceswap后,可以选择创建桌面快捷方式,然后确认并开始安装。
备忘录搬运将google的CDN替换为国内的,以提升某些国外网站的访问速度
众所周知,替换域名即可继续使用Google提供的前端公共库,而通过script标记引用这些资源,网站访问速度可以迅速提升。
许多网站,尤其是国外网站,为了提升访问速度,都采用了Google的CDN。然而,在我国,由于某些原因,全球最快的CDN变成了全球最慢的。
因此,某神开发了这款插件/扩展,将Google的CDN替换为国内的。
手动安装方法:
1. 下载ReplaceGoogleCDN.zip,解压后找到extension子目录。
2. 打开浏览器,进入扩展选项页。
3. 勾选Developer Mode。
4. 选择加载解压缩的扩展,然后定位到刚才解压的文件夹里面的extension目录,确定。
5. 安装完成,取消Developer Mode勾选。
扩展下载:
1. ReplaceGoogleCDN-v3.zip 支持chromium系列的浏览器。
2. ReplaceGoogleCDN-v2.zip 同时支持firefox和chromium系列的浏览器。
3. ReplaceGoogleCDN.zip(全部源码)