kinova_j2s6s300【Joint position control】

news/2025/1/1 13:55:55/

关节位置控制可以通过在自定义节点中调用KinovaComm::setJointAngles()来实现,也可以直接调用kinova_demo包中的节点joints_action_client.py
在这里插入图片描述

这个函数需要三个参数:kinova_robotType (eg. j2n6s300), unit {degree |radian}value(每个关节的角度)。该函数采用选项 -r 来告诉机器人角度值是相对的还是绝对的。它还具有用于更详细输出的选项 -v和用于帮助的 -h 选项。以下代码将驱动 6DOF Jaco2 机器人的第 6 个关节旋转 +10 度(不是 10 度),并打印有关关节位置的附加信息。

eg:rosrun kinova_demo joints_action_client.py -v -r j2n6s300 degree -- 0 0 0 0 0 10
回显两个话题可以观察关节位置:
/'${kinova_robotType}_driver'/out/joint_angles(以角度为单位)
/'${kinova_robotType}_driver'/out/joint_state(以弧度为单位,包括手指信息)

eg:rostopic echo -c /j2n6s300_driver/out/joint_state将打印出关节名称 (rad)、位置、速度 (rad/s) 和作用力 (Nm) 信息。

另一种控制关节位置的方法是在 Rviz 中使用交互式标记。请按照以下步骤激活交互控制:

  • 1、启动驱动程序:roslaunch kinova_bringup kinova_robot.launch kinova_robotType:=j2n6s300
  • 2、启动交互控制节点:rosrun kinova_driver kinova_interactive_control j2n6s300
  • 3、打开 Rviz:rosrun rviz rviz
  • 4、在 RViz 中(在显示部分)将 Global Options -> Fixed Frame 更改为world
  • 5、使用 Add -> RobotModel(在 rviz 文件夹中)添加机器人模型
  • 6、使用 Add -> InteractiveMarkers(在 rviz 文件夹中) 添加交互式标记
  • 7、将 InteractiveMarkers -> Updated Topic 更改为/j2n6s300_interactive_control_Cart/update
  • 每个关节周围应该出现一个环,您可以通过移动这些环来移动机器人。

阅读代码获取的信息
初始化 ros 节点:j2s6s300_gripper_workout

【获取当前机械臂各个 joint 关节角度】
在函数 getcurrentJointCommand() 中,Subscriber 接收机械臂发布的话题
话题名称:/j2s6s300_driver/out/joint_command
消息类型:kinova_msgs.msg.JointAngles
详细信息:

float32 joint1
float32 joint2
float32 joint3
float32 joint4
float32 joint5
float32 joint6
float32 joint7

【向机械臂发送关节角度目标指令】
注意:发送指令必然涉及到通信,这里选择的通信方式是 Action 通信
在这个场景中,pc 端机械臂端发送目标指令,机械臂端执行并返回结果,这乍一看好像应该采用服务通信实现,然而,机械臂由当前位姿运动到目标指令位姿是一个耗时操作,如果使用服务通信,那么只有在动作执行结束时才会产生响应结果,而在动作执行过程中,pc端节点是不会获取到任何反馈的,从而可能出现程序“假死”现象,过程的不可控意味着不良的用户体验,以及逻辑处理的缺陷。

显然,更加合理的解决方案应该是能够保证机械臂在动作执行过程中也可以连续反馈当前机器人的状态信息,当机械臂动作执行结束时,再返回最终执行的结果,也即 action 通信

在这里插入图片描述

在函数 joint_angle_client() 中,Client 发送关节角度指令并返回执行结果,即机械臂的姿态。
话题名称:/j2s6s300_driver/joints_action/joint_angles
消息类型:kinova_msgs.msg.ArmJointAnglesAction
详细信息:

# Goal
JointAngles angles
---
# Result
JointAngles angles
---
# Feedback
JointAngles angles

http://www.ppmy.cn/news/296552.html

相关文章

kinova_j2s6s300机械臂使用笔记

kinova_j2s6s300机械臂使用笔记 1.安装2.使用 MoveIt 功能包3.驱动真实机械臂配置 kinova包下载地址 1.安装 mkdir kinova_ws/src cd ~/kinova_ws/src git clone https://github.com/Kinovarobotics/kinova-ros.git kinova-ros cd ~/kinova_ws catkin_make2.使用 MoveIt 功能包…

sick s300 ros

pioneer lx 和 neobotix 产品使用了sick s300 250视角还是270视角? 500 readings ros driver lx 设置 publish_aria_lasers 为true,广播激光数据 http://wiki.ros.org/cob_sick_s300 http://wiki.ros.org/Robots/AMR_Pioneer_Compatible Section Laser …

《树莓派4B家庭服务器搭建指南》第十六期:安装Calibre Web建立公网可访问私人电子书库

最近在整理收藏的电子书,以便在公网可以随时访问自己的电子书,然而,Calibre桌面端虽然功能强大,并且可以开启本地http服务,但http的界面还是过于简陋 我发现了一个Calibre Web开源项目,界面也非常舒服&…

CorelDRAW矢量绘图2023中文版下载

市面上的矢量绘图工具虽然很多,但权威又专业的却不多,选到不好用的工具,会极大的影响自己创作,CorelDRAW简称cdr,是一款功能强大的矢量图制作软件,一说到矢量图制作,大家都会不由自主地想到cdr。…

Lecture 14 Context-Free Grammar

目录 Context-Free GrammarBasics of Context-Free GrammarsCFG Parsing ConstituentsSyntactic ConstituentsConstituents and PhrasesExample: A Simple CFG for English and generating sentencesCFG Trees CYK AlgorithmCYK AlgorithmConvert to Chomsky Normal FormThe CY…

距离保护的影响因素

1、汲出电流和助增电流的影响 当保护安装处与故障点之间有分支电源时,如图所示,分支电源将向故障点K送短路电流ICB,使流过故障线路的电流IBKIAB ICB,大于实际流过保护1的电流IAB,所以ICB称作助增电流。 由于助增电流的…

常用的ORM框架

ORM就是对象关系匹配,是为了解决面向对象与关系数据库存在的互不匹配的问题。简单来说,就是把关系数据库中的数据转换成面向对象程序中的对象。 常用的ORM框架有Hibernate和MyBatis,也就是ssh组合和ssm组合中的h与m。 它们的特点和区别如下…

踢脚线有哪些颜色?做室内设计肯定要知道的呀

除了材质,踢脚线的颜色也对空间设计效果有着直接的关联,常见的踢脚线颜色有哪些搭配方案呢? ①瓷砖同色 如果装修预算有限,地面是铺地砖的话,可以用地砖加工切割来做踢脚线,这样做的效果地面与踢脚线保持简…