米兰线上官网
国产分拣机器人价格,机器人控制器的制作教程
2022-05-29
分拣机器人三维模型

步骤1:添加抓取器

一开始添加抓手有点让人困惑,所以我在上一篇文章中跳过了这一部分。事实证明,这毕竟不是那么困难。

北京分拣机器人批发

为我的机器人修改的URDF文件已附加到此步骤。基本上,它遵循与手臂零件相同的逻辑,我只添加了三个新链接(claw_base,claw_r和claw_l)和三个新关节(joint5是固定的,joint6,joint7是旋转关节)。

药品分拣机器人直销

修改URDF文件后,还需要使用MoveIt安装助手来更新MoveIt生成的软件包和xacro文件。

使用以下命令启动安装助手

roslaunchmoveit_setup_assistantsetup_

单击“

添加新的计划组夹持器以及末端执行器。我的设置在下面的屏幕截图中。注意,您没有为夹具选择运动学求解器,这不是必需的。生成软件包并覆盖文件。

在catkin工作区中运行

catkinmake

命令。

好吧,现在我们有了一条带有抓爪的手臂!

药品分拣机器人费用

步骤2:构建手臂

正如我在提到Juergenlessner创建手臂3D模型之前提到的那样,感谢您所做的出色工作。如果您单击链接,则可以找到详细的组装说明。

我不得不修改控制系统。我使用带有传感器护罩的ArduinoUno来控制伺服器。传感器屏蔽层在简化布线方面有很大帮助,并且还易于为伺服器提供外部电源。我使用通过降压模块连接到SensorShield的12V6A电源适配器。

关于伺服器的注释。我使用从淘宝购买的MG996HR伺服器,但是质量真的很差。绝对是便宜的中国仿冒品。用于肘关节的那个没有提供足够的扭矩,甚至在重载下也开始发烟。我不得不用质量更好的制造商的MG946HR替换肘关节伺服器。

长话短说-购买优质的伺服器。如果魔术烟雾从您的伺服器中冒出,请使用更好的伺服器。6V是非常安全的电压,请不要增加它。不会增加扭矩,但会损坏伺服器。

伺服器接线如下:

基座2

shoulder24

shoulder13

肘部6

抓爪8

手腕11

随意更改它,只要您还记得要更改Arduino草图即可。

使用完硬件后,让我们看一看!

步骤3:MoveItRobotCommander界面

那么,现在呢?为什么仍然需要MoveIt和ROS?是不是可以直接通过Arduino代码控制手臂?

是的。

好吧,现在如何使用GUI或Python/C++代码提供机器人姿势至?Arduino可以做到吗?

排序。为此,您将需要编写一个反向运动学求解器,它将采用机器人姿势并将其转换为伺服的关节角度消息。

尽管您可以自己做,但要做的工作却很艰巨。因此,MoveIt和ROS为IK求解器提供了一个不错的接口,可以为您完成所有繁重的三角提升。

简短的回答:是的,您可以做一个简单的机械臂,它将执行一个硬编码的Arduino草图,从一个姿势变为另一个姿势。但是,如果您想使机器人更加智能并增加计算机视觉功能,则必须使用MoveIt和ROS。

我制作了一个非常简化的图表,说明MoveIt框架的工作原理。在我们的情况下,它将变得更加简单,因为我们没有来自伺服器的反馈,而是要使用/joint_states主题为机器人控制器提供伺服器的角度。我们只缺少一个组件,那就是机器人控制器。

我们还等什么呢?让我们写一些机器人控制器,以便我们的机器人可以……更加可控。

第4步:机器人控制器的Arduino代码

在我们的情况下,使用rosserial运行ROS节点的ArduinoUno将成为机器人控制器。Arduino草图代码已附加到此步骤,也可以在GitHub上使用。从弧度到度,然后使用标准库将其传递给舵机。

该解决方案有点笨拙,而不是工业机器人的解决方案。理想情况下,应该在/FollowJointState主题上发布运动轨迹,然后接收关于/JointState主题的反馈。但是在我们的手臂上,业余伺服器无法提供反馈,因此我们将直接订阅由FakeRobotController节点发布的/JointState主题。基本上,我们将假设传递给伺服器的任何角度都可以理想地执行。

有关rosserial如何工作的更多信息,请查阅以下教程

将草图上传到ArduinoUno之后,您需要使用串行电缆将其连接到运行ROS安装的计算机。

要启动整个系统,请执行以下命令

roslaunchmy_arm_xacrorviz_tutorial:=truesudochmod-R777/dev/ttyUSB0rosrunrosserial_pythonserial__port:=/dev/ttyUSB0_baud:=115200

现在,您可以在RVIZ中使用交互式标记将机器人手臂移动到一个姿势,然后按计划并执行,使其实际移至该位置。

魔术!

现在,我们可以编写用于斜坡测试的Python代码了。好吧,差不多。..

第5步:生成IKfast插件

默认情况下,MoveIt建议使用KDL运动学求解器,它不会少于6个自由度臂真的可以工作。如果您紧跟本教程,那么您会注意到RVIZ中的手臂模型无法达到某些手臂配置应支持的姿势。

推荐的解决方案是使用OpenRave创建自定义运动学求解器。并不是那么困难,但是您必须构建它,并且它是来自源的依赖项,或者使用docker容器。

该过程在本教程中有很好的记录。确认可以在运行Ubuntu16.04和ROSKinetic的VM上运行。

我使用以下命令生成了求解器

--databaseinversekinematics--robot=--iktype=translation3d--iktests=1000

然后运行

rosrunmoveit_kinematicscreate_ikfast_moveit_test_robotarmmy_arm_xacro_1_2_

生成MoveItIKfast插件。

整个过程比较耗时,但是如果您仔细阅读本教程,并不是很困难。如果您对此部分有疑问,请在评论或PM中与我联系。

第6步:斜坡测试!

现在我们可以尝试进行渐变测试了,我们将使用ROSMoveItPythonAPI执行该测试。

该步骤附带了Python代码,该代码也可以在github存储库中找到。如果您没有坡道或想尝试其他测试,则需要在代码中更改机器人的姿势。为此,在已经运行RVIZ和MoveIt的情况下,首先在终端中执行

rostopicecho/rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic/feedback

。然后将带有交互式标记的机器人移动到所需位置。位置和方向值将显示在终端中。只需将它们复制到Python代码即可。

要在运行RVIZ和rosserial节点的情况下执行

快递分拣机器人的发展前景

rosrunmy_arm_xacropick/pick_2.py

进行斜坡测试。

全自动塑料分拣机器人潮州分拣机器人省分拣机器人分拣机器人的应用现状
Baidu
map