苏州昊瓦智能装备有限公司
当前位置: > 3D相机资讯

北京分拣机器人定制,机器人控制器的制作教程

点击:319
分拣机器人的种类及特点

步调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

停止斜坡测试。

分拣机器人哪家正规快递分拣机器人缺点物流分拣机器人结构