SlideShare a Scribd company logo
LinuxCNC Overview
DMP Electronics INC
Simple LinuxCNC Controlled Machine

2
OutLine






About the LinuxCNC
Linux / RTAI
LinuxCNC software
LinuxCNC Hierarchical
Configuring LinuxCNC

3
About the LinuxCNC






LinuxCNC is a descendent of the original
NIST(The National Institutes of Standards
and Technology) Enhanced Machine
Controller software.
LinuxCNC is precompiled with Ubuntu LTS
(long term support) versions for ease of
installation and longevity.
LinuxCNC runs on Linux using real time
extensions.

4
Linux / RTAI
User Space

5
LinuxCNC software


System Requirements









700 MHz x86 processor (1.2 GHz x86
processor recommended).
384 MB of RAM (512 MB up to 1 GB
recommended).
8 GB hard disk.
Graphics card capable of at least 1024x768
resolution.
A network or Internet connection (not strictly
needed, but very useful for updates and for
communicating with the LinuxCNC community).

6
LinuxCNC software


LinuxCNC provides:









a graphical user interface (actually several
interfaces to choose from).
an interpreter for G-code (the RS-274 machine tool
programming language).
a realtime motion planning system with look-ahead.
operation of low-level machine electronics such as
sensors and motor drives.
an easy to use breadboard layer for quickly creating
a unique configuration for your machine.
a software PLC programmable with ladder diagrams
easy installation with a Live-CD.

7
LinuxCNC - Axis GUI

8
LinuxCNC Hierarchical


Four main components to the LinuxCNC
software:








a motion controller (EMCMOT)
a discrete IO controller (EMCIO)
a task executor which coordinates them
(EMCTASK)
and one of several graphical user interfaces

In addition there is a layer called HAL
(Hardware Abstraction Layer) which
allows configuration of LinuxCNC without
the need of recompiling.
9
GUI
NML
EMCTASK
RS274 (G code)

SEQUENCING

INTERPRETER

LOGIC

NML

Share memory
Real time
EMCMOT

EMCIO
HAL pins

HAL pins

Hardware Abstraction Layer (HAL)
HAL pins

HAL pins

Real-time HWD

Non-Real-time HWD

10
LinuxCNC Hierarchical


EMCTASK

基於EMC2的數控系統軟件架構及通信機制分析(2010)

11
LinuxCNC Hierarchical


EMCMOT

12
LinuxCNC Hierarchical


EMCIO


Be used to control
some machine
actions like lube,
coolant, and
spindle direction
and speed

13
Configuring LinuxCNC








INI : The ini file overrides defaults that are
compiled into the LinuxCNC code.
HAL : The HAL files start up process modules and
provide linkages between LinuxCNC signals and
specific hardware pins.
VAR : The var file is a way for the interpreter to
save some values from one run to the next. These
values are saved from one run to another but not
always saved immediately.
TBL : The tbl file saves tool information.
NML : The nml file configures the communication
channels used by the LinuxCNC. It is normally
setup to run all of the communication within a
single computer but can be modified to
communicate between several computers.
14
Configuring LinuxCNC


The INI File Components






Comments
Sections
Variables
Custom Sections and Variables

Sections
Comments
Variables

15
Configuring LinuxCNC


Sections












[EMC] general information
[DISPLAY] settings related to the graphical user interface
[FILTER] settings input filter programs
[RS274NGC] settings used by the g-code interpreter
[EMCMOT] settings used by the real time motion
controller
[TASK] settings used by the task controller
[HAL] specifies .hal files
[HALUI] MDI commands used by HALUI
[TRAJ] additional settings used by the real time motion
controller
[AXIS_n] individual axis variables
[EMCIO] settings used by the I/O Controller

Example
16
Configuring LinuxCNC


Hardware Abstraction Layer (HAL)









Component
Parameter
Pin
Physical_Pin
Signal
Type
Function
Thread

17
Configuring LinuxCNC


Hardware Abstraction Layer (HAL)




Component
 A HAL component is a piece of software with
well-defined inputs, outputs, and behavior,
that can be installed and interconnected as
needed.
Parameter
 Many hardware components have adjustments
that are not connected to any other
components but still need to be accessed.
There are two types of parameters: input &
Output
18
Configuring LinuxCNC


Hardware Abstraction Layer (HAL)




Pin
 Hardware components have terminals which
