《鸿蒙机器人编程》课件-9-ROS机械臂开发实例_第1页
《鸿蒙机器人编程》课件-9-ROS机械臂开发实例_第2页
《鸿蒙机器人编程》课件-9-ROS机械臂开发实例_第3页
《鸿蒙机器人编程》课件-9-ROS机械臂开发实例_第4页
《鸿蒙机器人编程》课件-9-ROS机械臂开发实例_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ROS机械臂开发实例课程内容2©NXROBO20221.ROS中的常用机械臂2.ROS-I工业机械臂应用3.基于ROS的机械臂控制系统开发1.ROS中的常用机械臂——PR23©NXROBO2022PR2(PersonalRobot2)•••••Willow

Garage

公司设计;两条手臂,每条手臂七个关节

,手臂末端是一个可以张合的夹爪;依靠底部的四个轮子移动;在头部、胸部、肘部、夹爪上分别安装有高分辨率摄像头

、激光测距仪、惯性测量单元、触觉传感器等;底部有两台八核电脑作为机器人各硬件的控制和通信中枢

,并且都安装了Ubuntu

ROS

系统。PR21.ROS中的常用机械臂——PR24©NXROBO2022功能包名描述高级功能pr2_teleop键盘速度控制pr2_navigation导航功能pr2_kinematics运动学求解器pr2_arm_navigation手臂运动规划pr2_object_manipulation机器人夹爪操作vision_opencvpcltabletop_object_perception机器人感知功能executive_smachcontinuous_ops任务执行管理安装

PR2

功能包:$

sudo

apt

install

ros-noetic-pr2-*PR2相关的ROS功能包功能包名描述基础配置pr2_msgs自定义的机器人message消息类型pr2_srvs自定义的机器人service服务类型pr2_description机器人URDF模型文件pr2_machine机器人平台的相关配置硬件驱动和仿真pr2_controllers执行器驱动camera_driversimu_driverslaser_driverssound_driverspr2_ethercat_driverspr2_power_drivers传感器驱动:摄像头、IMU、激光雷达、麦克风、EtherCAT总线、电源pr2_simulator机器人仿真器1.ROS中的常用机械臂——PR25©NXROBO2022

$roslaunchpr2_gazebopr2_empty_world.launch $

roslaunch

pr2_teleop_general

pr2_teleop_general_keyboard.launch机械臂控制1.ROS中的常用机械臂——PR26©NXROBO2022$

roslaunch

pr2_moveit_config

demo.launch机械臂

MoveIt!

控制1.ROS中的常用机械臂——PR27©NXROBO2022$

roslaunch

pr2_gazebo

pr2_empty_world.launch$

roslaunch

pr2_moveit_config

move_group.launch$

roslaunch

pr2_moveit_config

moveit_rviz.launchMoveIt!+gazebo

控制1.ROS中的常用机械臂——UR8©NXROBO2022UniversalRobots,优傲机器人一家引领协作机器人全新细分市场的先驱企业关注机器人的用户可操作性和灵活度安全度高、无需安全围栏、编程简单、灵活度高UR3,自重11公斤,有效负载3公斤,所有腕关节均可360度旋转,末端关节可作无限旋转。UR5,自重18公斤,负载高达5公斤,工作半85cm。UR10的有效负载为10公斤,工作半径130cm。UR20,2022年新推出有效负载20公斤,工作半径175cm。。UR

机器人1.ROS中的常用机械臂——UR9©NXROBO2022功能包名描述ur_description机器人模型的描述文件ur_driver连接真实机器人的客户端驱动ur_bringup连接真实机器人的启动功能包ur_kinematics机器人运动学求解器ur_msgs自定义message类型ur_gazebo机器人仿真功能ur3_moveit-configur5_moveit-configur10_moveit-configUR3、UR5、UR10三款机器人的配置功能包Universal

Robots

的相关功能包安装

UR

功能包:$

sudo

apt

install

ros-noetic-universal-robot1.ROS中的常用机械臂——UR10©NXROBO2022$roslaunchur_gazebour5.launch启动仿真1.ROS中的常用机械臂——UR11©NXROBO2022MoveIt!+ gazebo$roslaunchur5_moveit_configur5_moveit_planning_execution.launchsim:=true$roslaunchur5_moveit_configmoveit_rviz.launchconfig:=true*

终端查看规划的轨迹,可使用如下命令:rostopic

echo

/arm_controller/follow_joint_trajectory/goal2.ROS-I工业机械臂应用12©NXROBO2022ROS-I

