主要内容

KINOVA Gen3机器人单个关节角度的控制

此示例向您展示如何连接到KINOVA®Gen3 7自由度超轻型机器人在Simulink中使用机器万博1manbetx人操作系统(ROS)。这包括ROS消息订阅和发布块,从机器人获得反馈,然后向机器人发送命令,以达到特定的关节配置。

s manbetx 845产品要求

  • MATLAB®

  • 万博1manbetx仿真软件®

  • 机器人系统工具箱™

  • ROS工具箱™

硬件要求

KINOVA®Gen3机器人

简介

机器人系统工具箱™机械手支持包使您能够使用MATL万博1manbetxAB和Simulink控制机械手。万博1manbetx该支持包利万博1manbetx用机器人厂商提供的ROS包获取各种传感器数据,模拟机器人模型,实现对机器人的控制。您可以使用Robotics System Toolbox™或Simscape™多体机器人模型中的刚体树模型创建算法原型,并对这些机器人进行模拟。这个支持包万博1manbetx还允许您连接到机器人硬件,以测试和验证您的算法。

在这个例子中,sensor_msgs / JointState利用ROS消息获取Kinova Gen3机器人当前的关节构型。

先决条件

模型

要打开示例模型,在MATLAB命令提示符下运行以下命令:

open_system (“manipdemo_setJointAnglesROS”)

该模型由配置为的ROS订阅者块组成/ my_gen3 joint_statesROS的话题。正如在基诺瓦机器人的Github页面在ROS主题的第一部分中,'my_gen3'可能会根据roslaunch命令中设置的机器人名称而不同。从接收到的消息中提取当前关节角度,然后转换为角度。此外,用户指定的每个关节角度的偏移量被添加到当前值,并给发送关节轨迹子系统。

发送关节轨迹

这个子系统由三个不同的块组成。空白ROS消息块(从左边开始)被配置为为创建空白消息kortex_driver / PlayJointTrajectoryRequestROS服务请求。MATLAB函数块packJointTraj,分配各种值,如所需的关节配置,约束类型,和空白消息字段的最大速度。配置呼叫业务块/ / play_joint_trajectory my_gen3 /基地服务,并向机器人发送命令以达到所需的关节配置。

运行模型

注意:当机器人按照指定的偏移量移动时,确保E-STOP离你很近,以停止机器人的运动。

启动所需ROS节点并连接ROS网络后,单击模拟,然后单击万博1manbetx运行.由于关节角偏移量没有变化,机器人不会从开始时的当前位置移动。现在更改偏移量值并应用更改。这触发发送关节轨迹子系统,机器人移动到所需的关节角度配置。