are used to interconnect them. The HAL
equivalent is a pin or HAL pin. HAL pins are
software entities that exist only inside the
computer.
Physical_Pin
 Many I/O devices have real physical pins or
terminals that connect to external hardware.
To avoid confusion, these are referred to as
physical pins. These are the things that stick
out into the real world.

19
Configuring LinuxCNC


Hardware Abstraction Layer (HAL)


Signal




In a physical machine, the terminals of real
hardware components are interconnected by wires.

Type
 Bit - a single TRUE/FALSE or ON/OFF value






float - a 64 bit floating point value, with
approximately 53 bits of resolution and over 1000
bits of dynamic range.
u32 - a 32 bit unsigned integer, legal values are 0
to 4,294,967,295
s32 - a 32 bit signed integer, legal values are 2,147,483,647 to +2,147,483,647
Both pins and signals have types, and signals can
only be connected to pins of the same type

20
Configuring LinuxCNC


Hardware Abstraction Layer (HAL)




Function
 Each function is a block of code that performs
a specific action. The system integrator can
use threads to schedule a series of functions
to be executed in a particular order and at
specific time intervals.
Thread
 A thread is a list of functions that runs at
specific intervals as part of a realtime task.
When a thread is first created, it has a specific
time interval (period), but no functions.
Functions can be added to the thread, and will
be executed in order every time the thread
runs.
21
Configuring LinuxCNC

22
Configuring LinuxCNC


HAL Commands


loadrt


The command loadrt loads a real time HAL
component. Real time component
functions need to be added to a thread to
be updated at the rate of the thread

23
Configuring LinuxCNC


HAL Commands


addf


The command addf adds a real time
component function to a thread. You have
to add a function from a HAL real time
component to a thread to get the function
to update at the rate of the thread.

24
Configuring LinuxCNC


HAL Commands


loadusr


The command loadusr loads a user space
HAL component. User space programs are
their own separate processes, which
optionally talk to other HAL components
via pins and parameters. You cannot load
real time components into user space.

25
Configuring LinuxCNC


HAL Commands


net


The command net creates
a connection between a signal and and
one or more pins. If the signal does not
exist net creates the new signal.

26
Configuring LinuxCNC


HAL Commands


setp


The command setp sets the value of a pin
or parameter. The valid values will
depend on the type of the pin or
parameter.

27
Configuring LinuxCNC


HAL Commands


unlinkp


The command unlinkp unlinks a pin from
the connected signal. If no signal was
connected to the pin prior running the
command, nothing happens.

28
Configuring LinuxCNC


Example :



core_stepper.hal
standard_pinout.hal

29
Appendix


Parallel Port Driver


installing




Pins







loadrt hal_parport cfg="<config-string>"
parport.<p>.pin-<n>-out (bit) Drives a physical output pin.
parport.<p>.pin-<n>-in (bit) Tracks a physical input pin.
parport.<p>.pin-<n>-in-not (bit)Tracks a physical input pin,
but inverted.

Parameters




parport.<p>.pin-<n>-out-invert (bit) Inverts an output pin.
parport.<p>.pin-<n>-out-reset (bit) (only for out pins) TRUE
if this pin should be reset when the -reset function is executed.
parport.<p>.reset-time' (U32) The time (in nanoseconds)
between a pin is set by write and reset by the reset function if
it is enabled.

30
Appendix


Parallel Port Driver


Functions








parport.<p>.read (funct) Reads physical input pins
of port <portnum> and updates HAL -in and -innot pins.
parport.read-all (funct) Reads physical input pins of
all ports and updates HAL -in and -in-not pins.
parport.<p>.write (funct) Reads HAL -out pins of
port <p> and updates that port’s physical output
pins.
parport.write-all (funct) Reads HAL -out pins of all
ports and updates all physical output pins.
parport.<p>.reset (funct) Waits until reset-time has
elapsed since the associated write, then resets pins
to values indicated by -out-invert and -outinvert settings.

31
Appendix


software step pulse generation


installing




