【LinuxCNC开发者手册】【Chapter 2】代码笔记

2.1 Intended audience

This document is a collection of notes about the internals of LinuxCNC. It is primarily of interest to developers, however much
of the information here may also be of interest to system integrators and others who are simply curious about how LinuxCNC
works. Much of this information is now outdated and has never been reviewed for accuracy.

2.2 Organization

There will be a chapter for each of the major components of LinuxCNC, as well as chapter(s) covering how they work together.
This document is very much a work in progress, and its layout may change in the future.

2.3 Terms and definitions

• AXIS - An axis is one of the nine degrees of freedom that define a tool position in three-dimensional Cartesian space. Those
nine axes are referred to as X, Y, Z, A, B, C, U, V, andW. The linear orthagonal coordinates X, Y, and Z determine where the tip
of the tool is positioned. The angular coordinates A, B, and C determine the tool orientation. A second set of linear orthagonal
coordinates U, V, and W allows tool motion (typically for cutting actions) relative to the previously offset and rotated axes.
Unfortunately “axis” is also sometimes used to mean a degree of freedom of the machine itself, such as the saddle, table, or
quill of a Bridgeport type milling machine. On a Bridgeport this causes no confusion, since movement of the table directly
corresponds to movement along the X axis. However, the shoulder and elbow joints of a robot arm and the linear actuators
of a hexapod do not correspond to movement along any Cartesian axis, and in general it is important to make the distinction
between the Cartesian axes and the machine degrees of freedom. In this document, the latter will be called joints, not axes.
(The GUIs and some other parts of the code may not always follow this distinction, but the internals of the motion controller
do.)
• JOINT - A joint is one of the movable parts of the machine. Joints are distinct from axes, although the two terms are sometimes
(mis)used to mean the same thing. In LinuxCNC, a joint is a physical thing that can be moved, not a coordinate in space. For
example, the quill, knee, saddle, and table of a Bridgeport mill are all joints. The shoulder, elbow, and wrist of a robot arm
are joints, as are the linear actuators of a hexapod. Every joint has a motor or actuator of some type associated with it. Joints
do not necessarily correspond to the X, Y, and Z axes, although for machines with trivial kinematics that may be the case.
Even on those machines, joint position and axis position are fundamentally different things. In this document, the terms joint
and axis are used carefully to respect their distinct meanings. Unfortunately that isn’t necessarily true everywhere else. In
particular, GUIs for machines with trivial kinematics may gloss over or completely hide the distinction between joints and
axes. In addition, the ini file uses the term axis for data that would more accurately be described as joint data, such as input
and output scaling, etc.
• POSE - A pose is a fully specified position in 3-D Cartesian space. In the LinuxCNC motion controller, when we refer to a
pose we mean an EmcPose structure, containing six linear coordinates (X, Y, Z, U, V, and W) and three angular ones (A, B,
and C).

2.4 Architecture overview

There are four components contained in the LinuxCNC Architecture: a motion controller (EMCMOT), a discrete IO controller
(EMCIO), a task executor which coordinates them (EMCTASK) and several text-mode and graphical User Interfaces. Each of
them will be described in the current document, both from the design point of view and from the developers point of view (where
to find needed data, how to easily extend/modify things, etc.).

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值