的软件开发流程

ROS-I的目标是:将

ROS

产过程中;为工业机器人的研究与应用提供快捷有效的开发途径;为工业机器

人创建一个

强大的社区支持;为工业机器人提供一站式的工业级ROS

应用开发支持。2.ROS-I工业机械臂应用13©NXROBO20222.ROS-I工业机械臂应用14©NXROBO2022①ROS-IControllerLayer:最底层,负责在具体机器人控制器上编写指令,实现机器人状态、当前关节数据收发,收发规范由②定义,机器人控制器作为服务器。②ROS-ISimpleMessageLayer:规范信息传输格式。上下层通讯方式为socket通讯,此层定义socket具体协议。③ROS-IInterfaceLayer:此层提供了ROS接口。把从机器人控制器接收到的状态等数据以话题的方式发布到ROS。并以action方式,接收ROS传来的轨迹数据,通过②协议发到机器人控制器。2.ROS-I工业机械臂应用15©NXROBO2022④ROS-IConfiguration:机器人及机器人控制器相关的配置信息。⑤ROSLayer:ROS的开发层,可开发相关的ROS相关功能。⑥MoveItLayer:ROS提供的机械臂开发平台,提供了一系列功能包,帮助开发者完成机械臂的运动学求解、运动规划、3D感知、仿真配置等功能。⑦ROS-IApplicationLayer:应用层,未来可能会包括工业的工艺规划、状态机等功能。⑧ROSGUI:现在已有的UI工具。⑨ROS-IGUI:专门针对工业机器人通用的UI工具。2.ROS-I工业机械臂应用16©NXROBO2022ROS-I

目前支持的主要机器人:

/Industrial/supported_hardware2.ROS-I工业机械臂应用17©NXROBO20222.ROS-I工业机械臂应用18©NXROBO2022https://industrial-training-master.readthedocs.io/en/latest/3.基于ROS的机械臂控制系统开发19©NXROBO2022如何开发一款基于ROS的机械臂?20©NXROBO2022集成化智能化简易化扩展化••••六轴机械臂灵巧手视觉听觉••••在线运动规划自主避障力控制图像识别•语音交互••••离线仿真可视化编程语音编程开发接口••••EtherCATEthernetModbusUSB•I/O3.基于ROS的机械臂控制系统开发——确定设计目标21©NXROBO20223.基于ROS的机械臂控制系统开发——架构设计图像源

:

/Industrial可参考ROS-I22©NXROBO20223.基于ROS的机械臂控制系统开发——架构设计交互控制配置日志状态关节位置插补运动规划伺服控制器机器人本体EtherCAT运动学状态监控参数管理坐标变换...SimpleMessage

(TCP/IP)碰撞检测语音

/

语义识别图像处理...摄像头麦克风阵列规划接口通信控制硬件.........ROS实时系统灵巧手模型点动状态配置IO参数仿真Linux+Xenomai

TCP、USB

ROS机械臂23©NXROBO20223.基于ROS的机械臂控制系统开发——GUI层设计

模型显示

点动控制

状态监控

工具插件

动态配置

程序监控

在线

/

离线仿真可Rviz的GUI,甚至可直接在Rviz上开发自己的应用插件24©NXROBO20223.基于ROS的机械臂控制系统开发——规划层的实现运动规划图像处理语音交互+机器学习与图像识别抓取姿态分析+25©NXROBO20223.基于ROS的机械臂控制系统开发——接口层的实现

控制

Jogging

ServoPowerOn

Enable

Start/Pause/stop

...

配置

ToolTransform

LogLevel

RobotParameters

ServoParameters

...

日志

Log_Force

Log_Error

Log_Warn

Log_Info

Log_Debug

状态

mode

e_stopped

drives_powered

motion_possible

in_motion

in_error

error_code26©NXROBO20223.基于ROS的机械臂控制系统开发——通信层的实现

数据段(SimpleMessage)数据头

intMSG_TYPE:

消息类型(自主定义)

intCOMM_TYPE:

通信类型(话题

/

服务)

intREPLYCODE:

应答代码(仅服务有效)数据内容

ByteArrayDATA:

由消息类型和通信类型确定的数据内容

TCP/UDP

Wifi/Ethernet/Localhost

前缀

intLENGTH:

数据头

+

数据内容的字节长度可参考ROS-I中的SimpleMessage,也可根据自己的需要自己定义协议或直接使用串口通信等27©NXROBO20223.基于ROS的机械臂控制系统开发——控制层的实现

实时处理

关节位置插补(r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论