loadrt stepgen step_type=type0[,type1...]
[ctrl_type=type0[,type1...]] [user_step_type=#,#...]

FUNCTIONS






stepgen.make-pulses (no floating-point)
Generates the step pulses, using information computed
by update-freq. Must be called as frequently as possible, to
maximize the attainable step rate and minimize jitter.
Operates on all channels at once.
stepgen.capture-position (uses floating point)
Captures position feedback value from the high speed code
and makes it available on a pin for use elsewhere in the
system. Operates on all channels at once.
stepgen.update-freq (uses floating point)
Accepts a velocity or position command and converts it into a
form usable by make-pulses for step generation. Operates
on all channels at once.

32
Appendix


software step pulse generation


PINS














stepgen.N.counts s32 out
The current position, in counts, for channel N. Updated by captureposition.
stepgen.N.position-fb float out
The current position, in length units (see parameter position-scale).
Updated by capture-position.
stepgen.N.enable bit in
Enables output steps - when false, no steps are generated.
stepgen.N.velocity-cmd float in (velocity mode only)
Commanded velocity, in length units per second (see
parameter position-scale).
stepgen.N.position-cmd float in (position mode only)
Commanded position, in length units (see parameter position-scale).
stepgen.N.step bit out
Step pulse output.
stepgen.N.dir bit out
Direction output: low for forward, high for reverse.

33
Appendix


software step pulse generation


PARAMETERS

stepgen.N.frequency float ro
The current step rate, in steps per second, for channel N.

stepgen.N.maxaccel float rw
The acceleration/deceleration limit, in length units per second squared.

stepgen.N.maxvel float rw
The maximum allowable velocity, in length units per second. If the requested maximum
velocity cannot be reached with the current combination of scaling andmake-pulses thread
period, it will be reset to the highest attainable value.

stepgen.N.position-scale float rw
The scaling for position feedback, position command, and velocity command, in steps per
length unit.

stepgen.N.rawcounts s32 ro
The position in counts, as updated by make-pulses. (Note: this is updated more frequently
than the counts pin.)

stepgen.N.steplen u32 rw
The length of the step pulses, in nanoseconds. Measured from rising edge to falling edge.

stepgen.N.stepspace u32 rw
The minimum space between step pulses, in nanoseconds. Measured from falling edge to
rising edge.

stepgen.N.dirsetup u32 rw
The minimum setup time from direction to step, in nanoseconds periods. Measured from
change of direction to rising edge of step.

stepgen.N.dirhold u32 rw
The minimum hold time of direction after step, in nanoseconds. Measured from falling edge
of step to change of direction.

34
Installing LinuxCNC
DMP Electronics INC

35
LinuxCNC


Installing Ubuntu and LinuxCNC
from the LinuxCNC Live-CD




Ubuntu 8.04 "Hardy Heron" LTS
Ubuntu 10.04 "Lucid Lynx" LTS

36
Download


http://www.linuxcnc.org/index.php/english/downl
oad

37
LinuxCNC

38
LinuxCNC Start

39
Stepping Start

40
Install build-dev


http://www.linuxcnc.org/hardy/dists/hardy/linuxcnc
2.5/source/linuxcnc_2.5.3.dsc

41
Install build-dev & Git

42
Get Source

存放的目的地

43
Building LinuxCNC

44
Building LinuxCNC

45
Building LinuxCNC

46
Building LinuxCNC

47
Building LinuxCNC

48
Building LinuxCNC

49
LinuxCNC

50
LinuxCNC

51
LinuxCNC
Python Virtual Control Panel

52
53
54
55
56
57
58
PyVCP




Python based virtual control panel
Can be added to the Axis GUI
Be stand alone.

59
PyVCP



Customize interface
Test or monitor

60
Panel Construction



Specify with an XML file
Widget tags are placed between
<pyvcp> and </pyvcp>

61
Panel Construction




Connect HAL signals to and from the
PyVCP pins
Example

62
AXIS
1.

2.

3.

4.

Create an .xml file that contains your
panel description and put it in your
config directory.
Add the PyVCP entry to the [DISPLAY]
section of the ini file with your .xml file
name.
Add the POSTGUI_HALFILE entry to the
[HAL] section of the ini file with the
name of your postgui HAL file name.
Add the links to HAL pins for your panel
in the postgui.hal file to connect your
PyVCP panel to LinuxCNC
63
AXIS

64
AXIS


Create an .xml

65
AXIS


[DISPLAY] section (.ini file)




[HAL] section (.ini file)




PYVCP = spindle.xml

POSTGUI_HALFILE =
spindle_to_pyvcp.hal

links to HAL pins (.hal file)


net spindle-rpm-filtered =>
pyvcp.spindle-speed

66
Stand Alone
1.

2.
3.

Create an .xml file that contains
your panel description and put it in
your config directory
Add a loadusr line to your .hal file
to load each panel.
Add the links to HAL pins for your
panel in the postgui.hal file
to connect your PyVCP panel to
LinuxCNC.
67
Stand Alone


load a stand alone PyVCP panel




loadusr -Wn mypanel pyvcp -g WxH+X+Y -c
mypanel <path/>panel_file.xml
 -Wn panelname
 pyvcp < -g> < -c> panel.xml
 -g <WxH><+X+Y>
 -c panelname

Example



loadusr -Wn mypanel pyvcp -g
250x500+800+0 -c mypanel mypanel.xml
loadusr pyvcp mypanel.xml

68
Widgets



Bits are off/on signals
Numbers can be float, s32 or u32
1.
2.
3.
4.
5.

indicate bit signals: led, rectled
control bit signals: button, checkbutton,
radiobutton
indicate number signals: number, s32, u32,
bar, meter
control number signals: spinbox, scale,
jogwheel
Helper widgets: hbox, vbox, table, label,
labelframe

69
Widgets -- General Notes


tag-based and attribute-based
syntax






<led halpin="my-led"/>
<led>
<halpin>"my-led"</halpin>
</led>

Comments


<!-- My Comment -->

70
Widgets


Label


<label>
<text>"This is a Label:"</text>
<font>("Helvetica",20)</font>
</label>

71
Widgets


LEDs (bit)


Round LED



Rectangle LED

72
Widgets


Buttons (bit)


Text Button



Checkbutton

73
Widgets


Buttons (bit)


Radiobutton

74
Widgets


Number Displays (number)


Number



s32 Number / u32 Number

75
Widgets


Number Displays (number)


Bar



Meter

76
Widgets


Number Inputs (number)


Spinbox



Dial

77
Widgets


Number Inputs (number)


Scale

78
Widgets


Number Inputs (number)


Jogwheel

79
Widgets


Images


Image Bit



Image u32

80
Widgets


Containers


Borders

81
Widgets


Containers


Hbox



Vbox

82
Widgets


Containers


Table

83
Widgets


Containers


Tabs

84
Widgets


Containers


Labelframe

85
Example


With AXIS interface

86
Example – Jog Buttons


custompanel.xml file

87
Example – Jog Buttons


custom_postgui.hal file

88
Example -- Port Tester


ptest.xml file

89
Example -- Port Tester




ptest.hal file

To run the HAL file we use the following
command from a terminal window.


halrun -I -f ptest.hal

90
Thanks.
91

More Related Content

What's hot

Virtual Machine Constructions for Dummies
Virtual Machine Constructions for DummiesVirtual Machine Constructions for Dummies
Virtual Machine Constructions for Dummies
National Cheng Kung University
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
marsee101
 
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtKernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Anne Nicolas
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
 
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite PreviewMachine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Modulabs
 
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Deepak Shankar
 
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
Jun Ando
 
Sw技術者に送るfpga入門
Sw技術者に送るfpga入門Sw技術者に送るfpga入門
Sw技術者に送るfpga入門
直久 住川
 
伺服馬達控制
伺服馬達控制伺服馬達控制
伺服馬達控制
艾鍗科技
 
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
National Cheng Kung University
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
直久 住川
 
RISC-V software state of the union
RISC-V software state of the unionRISC-V software state of the union
RISC-V software state of the union
RISC-V International
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver
艾鍗科技
 
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
Junichi Akita
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
 
The Microkernel Mach Under NeXTSTEP
The Microkernel Mach Under NeXTSTEPThe Microkernel Mach Under NeXTSTEP
The Microkernel Mach Under NeXTSTEPGregor Schmidt
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
吳錫修 (ShyiShiou Wu)
 
Yet another introduction to Linux RCU
Yet another introduction to Linux RCUYet another introduction to Linux RCU
Yet another introduction to Linux RCU
Viller Hsiao
 
Controller Implementation in Verilog
Controller Implementation in VerilogController Implementation in Verilog
Controller Implementation in Verilog
Anees Akhtar
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
National Cheng Kung University
 

What's hot (20)

Virtual Machine Constructions for Dummies
Virtual Machine Constructions for DummiesVirtual Machine Constructions for Dummies
Virtual Machine Constructions for Dummies
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
 
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven RostedtKernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
Kernel Recipes 2017 - Understanding the Linux kernel via ftrace - Steven Rostedt
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite PreviewMachine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
 
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
 
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
 
Sw技術者に送るfpga入門
Sw技術者に送るfpga入門Sw技術者に送るfpga入門
Sw技術者に送るfpga入門
 
伺服馬達控制
伺服馬達控制伺服馬達控制
伺服馬達控制
 
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
RISC-V software state of the union
RISC-V software state of the unionRISC-V software state of the union
RISC-V software state of the union
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver
 
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
The Microkernel Mach Under NeXTSTEP
The Microkernel Mach Under NeXTSTEPThe Microkernel Mach Under NeXTSTEP
The Microkernel Mach Under NeXTSTEP
 
Python與Ardinio整合應用
Python與Ardinio整合應用Python與Ardinio整合應用
Python與Ardinio整合應用
 
Yet another introduction to Linux RCU
Yet another introduction to Linux RCUYet another introduction to Linux RCU
Yet another introduction to Linux RCU
 
Controller Implementation in Verilog
Controller Implementation in VerilogController Implementation in Verilog
Controller Implementation in Verilog
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 

Viewers also liked

馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗roboard
 
3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)
3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)
3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)
roboard
 
