linux cnc 树莓派,谈谈LinuxCNC
8種機械鍵盤軸體對比
本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?
背景
? 在最開始打算摸索一下LinuxCNC是因為ROS一般用于科研,工業(yè)上較少使用,究其根本是因為其實時性與穩(wěn)定性達不到工業(yè)標(biāo)準(zhǔn)。而LinuxCNC項目本身就是向工業(yè)方向發(fā)展,其可靠性與穩(wěn)定性應(yīng)該是沒有問題的。故希望從LinuxCNC項目學(xué)習(xí),主要包括保證系統(tǒng)實時性的方式、系統(tǒng)架構(gòu)(整個控制系統(tǒng)中各個模塊的解耦方式)、以及在線實時軌跡規(guī)劃算法。在搜索資料發(fā)現(xiàn),LinuxCNC項目原名EMC2,同時有另外一個分支叫Machinekit.
直到目前為止(2018年8月16日),LinuxCNC的官方穩(wěn)定版本號為2.7.14,Machinekit沒有明確的版本號,但從推薦的鏡像介紹里面,使用的是基于3.8內(nèi)核的Debian with xenomai kernel ,同時也表示,基于rt-preempt 4.x.x kerneled versions將會很快推出。
? 在這里先介紹一下Machinekit的背景,Machinekit項目最開始是希望在BeagleBoneBlack(俗稱BBB,TI發(fā)布的一款嵌入式板,類似于樹莓派,但是性能比樹莓派稍弱,但是畢竟是TI出品,元器件與Layout都是工業(yè)級別的,穩(wěn)定性有保證,相比之下,樹莓派性能是比較強,但是貌似穩(wěn)定性跟BBB不是一個級別,無法應(yīng)用在工業(yè)領(lǐng)域)上移植LinuxCNC實現(xiàn)3D打印,無奈LinuxCNC項目最初使用的實時方案是RTAI,而RTAI不支持ARM平臺,無奈之下Machinekit的作者只好自己移植其他的實時內(nèi)核。所以總結(jié)起來就是 Machinekit更像是針對BBB這款硬件使用的移植版LinuxCNC。
LinuxCNC與Machinekit的實時方案比較
查閱兩者官網(wǎng)可知,目前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.
總結(jié)一下就是
LinuxCNC支持Ubuntu 與Debian,實時方案選擇Preempt-RT和RTAI
Machinekit對操作系統(tǒng)沒有明確的限制,但是官方在Debian上測試沒問題,相比之下,Machinekit支持Xenomai 、RT-PREEMPT實時方案。
對比LinuxCNC與Machinekit發(fā)現(xiàn),Machinekit更致力于一套代碼在多套平臺上使用,其實現(xiàn)方式為抽象RTAPI層作為實時方案的抽象,在運行時動態(tài)加載對應(yīng)的庫文檔。
個人感覺,Machinekit的格局比LinuxCNC要大,支持面更廣。但又因為其通用性,可能在穩(wěn)定性上比不上LinuxCNC,當(dāng)然這只是個人推測,并沒有實際測試。當(dāng)然,假如只是為了學(xué)習(xí),那么Machinekit應(yīng)該更有意思。
軟件架構(gòu)
大概瀏覽了一下LinuxCNC 與 Machinekit的開發(fā)文檔,發(fā)現(xiàn)兩者的整體架構(gòu)非常一致(那當(dāng)然啦,畢竟本是一家),而LinuxCNC 的文檔看起來好像比Machinekit更加詳細。下面就先以LinuxCNC 的軟件架構(gòu)進行分析,最后在對比Machinekit,看看Machinekit是如何在LinuxCNC的基礎(chǔ)上做到多平臺兼容的。
軟PLC Classic Ladder
總結(jié)
以上是生活随笔為你收集整理的linux cnc 树莓派,谈谈LinuxCNC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux搭建Discuz论坛
- 下一篇: linux 嵌入式开发常用网站整理