Franka Emika Panda是德国Franka Emika公司推出的高精度轻型机器人,它同时兼顾研究创新与应用,为了应对研究需要,Franka提供开源接口(FCI)用户可通过C++和ROS进行编程。而为了方便使用,其内置的机器人控制系统可以通过手机APP或Web页面进行操作,且不要求掌握编程技巧。
目录
Franka开箱介绍
设备系统介绍
设备操作运行
ROS基础培训
行业应用展示
机器人注意事项
一、Franka Emika机器人的基本配置:
Franka Emika机器人开箱视频:显扬科技Franka机器人中国代理商|Franka机器人开箱演示 - 知乎 (zhihu.com)
二、Franka Emika机器人的基本参数:
三、机器人孔位图和安装教程
准备基板的螺钉位置:
臂架安装法兰中有4个直径为9mm的钻孔
为固定相应的螺钉,需要在基板上开螺纹孔,或者使用相应的锁紧螺母使用提供的技术图纸定位孔
使用提供的技术图纸定位孔
另请注意比价正面的提示
孔间距设计与ITEM的柔性装配件兼容
安装法兰中有两个定位销孔(直径6mmH7),支持使用2个6mmH8销精准重复组装臂架
安装示意图
机器人传感器的介绍与用途
扭矩传感器:用于防碰撞,提供作用力/扭矩反馈,可使用扭矩控制机械臂运动
位置传感器:反馈机械臂的位置信息,在拖动示教中有应用。
Franka机械臂
安装后效果如下图
控制器示意图
指示灯
注意:
指示灯如果不是白色的时候,不能使用示教模式拖动机械臂,否则因此而造成的机械臂损坏,厂家不负责,据Franka机械臂负责人称,90%的机械臂损坏都是由于操作人员没有按正确的方法拖动机械臂引起的。
当指示灯为红色时表示出现错误,可能是机械臂的某些关节运动到极限位置了,此时不能再拖动机械臂,应该重启机械臂,然后注意操作,避免再次发生。
机器人整体可完成的功能
1.可以控制抓取的作用力的大小来抓取物品;
2.可读取机械臂的状态获取当前的位置,力矩等信息。
3.通过关节角度、速度,笛卡尔位置、速度或关节力矩中的一种方式来控制机械臂运动;
网页控制介绍
打开Google浏览器输入robot.franka.de进入网页控制
注意:使用Franka的时候,要先解锁关节,即点击“关节锁”处的解锁按钮。
FCI介绍
使用注意事项:
使用FCI时需先设置机械臂控制箱的IP,点击设置,选择网络,把
DHCP Client的勾选框去掉,输入IP和掩码;
使用FCI时需将网线接到控制箱的接口上,然后用网页打开上面设置
的IP;
如果franka的版本在4.2及以上,那么使用FCI控制的时候
需要先激活FCI。
1.环境搭建:
系统:Ubuntu 18.04.5 LTS,用物理机安装不要用虚拟机
ROS安装参考网站:http://wiki.ros.org/cn/melodic/Installation/Ubuntu
安装franka_ros:sudo apt install ros-melodic-franka-ros ros-melodic-libfranka
安装完real-time-kernel后关闭安全启动,reboot并进入ubuntu 高级选项,发现已经有了刚刚安装的实时内核,enter 启用该内核(不带有recovery mode字样的那一个),开机后uname -r查看当前系统内核。
官网环境搭建教程:Installation on Linux — Franka Control Interface (FCI) documentation
2.franka_ros介绍:
franka_ros 是基于libfranka封装出来的ros包
franka_ros — Franka Control Interface (FCI) documentation
3.libfranka
libfranka是franka提供的可用于windows下使用的接口,要自己下载编译。
libfranka — Franka Control Interface (FCI) documentation
4.Franka论坛介绍:
5.Franka机器人相关网站
FCI document:Franka Control Interface Documentation — Franka Control Interface (FCI) documentation
(该网站内包括franka官方的安装教程,以及FCI接口简介和一些常见问题的处理)
libfranka的接口详情:https://frankaemika.github.io/libfranka/
libfranka源码:https://github.com/frankaemika/libfranka
franka_ros源码:https://github.com/frankaemika/franka_ros
franka技术支持:https://frankaemika.github.io/
franka world:https://world.franka.de/
一、官方示例
官方example:
【控制夹爪】roslaunch franka_gripper franka_gripper.launch robot_ip:=
【可视化】roslaunch franka_visualization franka_visualization.launch robot_ip:=
【运行Franka控制器】roslaunch franka_control franka_control.launch robot_ip:=
【通过笛卡尔坐标运动】roslaunch franka_example_controllers cartesian_pose_example_controller.launch robot_ip:=
二、机械臂进行运动,抓取负载以内的物体
编译franka_hinyeung_example:
安装必要的编译工具:sudo apt install build-essential cmake git libpoco-dev libeigen3-dev
建工作空间:mkdir franka_workspace
cd franka_workspace
mkdir src
catkin_make
然后把franka_hinyeung_example包拷进src文件夹
安装依赖:rosdep install --from-paths src --ignore-src --rosdistro melodic -y --skip-keys libfranka
编译:catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/opt/ros/melodic/include/libfranka
添加环境变量:source devel/setup.bash
使用franka_hinyeung_example:
打开终端:roscore
新打开终端进入root模式: sudo su
添加环境变量:source /opt/ros/melodic/setup.bash
cd franka_workspace
source devel/setup.bash
示例1:
move_joint_to_start使用说明:
该例子是让机械臂回到合理的起始位置。
命令行:roslaunch franka_hinyeung_controllers move_joint_to_start.launch robot_ip:=172.16.0.2
示例2:
cartesian_pose_example_controller使用说明:
该例子控制机械臂的XYZ运动,并可以实现抓取。
命令行启动:
roslaunch franka_hinyeung_controllers cartesian_pose_example_controller.launch robot_ip:=172.16.0.2
新打开终端并配置环境:
cd franka_workspace
source devel/setup.bash
控制机械臂以相对位置移动:
例:rostopic pub -1 /moveXYZ geometry_msgs/Vector3 '{x: 0.1,y: 0.1,z: 0.1}'
让机械臂运动到相对初始位置X距离为0.1,Y距离0.1,Z距离0.1的目标位置,xyz单位为米
夹爪控制:
初始化homing:rostopic pub -1 /franka_gripper/homing/goal franka_gripper/HomingActionGoal '{}'
初始化会先闭合再张开,在使用夹爪时要先初始化
抓取物品:
rostopic pub -1 /franka_gripper/grasp/goal franka_gripper/GraspActionGoal '{goal: {width: 0.02,
epsilon: {inner: 0.02,outer: 0.02},speed: 0.1,force: 20}}'
width:抓取物品的宽度,单位m;
epsilon:抓取的偏差:夹爪实际走到的位置与width差值的容忍值;
speed:夹爪运行速度;
force:夹爪抓取的力,单位N
移动moving:rostopic pub -1 /franka_gripper/move/goal franka_gripper/MoveActionGoal '{goal: {width: 0.06,speed: 0.1}}'
安装ROS建议使用系统:Ubuntu 18.04.5 LTS,用物理机安装不要用虚拟机
ROS安装:参考网站:http://wiki.ros.org/cn/melodic/Installation/Ubuntu
安装完成后运行:roscore,如果没有问题就表示安装完成
ROS框架的组成
ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
ROS 运行时的“蓝图”是一种基于ROS通信基础结构的松耦合点对点进程网络。ROS实现了几种不同的通信方式,包括基于同步RPC样式通信的服务(services)机制,基于异步流媒体数据的话题(topics)机制以及用于数据存储的参数服务器(Parameter Server)
ROS下常用的软件
Gazebo,RViz,rqt,rosbag,rosbridge,moveit!
这六个工具是我们开发常常用到的工具,gazebo是一种最常用的ROS仿真工具,也是目前仿真ROS效果最好的工具;RViz是可视化工具,是将接收到的信息呈现出来;rqt则是非常好用的数据流可视化工具,有了它我们可以直观的看到消息的通信架构和流通路径;rosbag则是对软件包进行操作的一个命令,此外还提供代码API,对包进行操作编写。rosbridge是一个沟通ROS和外界的功能包,moveit!是目前为止应用最广泛的开源操作软件。
ROS下常用的命令
roscore 运行ros
rosnode -h 查看节点帮助
rosrun node_name 运行”node_name”这个节点
rostopic -h 查看rostopic帮助
rosmsg -h 查看rosmsg帮助
rosservice -h 查看rosservice帮助
Franka机器人在3C行业的应用案例-零件拾取
3C产品更新速度快,使得3C制造企业需要及时更换产线,从而满足新需求。据估计,在3C制造业中,新产品生产线的设备投资额占设备总投资额的50%以上。3C行业逐渐向智能化,精细化发展,而消费者对于价格越来越敏感等原因,3C行业面临着巨大的挑战。随着自动化技术的不断发展,协作机器人和机器视觉对3C行业的帮助越来越大。
显扬科技推出了Franka机器人结合显扬科技自主研发的HYPick系统的一种解决方案,可以实现物品的精准高效抓取任务。
HYPick系统是通过高质量的三维成像技术拍摄生成物品点云,再结合精确的点云分割识别技术来实现对物品的准确定位。然后通过与Franka Emika机器人的实时通讯,将识别计算出的物品的三维坐标发送给Franka Emika机器人,实现三维视觉引导Franka Emika机器人进行运动,可以准确高效地抓取物品。
这种解决方案可以帮助3C企业实现生产自动化,保障产品质量,还能降低成本。Franka可以对多个扳手按预先设置好的顺序进行抓取,过程简单容易上手。
Franka机器人在制造业中的应用-自动组装
Franka机器人每个关节均装有扭矩传感器,提供作用力/扭矩反馈,可使用扭矩控制机械臂运用。Franka机器人可以通过拖拽记录机械臂的运动轨迹,生成程序,而不需要用户进行复杂的编程。制造业用户可以节省编程时间,仅通过简单几步就可以充值机械臂的程序并将其复制到其他的Franka机械臂上,大大节省了时间成本和劳动成本。
如图,是Franka机器人的过程,通过简单的拖拽机械臂,记录下行动轨迹后,机械臂就可以按照轨迹进行运动,组装苹果手机。
Franka机器人汽车行业解决方案-螺丝拧紧
Franka机器人由于具有高度灵活性且可以安全地与人类一起工作,因此在零件组装和搬运等工序上为各行业提供了很多便利,将人类从重复且危险的体力活中解放出来。在零部件装配中,协作机械臂的运用已经越来越广泛了。
随着人们生活水平的逐步提高和国家乃至全球对于环保的响应,汽车/新能源汽车的需求量逐渐增加,促使汽车制造业需要提高产能。在汽车行业的零部件装配中,生产线上的员工在拧螺钉时需要克服反作用力,双手容易酸痛肿胀,并且螺丝拧得太紧或太松都会产生质量问题。而导入协作机器人来完成螺丝拧紧工作可以大大提高工作效率并且避免产生不良品。
Franka协作机器人可用来施加最小至 0.05N 的作用力,可以完成精细操作的任务,Franka协作机械臂还可以长时间工作。因此使用Franka Emika协作机器人来实现汽车行业的螺丝拧紧自动化不仅可以降低劳动负荷,提高生产率,降低员工工伤风险,还能提高生产一致性。
Franka机器人安全注意事项
Franka机器人示教的注意事项
在示教与维护作业中,不允许操作人员在自动运行模式下进入机器人动作范围内,不允许其他无关人员进入机器人运动范围内。尤其注意机器人末端夹具是否尖锐。
在机器人工作空间内进行示教工作时,应注意以下几点:
潜在风险