BLDC FOC 控制原理
BLDC FOC 控制原理BLDC FOC 控制原理
BLDC FOC 控制原理roboard
 
3D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 2014
3D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 20143D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 2014
3D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 2014roboard
 
打造四軸飛行器
打造四軸飛行器打造四軸飛行器
打造四軸飛行器
大峯 黃
 
專題製作 六軸機械手臂控制
專題製作 六軸機械手臂控制專題製作 六軸機械手臂控制
專題製作 六軸機械手臂控制
艾鍗科技
 
六足機器人超入門簡介
六足機器人超入門簡介六足機器人超入門簡介
六足機器人超入門簡介roboard
 
Introduction to Vortex86EX SoC
Introduction to Vortex86EX SoCIntroduction to Vortex86EX SoC
Introduction to Vortex86EX SoC
roboard
 
認識 RoBoard 硬體
認識 RoBoard 硬體認識 RoBoard 硬體
認識 RoBoard 硬體roboard
 
Introduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control ModulesIntroduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control Modulesroboard
 
Robotis Servo 與 RoBoard 之連接介面
Robotis Servo 與 RoBoard 之連接介面Robotis Servo 與 RoBoard 之連接介面
Robotis Servo 與 RoBoard 之連接介面roboard
 
RoBoard 與 Lego NXT Sensors 之連接
RoBoard 與 Lego NXT Sensors 之連接RoBoard 與 Lego NXT Sensors 之連接
RoBoard 與 Lego NXT Sensors 之連接roboard
 
