当前位置:   article > 正文

支付宝开放平台 沙箱_我们构建了一个开放式沙箱,用于训练机器人手以掌握事物...

支付宝 机器人 docker

支付宝开放平台 沙箱

by Ugo Cupcic

由Ugo Cupcic

我们构建了一个开放式沙箱,用于训练机器人手以掌握事物 (We built an open sandbox for training robotic hands to grasp things)

Getting started with robotics is probably a lot easier than you think. Here’s a simulation sandbox that’s cross-platform and provides a simple high level API. It should help you get started experimenting with robot grasping tasks.

机器人技术入门可能比您想象的要容易得多。 这是一个跨平台的模拟沙箱,提供了一个简单的高级API。 它应该可以帮助您开始尝试机器人抓取任务。

As the Chief Technical Architect at the Shadow Robot Company, I spend a lot of time playing with different algorithms to see how they’d fit our robots. Controlling a complex robot to make it behave the way you’d want in a complex environment is… complex!

作为Shadow Robot Company的首席技术架构师,我花了大量时间研究各种算法,以了解它们如何适合我们的机器人。 控制复杂的机器人以使其在复杂的环境中表现出您想要的方式非常复杂!

An important part of our roadmap relies on machine learning. I don’t want to have to specify every aspect of a problem — I’d rather the system learn the best way to approach a given problem itself.

我们路线图的重要部分依赖于机器学习 。 我不需要指定问题的每个方面,而是希望系统学习解决特定问题本身的最佳方法。

Setting up the environment to easily try different machine learning algorithms — for example for refining grasps — is not trivial. Here were my requirements:

设置环境以轻松尝试不同的机器学习算法(例如,改进抓取)并非易事。 这是我的要求:

  • a good simulation scene to get started: a robot, a 3d sensor, some objects to interact with, some furniture to plan around and use

    一个 很好的模拟场景,可以开始使用:机器人,3D传感器,可以与之交互的一些对象,可以规划和使用的一些家具

  • a variety of tools and libraries to get started quickly with playing with the robot: robotic framework (ROS), simulator (Gazebo), planning libraries (MoveIt!)

    各种工具和库来获得与机器人玩快速启动:机器人框架( ROS ),模拟器( 凉亭 (),规划库!MoveIt )

  • a way to run it headless while being able to visualize the data

    一种 无障碍 运行同时可视化数据的方法

  • easily deployable, well documented… all the usuals!

    易于 部署 ,有据可查...所有常态!

If you don’t want to read through the specifics but just want to get your hands on the sandbox you can head over to the github repository which contains the instruction for a quick start. For using the sandbox in the cloud you can also visit the ROS Development Studio where it’s deployed.

如果您不想通读细节,而只想开始使用沙盒,则可以转到github存储库 ,其中包含快速入门的说明。 要在云中使用沙箱,您还可以访问部署了它的ROS Development Studio

模拟 (The simulation)

The Smart Grasping Sandbox will be running on the Robotic Operating SystemROS. As a long time ROS user and contributor I’m very partial to using that framework. It’s the de facto open source framework designed for robotics. It takes the hassle of connecting the different components of a robotic system with a modular approach. This makes it possible to swap a given component easily. On top of that it’s driven by a thriving community, so you can always find the latest algorithm or driver.

Smart Grasping Sandbox将在机器人操作系统 ROS上运行 。 作为ROS的长期用户和贡献者,我非常喜欢使用该框架。 这是专为机器人设计的事实上的开源框架。 它需要用模块化的方法来连接机器人系统的不同组件。 这使得可以轻松交换给定的组件。 最重要的是,它由蓬勃发展的社区驱动,因此您始终可以找到最新的算法或驱动程序。

In order to teach a robot, it’s a good idea to start with a simulator. Running the algorithms on the actual hardware is not only more expensive but often less convenient: it’s harder to reset the environment in real life than in simulation. It’s also often harder to characterize the impact of the robot on the scene: did the ball get picked up? Was the grasp stable? All of this information is available out of the box in a simulator.

为了教机器人,从模拟器开始是一个好主意。 在实际硬件上运行算法不仅成本更高,而且通常不太方便:与仿真相比,在现实生活中重置环境更加困难。 通常很难描述机器人在现场的影响:是否捡起了球? 抓地力稳定吗? 所有这些信息都可以在模拟器中直接使用。

The simulator we’ll use is Gazebo; this is a physics simulator for robotics and is also tightly integrated with the ROS framework. Plenty of robot models are available in the simulator, from arms and grippers to quadcopters! In the Smart Grasping Sandbox, the robot I’m providing is a UR10 from Universal Robot with Shadow’s Smart Grasping System. The scene only contains two useful objects for now: a cricket ball and a drill. This is just a starting point. The scene will evolve with time. The 3d Vision sensor in the simulation is a Microsoft Kinect as it’s often used in robotics (yes, the very same Kinect you used to play Just Dance on your Xbox).

