<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>工业机器人编程 Archives - RoboDK 博客</title>
	<atom:link href="https://robodk.com/cn/blog/tag/%e5%b7%a5%e4%b8%9a%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%bc%96%e7%a8%8b/feed/" rel="self" type="application/rss+xml" />
	<link>https://robodk.com/cn/blog/tag/工业机器人编程/</link>
	<description>工业机器人应用从未如此简单</description>
	<lastBuildDate>Fri, 05 Jun 2020 23:20:01 +0000</lastBuildDate>
	<language>en-CA</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Python, C#, C++ 或者 MATLAB ——使用哪种语言给工业机器人编程更好？</title>
		<link>https://robodk.com/cn/blog/%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%bc%96%e7%a8%8b%e9%80%9a%e7%94%a8%e8%af%ad%e8%a8%80/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e6%259c%25ba%25e5%2599%25a8%25e4%25ba%25ba%25e7%25bc%2596%25e7%25a8%258b%25e9%2580%259a%25e7%2594%25a8%25e8%25af%25ad%25e8%25a8%2580</link>
					<comments>https://robodk.com/cn/blog/%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%bc%96%e7%a8%8b%e9%80%9a%e7%94%a8%e8%af%ad%e8%a8%80/#respond</comments>
		
		<dc:creator><![CDATA[RoboDK China]]></dc:creator>
		<pubDate>Fri, 23 Nov 2018 15:21:11 +0000</pubDate>
				<category><![CDATA[机器人编程]]></category>
		<category><![CDATA[知识介绍]]></category>
		<category><![CDATA[工业机器人编程]]></category>
		<category><![CDATA[机器人API]]></category>
		<category><![CDATA[机器人C#编程]]></category>
		<category><![CDATA[机器人Python编程]]></category>
		<guid isPermaLink="false">https://robodk.com/cn/blog/?p=820</guid>

					<description><![CDATA[<p>使用“高阶”语言给工业机器人编程有很多好处。那么，哪种语言更适合于机器人编程呢——是 Python, C# 还是 MATLAB？ 这里的“高阶”指的是更接近于人类语言。本质上，最低阶的机器语言只包含0跟1两个字符，我们无法读懂。高阶编程语言降低了编程难度，这帮助用户节省编程时间、也更容易完成复杂的编程功能。高阶语言通过编译后变成机器能读懂的低阶机器语言。给工业机器人编程时，机器人厂商一般会开放其品牌特有的语言函数库给用户使用，用户完成程序后通过编译、并在机器人控制器上运行。而通用的编程语言让用户无需学习各个品牌机器人特有的编程语言。 那么，选择哪种高阶语言给机器人编程呢？ 品牌特有的语言比如 RAPID（ABB机器人），KRL（库卡KUKA机器人），JBI（安川Motoman机器人）与 Karel（发那科Fanuc机器人）等等。 这些语言只能在本品牌机器人的控制器上使用。 而四种常见的通用编程语言，有 Python，C#，C++ 与 MATLAB。今天，我们就来介绍一下这4种通用编程语言的优劣之处。不过首先我们来解答一下，为什么需要使用高阶编程语言呢？ 高阶编程语言的优势 起初，机器人只能通过低阶语言编程，最早的例如1973年左右出现的 MHI，VAL 以及 SIGLA 语言，其功能都非常有限。多数语言只能应用于与其相匹配的特定型号机器人，以控制机器人简单的运动，操作也不灵活。 多年后，编程语言变得更加先进，用户开始使用更通用、高阶的语言来控制机器人。C++ 出现在1982年，Python 在1990年，而 MATLAB 出生于2012年。使用通用的高阶语言给机器人编程，相对于使用专有的、并且只有一套“封闭的”语言函数库来说，有更大的益处。例如： 可以对不同的机器人重复使用（部分）程序代码 可以不断在函数库中添加新的机器人功能 使用高级的调试工具——机器人厂商很少提供他们特有语言的程序调试器 因为通用编程语言的用户群体庞大而更容易解决问题 &#8230; </p>
<p>The post <a href="https://robodk.com/cn/blog/%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%bc%96%e7%a8%8b%e9%80%9a%e7%94%a8%e8%af%ad%e8%a8%80/">Python, C#, C++ 或者 MATLAB ——使用哪种语言给工业机器人编程更好？</a> appeared first on <a href="https://robodk.com/cn/blog">RoboDK 博客</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><b>使用“高阶”语言给工业机器人编程有很多好处。那么，哪种语言更适合于机器人编程呢——是 Python, C# 还是 MATLAB？</b><span id="more-820"></span></p>
<p>这里的“高阶”指的是更接近于人类语言。本质上，最低阶的机器语言只包含0跟1两个字符，我们无法读懂。高阶编程语言降低了编程难度，这帮助用户<span style="display: inline !important; float: none; background-color: transparent; color: #404040; cursor: text; font-family: 'Lato','Helvetica Neue',helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">节省编程</span>时间、也更容易完成复杂的编程功能。高阶语言通过编译后变成机器能读懂的低阶机器语言。给工业机器人编程时，机器人厂商一般会开放其品牌特有的语言函数库给用户使用，用户完成程序后通过编译、并在机器人控制器上运行。而通用的编程语言让用户无需学习各个品牌机器人特有的<a href="https://robodk.com/cn/blog/离线编程/">编程语言</a>。</p>
<p>那么，选择哪种高阶语言给机器人编程呢？</p>
<p>品牌特有的语言比如 RAPID（ABB机器人），KRL（库卡KUKA机器人），JBI（安川Motoman机器人）与 Karel（发那科Fanuc机器人）等等。 这些语言只能在本品牌机器人的控制器上使用。</p>
<p>而四种常见的通用编程语言，有 Python，C#，C++ 与 MATLAB。今天，我们就来介绍一下这4种通用编程语言的优劣之处。不过首先我们来解答一下，为什么需要使用高阶编程语言呢？</p>
<h5>高阶编程语言的优势</h5>
<p>起初，机器人只能通过低阶语言编程，最早的例如1973年左右出现的 MHI，VAL 以及 SIGLA 语言，其功能都非常有限。多数语言只能应用于与其相匹配的特定型号机器人，以控制机器人简单的运动，操作也不灵活。</p>
<p>多年后，编程语言变得更加先进，用户开始使用更通用、高阶的语言来控制机器人。C++ 出现在1982年，Python 在1990年，而 MATLAB 出生于2012年。使用通用的高阶语言给机器人编程，相对于使用专有的、并且只有一套“封闭的”语言函数库来说，有更大的益处。例如：</p>
<ul>
<li>可以对不同的机器人重复使用（部分）程序代码</li>
<li>可以不断在函数库中添加新的机器人功能</li>
<li>使用高级的调试工具——机器人厂商很少提供他们特有语言的程序调试器</li>
<li>因为通用编程语言的用户群体庞大而更容易解决问题</li>
</ul>
<p><a href="https://robodk.com/blog/wp-content/uploads/2018/07/Robot-Programming-Debugging-1.png"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-921" src="https://robodk.com/blog/wp-content/uploads/2018/07/Robot-Programming-Debugging-1.png" sizes="(max-width: 477px) 100vw, 477px" alt="机器人编程调试" width="477" height="307" /></a></p>
<h4>Python 对比 C#, C++ 对比 MATLAB ——哪种更好？</h4>
<p><a href="https://robodk.com/blog/wp-content/uploads/2018/07/High-level-programming-language-robotics.png"><img decoding="async" class="alignright wp-image-918" src="https://robodk.com/blog/wp-content/uploads/2018/07/High-level-programming-language-robotics-300x289.png" sizes="(max-width: 274px) 100vw, 274px" alt="机器人编程语言" width="274" height="264" /></a>在通用的高阶语言中，要知道哪种语言最适合于你需要实现的机器人项目，可以通过对比各种语言的优势与劣势来判断。</p>
<p>以上文中介绍的通用语言优势为基础，我们来比较一下目前最常见的四种编程语言：Python, C#, C++ 与 MATLAB。当然在有些时候，还可以根据需要在同一个项目中使用一种以上的语言。</p>
<h4>Python</h4>
<p><a href="https://en.wikipedia.org/wiki/Python_(programming_language)" target="_blank" rel="noopener noreferrer">Python</a> 在设计时以简单易懂为前提，尽管在90年代已经被开发，直到近年来用户群数量获得极大的增长。用户普遍认为 Python 容易学习，对于已经有其他语言编程基础的用户来说 Python 也很容易上手。对于一名年轻的机器人编程人员，容易开始。</p>
<p>使用 Python 给机器人编程的优势是：</p>
<ul>
<li>易学易懂</li>
<li>可利用强大的函数工具库</li>
<li>可重复使用的代码</li>
<li>用户群庞大，容易获得帮助</li>
</ul>
<p>使用 Python 给机器人编程的缺点：</p>
<ul>
<li>在庞大而复杂的项目中，程序容易显得无序。</li>
<li>各项指标都不错，但是没有特别的长处。</li>
<li>由于是“直译式”语言，有时不易于查错。</li>
</ul>
<p>我们认为 Python 对于快速、小到中型的机器人编程项目来说优势最明显——在对系统的“实时性能”要求不高的情况下，用户可以使用它强大的功能以及函数工具库。而如果你需要更稳定、高效的程序，那么 Python 可能不是最好的选择。</p>
<h4>C#</h4>
<p><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)" target="_blank" rel="noopener noreferrer">C#</a> 由微软于2000年后开发，之后迅速获得用户欢迎，特别在生产制造行业中成为被使用最多的编程语言之一。不同于 C++ 语言的是，C# 更容易学习，因为它自动对内存进行管理，采用“垃圾回收”机制释放不需要的内存。</p>
<p>使用 C# 给机器人编程的优势是：</p>
<ul>
<li>容易学习并且容易集成于大型项目中</li>
<li>强大而多样的函数库</li>
<li>出色而且免费的开发环境（微软Visual C# Express）</li>
<li>微软的 Visual Studio 包括非常有用的团队开发工具</li>
<li>C# 在 .NET 框架下运行，具有与其他程序语言的良好互操作性</li>
</ul>
<p>使用 C# 给机器人编程的缺点：</p>
<ul>
<li>不适合在其他系统环境（例如 Linux）中开发</li>
<li>由于C# 是为 Windows 设计，C# 程序在非 Windows 系统环境下也不容易运行</li>
</ul>
<p>很多人机交互界面（HMI，即Human Machine Interfaces）项目都是使用 C# 开发的，也是数据采集与监控控制（SCADA，即Supervisory Control and Data Acquisition） 系统的一部分。</p>
<h4>C++</h4>
<p><a href="https://en.wikipedia.org/wiki/C%2B%2B" target="_blank" rel="noopener noreferrer">C++</a> 是一种基于C语言的“面向对象”编程语言。它背后的设计关键是性能，并且代码容易管理。假设我们至始至终只能选择一种语言给机器人编程，那么我们会推荐使用 C++。虽然 Python 更加容易使用（前文中也做了推荐），但是，一个更重要的因素是程序的性能，C++ 所具有的这个优势不容忽视。</p>
<p>如果你是认真地想学习机器人，完美利用它的高级功能，我们建议学习跟使用 C/C++。给机器人编程，技术等级由低（例如嵌入式马达与探测器控制）到高（例如人工智能），这些功能使用 C++ 能够全部胜任，能做到这一点的编程语言并不多。</p>
<p>使用 C++ 给机器人编程的优势是：</p>
<ul>
<li>性能（假设你的程序足够好）</li>
<li>可以利用很多函数工具库（很多Python工具库都是 C++ 工具库的封套）</li>
<li>“高阶”编程语言中的“低阶”语言，对硬件的控制性更强</li>
<li>很多机器人硬件的<span style="display: inline !important; float: none; background-color: transparent; color: #404040; cursor: text; font-family: 'Lato','Helvetica Neue',helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">函数</span>工具库都是用 C/C++ 写成的</li>
</ul>
<p>使用 C++ 给机器人编程的缺点：</p>
<ul>
<li>学习时间长、不容易写出合格的程序</li>
<li>通常需要多次调试</li>
<li>编程时间较长</li>
<li>第三方提供的函数库通常不易使用（不容易读懂）</li>
</ul>
<p>如果需要性能强大，或者与低阶机器人硬件交互，C++ 可能是最好的选择。但是，如果你想用最少的精力实现快速编程，C++ 就通常不被采用。</p>
<h4>MATLAB</h4>
<p><a href="https://en.wikipedia.org/wiki/MATLAB" target="_blank" rel="noopener noreferrer">MATLAB</a> 不仅仅是一种编程语言，而是一整个编程环境，它名字的由来是“矩阵实验室”，在数学（矩阵）领域尤其有效。</p>
<p>矩阵是机器人的基础，就像我们之前<a href="https://robodk.com/cn/blog/几何旋转与欧拉角/">介绍</a>的。MATLAB在工程师中广泛使用，应用于分析与仿真机器人。随着产品的发展，也可以通过界面工具控制机器人硬件。MATLAB 用于数据分析的函数库功能强大，但是控制机器人硬件不是它的强项。</p>
<p><span style="display: inline !important; float: none; background-color: transparent; color: #404040; cursor: text; font-family: 'Lato','Helvetica Neue',helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">使用 MATLAB 给机器人编程的优势是：</span></p>
<ul>
<li>强大的数据与机器人运动分析工具</li>
<li>快速完成可重复利用的代码</li>
<li>它的“机器人工具”也受到广泛欢迎</li>
<li>可以实现复杂的仿真</li>
</ul>
<p><span style="display: inline !important; float: none; background-color: transparent; color: #404040; cursor: text; font-family: 'Lato','Helvetica Neue',helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">使用 MATLAB 给机器人编程的缺点：</span></p>
<ul>
<li>MATLAB 本身不是为与机器人硬件交互所<span style="display: inline !important; float: none; background-color: transparent; color: #404040; cursor: text; font-family: 'Lato','Helvetica Neue',helvetica,arial,sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">设计的</span></li>
<li>作为一种“专利的”产品（语言与开发环境），价格不菲</li>
<li>由于用户需要购买 MATLAB，不容易与其他用户分享代码</li>
<li>由第三方提供的工具没有在其他语言中的那么多</li>
</ul>
<p>MATLAB 用于数据分析与仿真任务可能是最好的选择，但仅限于此。当真正为机器人硬件编程时，我们通常推荐使用其他的语言。</p>
<h4>总结</h4>
<p>本篇的几个要点：</p>
<ul>
<li>最简单的编程选择为 Python，适合较小的、快速的项目</li>
<li>如果在效率（取得快速结果）与性能中平衡，那么选择 C#</li>
<li>如果需要最优秀的性能，C++ 最佳</li>
<li>MATLAB 可能是最好的数据分析工具</li>
</ul>
<p>不管选择使用哪种语言，确保你的机器人编程环境支持这种语言。RoboDK 提供的应用编程接口（API），把你最喜爱的高阶语言应用于工业机器人之中。</p>
<p>The post <a href="https://robodk.com/cn/blog/%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%bc%96%e7%a8%8b%e9%80%9a%e7%94%a8%e8%af%ad%e8%a8%80/">Python, C#, C++ 或者 MATLAB ——使用哪种语言给工业机器人编程更好？</a> appeared first on <a href="https://robodk.com/cn/blog">RoboDK 博客</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://robodk.com/cn/blog/%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%bc%96%e7%a8%8b%e9%80%9a%e7%94%a8%e8%af%ad%e8%a8%80/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
