Python 用于协作机器人
在 Rozum Robotics,我们的使命是创建安全易用的协作机器人手臂。我们正在努力使机器人能够尽快集成到不同的工作场所和行业中。
此外,我们的目标不仅是让最终用户能够借助 UI 使用机器人,还要开发复杂的工业级应用程序,以充分利用机器人和辅助设备的潜力。当公司内部讨论使用哪种编程语言来实现这些目标时,有很多强大且成熟的竞争者(例如 Java 和 C/C++),但 Python 的优势胜过所有其他选择。
为 Pulse 机器人手臂设计、实现和公开 Python API 的过程是我们首次成功的经验。开发和设置的简单性(在基本情况下,包括安装解释器、运行一个 pip install 命令,以及编写几行代码来访问机器人功能)导致 Python 语言在公司流程和代码库中得到广泛扩展。
例如,我们的 QA 团队开始使用社区提供的开源工具创建自动化测试管道。这使测试系统所需的时间从几天减少到几个小时。但是,当然,主要的好处是,我们为每个拥有机器人的人创造了开发使用我们机器人的高级应用程序的机会。在使用机器人 API 取得可喜的成果后,我们选择了下一个里程碑。
机器人手臂不是公司唯一的 产品,我们还有伺服电机,我们也想用 Python 控制它们。
电机 API 是用 C 编写的,因此用 Python 封装它没有问题。同样,这个小库和各种开源库帮助我们构建了多样化的基础设施。例如:各种带有自动生成报告和结果自动通知的测试台,以及研究应用程序使我们有可能使我们的硬件和软件变得更好。
不用说,这有助于为最终用户建立“即插即用”的体验。

接下来是另一个故事,Python 在我们的 Rozum Cafe 项目中发挥着至关重要的作用。它最初只是一个晚上的有趣项目,但已经发展成为一个工业应用程序。该语言已成为粘合所有部分的胶水,包括机器人手臂控制、支付处理、系统状态监控等。我们公司未来 Python 扩展计划包括几个主题。首先,我们正在为用户程序构建自定义执行运行时。它应该提供一个安全(从机器人技术的角度来看)且易于使用的环境,该环境可以访问丰富的 Python 功能和软件包以及机器人手臂设施。其次,我们继续自动化研发活动,以减少执行必要计算和分析所需的时间和精力。第三,我们的集成团队正在为不同的行业开发机器人解决方案,Python 已成为他们在原型设计和工业集成过程中的最佳帮手。
结论 本文中阐述的故事只是 Python 如何影响机器人领域的一些例子。Python 社区因其正在创建和改进的优秀软件包和语言而值得称赞。
以下是我们使用的一些简短列表:NumPy、Matplotlib、Pandas、PyTorch、Jupyter、Flask、FastAPI、SQLAlchemy、Gunicorn、Requests、PyTest、Cookiecutter、ROS 库等等。Python 生态系统背后的人们真是太棒了,我们希望他们(和我们)继续他们的卓有成效的工作,让世界变得更美好!
关于作者 Ilya Grozov 是 Rozum Robotics 的软件工程师和机器人研究员。