我们将使用的模拟器是Gazebo ; 这是一个用于机器人技术的物理模拟器,并且与ROS框架紧密集成。 模拟器中提供了大量机器人模型,从手臂和抓爪到四旋翼机! 在Smart Grasping Sandbox中,我提供的机器人是Universal Robot的Shadow的Smart Grasping System提供的UR10 。 目前,该场景仅包含两个有用的对象:板球和钻子。 这仅仅是一个起点。 场景会随着时间而变化。 模拟中的3d Vision传感器是Microsoft Kinect,因为它经常用在机器人技术中(是的,与您在Xbox上播放Just Dance时使用的Kinect完全相同)。

Docker容器 (Docker container)

Setting up the different frameworks and libraries is not trivial and takes time. To simplify the deployment, I’m automatically building a Docker image. If you’re not familiar with Docker, I won’t go into the specifics as it’s out of scope for this article, but let’s say it’s a super lightweight Virtual Machine like environment: you can spawn images very quickly while exploiting your computer’s full potential.

设置不同的框架和库并非易事,而且需要时间。 为了简化部署,我会自动构建一个Docker映像。 如果您不熟悉Docker,我将不做具体介绍,因为它不在本文讨论范围之内,但可以说它是一种超轻量级的虚拟机环境:您可以非常Swift地生成映像,同时充分利用计算机的全部潜能。

Deploying the image with Docker also makes it OS agnostic — ROS and Gazebo are more Linux friendly. It’s also a great way to test things on your laptop, then once you’re ready to start a longer experiment, simply spawn in in the cloud. Since I included a web interface to the simulator, you can even visualize what’s happening in simulation by connecting through your browser. To ease the development process, I included a Jupyter notebook which you can access through your browser.

使用Docker部署映像还使其与操作系统无关-ROS和Gazebo对Linux更友好。 这也是在笔记本电脑上测试事物的好方法,然后,一旦您准备开始更长的实验,只需在云中生成即可。 由于我包括了模拟器的Web界面,因此您甚至可以通过浏览器进行连接,从而可视化模拟中发生的事情。 为了简化开发过程,我提供了一个Jupyter笔记本 ,您可以通过浏览器对其进行访问。

库和工具 (Libraries and tools)

In order to speed up your development process, I’ve developed a simple high level library — boldly called the SmartGrasper. This library makes it possible to interact directly with the simulated sandbox sending commands such as pick the ball, open the hand, move above the ball… For the path planning, it relies on ROS’ planning library: MoveIt!, so that you can safely move the robot from A to B without hitting things.

为了加快您的开发过程,我开发了一个简单的高级库—粗体称为SmartGrasper 。 该库可以直接与模拟沙箱进行交互,从而发送诸如捡球,张开手,在球上方移动等命令。对于路径规划,它依赖于ROS的规划库: MoveIt! ,这样您就可以安全地将机器人从A移到B而不撞到东西

The sandbox comes with an example iPython notebook that shows how to pick up the ball using the SmartGrasper library. You can use this example as a base to do your own development.

沙箱附带一个示例iPython笔记本,该笔记本显示了如何使用SmartGrasper库拾取球。 您可以以此示例为基础进行自己的开发。

最后的话 (Final words)

So I spent some time preparing that sandbox and now that it’s ready, I’m sharing it with you! Head over to the shadow-robot/smart-grasping-sandbox github repository to get started. Feel free to play with it, submit issues, pull requests...

所以我花了一些时间准备这个沙箱,现在它已经准备好了, 我在与您分享它 ! 转到shadow-robot / smart-grasping-sandbox github存储库开始使用。 随意使用它, 提交问题 ,提出请求...

There’s still a lot more to be done: adding OpenRave for grasp planning, adding more complexity to the scene to be able to learn different actions, adding some vision algorithms for recognizing the different objects… But this is just the first release of the Smart Grasping Sandbox!

还有许多工作要做:添加OpenRave进行抓取规划,增加场景的复杂性以能够学习不同的动作,添加一些视觉算法以识别不同的对象……但这只是Smart Grasping的第一个发行版沙盒!

I’m also working with the amazing team at The Construct to make the Smart Grasping Sandbox available on the ROS Development Studio for an even quicker way to test your ideas.

我还与The Construct的出色团队合作,在ROS Development Studio上提供Smart Grasping Sandbox,以更快的方式测试您的想法。

If you’re doing something cool with the Smart Grasping Sandbox, or have any questions, let’s connect on Twitter! If you enjoyed this article, how about liking and sharing it?

如果您正在使用Smart Grasping Sandbox做一些很棒的事情,或者有任何疑问,请在Twitter上进行连接! 如果您喜欢这篇文章,那么喜欢和分享它呢?

翻译自: https://www.freecodecamp.org/news/an-open-sandbox-for-robot-grasping-cee467a3fabb/

支付宝开放平台 沙箱

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/186222
推荐阅读
相关标签
  

闽ICP备14008679号