86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材
roboard
 
廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程
roboard
 
Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得
roboard
 
Introduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation BoardIntroduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation Boardroboard
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
宗凡 楊
 

Viewers also liked (18)

馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗馬達基本認識與 BLDC 驅動實驗
馬達基本認識與 BLDC 驅動實驗
 
3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)
3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)
3D Printer 韌體原始碼解析心得 (以 Marlin 為對象)
 
BLDC FOC 控制原理
BLDC FOC 控制原理BLDC FOC 控制原理
BLDC FOC 控制原理
 
3D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 2014
3D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 20143D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 2014
3D Printer 關鍵軟體控制技術之分析與探討 @ COSCUP 2014
 
打造四軸飛行器
打造四軸飛行器打造四軸飛行器
打造四軸飛行器
 
專題製作 六軸機械手臂控制
專題製作 六軸機械手臂控制專題製作 六軸機械手臂控制
專題製作 六軸機械手臂控制
 
六足機器人超入門簡介
六足機器人超入門簡介六足機器人超入門簡介
六足機器人超入門簡介
 
Introduction to Vortex86EX SoC
Introduction to Vortex86EX SoCIntroduction to Vortex86EX SoC
Introduction to Vortex86EX SoC
 
認識 RoBoard 硬體
認識 RoBoard 硬體認識 RoBoard 硬體
認識 RoBoard 硬體
 
Introduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control ModulesIntroduction to Vortex86EX Motion Control Modules
Introduction to Vortex86EX Motion Control Modules
 
Robotis Servo 與 RoBoard 之連接介面
Robotis Servo 與 RoBoard 之連接介面Robotis Servo 與 RoBoard 之連接介面
Robotis Servo 與 RoBoard 之連接介面
 
