8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

背景

​ 在最开始打算摸索一下LinuxCNC是因为ROS一般用于科研,工业上较少使用,究其根本是因为其实时性与稳定性达不到工业标准。而LinuxCNC项目本身就是向工业方向发展,其可靠性与稳定性应该是没有问题的。故希望从LinuxCNC项目学习,主要包括保证系统实时性的方式、系统架构(整个控制系统中各个模块的解耦方式)、以及在线实时轨迹规划算法。在搜索资料发现,LinuxCNC项目原名EMC2,同时有另外一个分支叫Machinekit.

直到目前为止(2018年8月16日),LinuxCNC的官方稳定版本号为2.7.14,Machinekit没有明确的版本号,但从推荐的镜像介绍里面,使用的是基于3.8内核的Debian with xenomai kernel ,同时也表示,基于rt-preempt 4.x.x kerneled versions将会很快推出。

​ 在这里先介绍一下Machinekit的背景,Machinekit项目最开始是希望在BeagleBoneBlack(俗称BBB,TI发布的一款嵌入式板,类似于树莓派,但是性能比树莓派稍弱,但是毕竟是TI出品,元器件与Layout都是工业级别的,稳定性有保证,相比之下,树莓派性能是比较强,但是貌似稳定性跟BBB不是一个级别,无法应用在工业领域)上移植LinuxCNC实现3D打印,无奈LinuxCNC项目最初使用的实时方案是RTAI,而RTAI不支持ARM平台,无奈之下Machinekit的作者只好自己移植其他的实时内核。所以总结起来就是 Machinekit更像是针对BBB这款硬件使用的移植版LinuxCNC。

LinuxCNC与Machinekit的实时方案比较

查阅两者官网可知,目前LinuxCNC项目支持的实时方案为

Machinekit项目支持的实时方案为:support for Xenomai and RT-PREEMPT realtime threads besides RTAI

There should be minimal user configuration changes for using the new RT options.

kernel autodetection

The ‘unified build’ branch will detect the RT features of the running kernel and choose an appropriate thread flavor.

runtime loading of support modules

All thread-specific code has been wrapped into shared objects and libraries which are loaded on demand. This enables fixes, upgrades or tests by just exchanging a file.

总结一下就是

LinuxCNC支持Ubuntu 与Debian,实时方案选择Preempt-RT和RTAI

Machinekit对操作系统没有明确的限制,但是官方在Debian上测试没问题,相比之下,Machinekit支持Xenomai 、RT-PREEMPT实时方案。

对比LinuxCNC与Machinekit发现,Machinekit更致力于一套代码在多套平台上使用,其实现方式为抽象RTAPI层作为实时方案的抽象,在运行时动态加载对应的库文档。

个人感觉,Machinekit的格局比LinuxCNC要大,支持面更广。但又因为其通用性,可能在稳定性上比不上LinuxCNC,当然这只是个人推测,并没有实际测试。当然,假如只是为了学习,那么Machinekit应该更有意思。

软件架构

大概浏览了一下LinuxCNC 与 Machinekit的开发文档,发现两者的整体架构非常一致(那当然啦,毕竟本是一家),而LinuxCNC 的文档看起来好像比Machinekit更加详细。下面就先以LinuxCNC 的软件架构进行分析,最后在对比Machinekit,看看Machinekit是如何在LinuxCNC的基础上做到多平台兼容的。

软PLC Classic Ladder

