LinuxCNC系统是一个源代码公开的自由免费软件,最大支持9轴联动控制,内置具有前瞻性的实时轨迹规划器,通过定制运动学模块可支持非笛卡尔空间的运动控制,支持的结构包括机器人关节控制和六轴连杆昆虫机器人控制等。
LinuxCNC是一个在Linux下运行的开源数控机床控制器,用于机床的数控系统。经过十几年的发展, LinuxCNC系统可以驱动铣床、车床、 3D打印机、激光切割机、等离子切割机、机器人手臂、 六足机器人等。
LinuxCNC支持最多9轴运动控制,内置具有前瞻性的实时轨迹规划器,可实时轨迹误差限制、轴同步运动控制、自适应进给率控制等功能。提供一个适用于RS-274机床编程语言的G代码解析器,使得机床编程通俗易懂,降低了推广应用难度。提供了用于模块化自由配置的HAL层,实现控制系统自由定制与功能灵活扩展。通过定制运动学模块可支持非笛卡尔空间的运动控制。支持多种人机交互图形界面。包括TCL/TK、Python实现的Tkinter、Pyqt等。
一,Linux操作系统的实时性扩展
LinuxCNC数控平台是基于Linux操作系统进行开发的。 Linux操作系统是一个遵循GPL协议且开放源代码的通用操作系统。虽然Linux操作系统具有运行稳定、系统平均响应时间短、吞吐量高等优点,但是Linux操作系统的进程调度方式、中断屏蔽、频繁的换页等约束限制了Linux系统的实时性能。实时系统是指系统中计算结果的正确性不仅取决于计算逻辑的正确性,还取决于产生结果的时间,即不管实时应用程序进行的是何种任务ÿ