RoBoard 與 Lego NXT Sensors 之連接
RoBoard 與 Lego NXT Sensors 之連接RoBoard 與 Lego NXT Sensors 之連接
RoBoard 與 Lego NXT Sensors 之連接
 
86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材86Duino 小六足機器人 DIY 課程教材
86Duino 小六足機器人 DIY 課程教材
 
廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程廢柴小六足機器人 DIY 課程
廢柴小六足機器人 DIY 課程
 
Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得
 
02 86 duino_簡介
02 86 duino_簡介02 86 duino_簡介
02 86 duino_簡介
 
Introduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation BoardIntroduction to Vortex86DX2 Motion-Control Evaluation Board
Introduction to Vortex86DX2 Motion-Control Evaluation Board
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
 

Similar to LinuxCNC 入門簡介

Linux cnc overview
Linux cnc overviewLinux cnc overview
Linux cnc overviewNylon
 
The Basics of programming
The Basics of programmingThe Basics of programming
The Basics of programming
692sfrobotics
 
Chapter 02
Chapter 02Chapter 02
Chapter 02cclay3
 
Rohan Narula_Resume
Rohan Narula_ResumeRohan Narula_Resume
Rohan Narula_Resume
Rohan Narula
 
My seminar new 28
My seminar new 28My seminar new 28
My seminar new 28rajeshkvdn
 
KINGSTAR SOFTWARE PLC.pptx
KINGSTAR SOFTWARE PLC.pptxKINGSTAR SOFTWARE PLC.pptx
KINGSTAR SOFTWARE PLC.pptx
Kingstar
 
Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 vijaydeepakg
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB WorkshopAntonio Mondragon
 
KINGSTAR Fieldbus.pptx
KINGSTAR Fieldbus.pptxKINGSTAR Fieldbus.pptx
KINGSTAR Fieldbus.pptx
Kingstar
 
Best Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing ClustersBest Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing Clusters
Intel® Software
 
Nt1310 Unit 5 Algorithm
Nt1310 Unit 5 AlgorithmNt1310 Unit 5 Algorithm
Nt1310 Unit 5 Algorithm
Angie Lee
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
Hideki Takase
 
The Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft ProcessorThe Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft Processor
Deepak Tomar
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
Michal Rostecki
 
Arm architecture
Arm architectureArm architecture
Arm architecture
MinYeop Na
 
Snabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporterSnabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporter
Igalia
 

Similar to LinuxCNC 入門簡介 (20)

Linux cnc overview
Linux cnc overviewLinux cnc overview
Linux cnc overview
 
The Basics of programming
The Basics of programmingThe Basics of programming
The Basics of programming
 
Chapter 02
Chapter 02Chapter 02
Chapter 02
 
Rohan Narula_Resume
Rohan Narula_ResumeRohan Narula_Resume
Rohan Narula_Resume
 
My seminar new 28
My seminar new 28My seminar new 28
My seminar new 28
 
SudheerV_resume_a
SudheerV_resume_aSudheerV_resume_a
SudheerV_resume_a
 
KINGSTAR SOFTWARE PLC.pptx
KINGSTAR SOFTWARE PLC.pptxKINGSTAR SOFTWARE PLC.pptx
KINGSTAR SOFTWARE PLC.pptx
 
Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 Sudhir tms 320 f 2812
Sudhir tms 320 f 2812
 
Agnostic Device Drivers
Agnostic Device DriversAgnostic Device Drivers
Agnostic Device Drivers
 
Assignment
AssignmentAssignment
Assignment
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
 
KINGSTAR Fieldbus.pptx
KINGSTAR Fieldbus.pptxKINGSTAR Fieldbus.pptx
KINGSTAR Fieldbus.pptx
 
CaseStudies
CaseStudiesCaseStudies
CaseStudies
 
Best Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing ClustersBest Practices and Performance Studies for High-Performance Computing Clusters
Best Practices and Performance Studies for High-Performance Computing Clusters
 
Nt1310 Unit 5 Algorithm
Nt1310 Unit 5 AlgorithmNt1310 Unit 5 Algorithm
Nt1310 Unit 5 Algorithm
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
The Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft ProcessorThe Microarchitecure Of FPGA Based Soft Processor
The Microarchitecure Of FPGA Based Soft Processor
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
Snabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporterSnabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporter
 

Recently uploaded

GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

LinuxCNC 入門簡介