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机器人当前的关节构型。
先决条件
如果您是Simulink的新手,请观万博1manbetx看万博1manbetxSimulink快速入门.
执行初始的设置和配置,并在步骤2中万博1manbetx选择ROS接口。
指连接到KINOVA Gen3机器人并启动所需的ROS节点来控制机器人有关MATLAB与机器人之间的通信接口的信息。执行以下步骤来启动所需的ROS节点。
模型
要打开示例模型,在MATLAB命令提示符下运行以下命令:
open_system (“manipdemo_setJointAnglesROS”)
该模型由配置为的ROS订阅者块组成/ my_gen3 joint_states
ROS的话题。正如在基诺瓦机器人的Github页面在ROS主题的第一部分中,'my_gen3'可能会根据roslaunch命令中设置的机器人名称而不同。从接收到的消息中提取当前关节角度,然后转换为角度。此外,用户指定的每个关节角度的偏移量被添加到当前值,并给发送关节轨迹子系统。
发送关节轨迹
这个子系统由三个不同的块组成。空白ROS消息块(从左边开始)被配置为为创建空白消息kortex_driver / PlayJointTrajectoryRequest
ROS服务请求。MATLAB函数块packJointTraj,分配各种值,如所需的关节配置,约束类型,和空白消息字段的最大速度。配置呼叫业务块/ / play_joint_trajectory my_gen3 /基地
服务,并向机器人发送命令以达到所需的关节配置。
运行模型
注意:当机器人按照指定的偏移量移动时,确保E-STOP离你很近,以停止机器人的运动。
启动所需ROS节点并连接ROS网络后,单击模拟,然后单击万博1manbetx运行.由于关节角偏移量没有变化,机器人不会从开始时的当前位置移动。现在更改偏移量值并应用更改。这触发发送关节轨迹子系统,机器人移动到所需的关节角度配置。