linux cnc 树莓派,谈谈LinuxCNC相关推荐

  1. linux cnc制作视频教程,linuxcnc编译

    linuxCNC是开源的数控系统控制软件,在国外使用的比较多,在国内大多在学校中存在. 编译linuxCNC并不像官方给的ReadME那样简单,中间会出很多的错误 官方给的./autogen.sh 然 ...

  2. linux模拟树莓派,树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏

    原标题:树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏 树莓派是一个很棒的游戏平台.在我们的系列文章的第九篇中学习如何开始使用树莓派. -- Anderson Silva 回到我们关于树莓派 ...

  3. 什么是Linux CNC

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 什么是Linux CNC 前言 一.引言 二.RTLinux 1.介绍 2.系统介绍 总结 前言 提示:这里可以添加本文要记录的大概内 ...

  4. linux cnc 安装教程,艰难的LinuxCNC(EMC2)源代码安装依赖03

    艰难的LinuxCNC(EMC2)源代码安装依赖03 在安装MesaLib-7.2.1.tar.gz之前,先安装libdrm, libdrm-2.4.41.tar.bz2 http://dri.fre ...

  5. linux cnc 软件手册,最新LINUXCNC源程序原理说明.docx

    | |-- uni vstep(sample PICO stepper gen erator) | |-- uni vstep(sample PICO stepper gen erator) opLI ...

  6. linux编译树莓派内核,编译树莓派 4B Linux 5.9 内核

    来自 九年吃菜粥 的发帖. 文中的操作是在 x86 docker 的 Ubuntu 容器中进行操作,因为子系统编译时好像 CPU 吃不满. 文中命令全部用 root 用户执行. 1.首先下载树莓派的内 ...

  7. live555 编译 linux,在树莓派上搭建LIVE555 Streaming Media服务器端

    本文提供两种在树莓派上搭建Live555流媒体服务器端的方法: 1)直接在树莓派上对live555进行编译 2)交叉编译之后在传到树莓派上 注:前者相当简简单,而后者只需要传最后生成的可执行文件以及想 ...

  8. 树莓派的linux系统安装,树莓派安装Linux操作系统

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 树莓派上可安装的操作系统 (1)Linux:Raspbian,Arch Linux ARM (2)Unix:FreeBS ...

  9. asf linux教程,ASF V3.0 windows/linux含树莓派部署流程

    本帖最后由 汐碎Hock 于 2017-8-20 12:50 编辑 687474703a2f2f312e62702e626c6f6773706f742e636f6d2f2d77314c63436859 ...

最新文章

  1. 反射型 DDoS 攻击的原理和防范措施
  2. eclipse创建Maven的动态web工程
  3. 一个简单的Ajax例子
  4. 声呐图像数据集_MaskedFace-Net 口罩人脸基准数据集,13万+图像数据
  5. [机器学习笔记]Note12--降维
  6. java对外查询接口注意的地方_Java接口注意点
  7. 45 WM配置-作业-库存盘点-清除差异(库存管理接口)
  8. 如何做带宽估计和丢包策略
  9. matlab 调用c++编译好的文件出现问题
  10. java.sql找不到_java.sql.SQLException:找不到适用于jdbc:microsoft:
  11. Oracle中的rownum不能使用大于的问题
  12. Parquet文件格式简介
  13. winform基础 C#编程
  14. JDBC作用接口和创建的步骤详细解析
  15. 解决mac可以聊QQ微信不能浏览网页问题
  16. 普通链接二维码打开小程序实现动态传递参数
  17. 计算机主机hdmi接口是什么意思,hdmi接口有什么用,教你详细的计算机hdmi接口功能...
  18. 计算机小喇叭找不到,电脑右下角小喇叭不见了(解决方案)
  19. 【洛谷】P1419 寻找段落
  20. 50岁的程序员该何去何从

热门文章

  1. 02604---打印机 toner灯亮
  2. 网络串流_串流免费音乐的最佳网站
  3. 云闪付和微信支付达成“条码支付互通”,二者支付功能有何不同?
  4. 0.泡妞与设计模式(一)工厂模式
  5. 从感知觉现象引发的对人工智能的一些思考
  6. win7创建任务计划:自动关机命令
  7. 实验一:JSP编程范例
  8. 想在互联网上年入百万,必须具备这两种能力!
  9. source insight macro
  10. 程序员如何自我认知 自我了解