kinova_j2s6s300【Cartesian position control Finger position control】

news/2024/12/29 18:16:09/

1、Cartesian position control

笛卡尔位置控制可以通过在自定义节点中调用KinovaComm::setCartesianPosition()来实现。或者,您可以简单地调用 kinova_demo 包中的节点pose_action_client.py

这个函数需要三个参数:kinova_robotType (eg. j2n6s300), unit {mq | mdeg | mrad}(指的是米和四元数、米和度和米和弧度)和pose_value
在这里插入图片描述
最后一个参数pose_value是位置(坐标x,y,z)后跟方向(是3个还是4个值取决于单位)。位置单位总是米,旋转单位不同。度数和弧度与 XYZ 顺序的欧拉角有关。请注意,使用四元数和欧拉角时参数的个数是不同的。

该函数采用选项 -r 来告诉机器人角度值是相对的还是绝对的。它还具有用于更详细输出的选项 -v 和用于帮助的 -h 选项。以下代码将驱动 Jaco2 机器人沿 +x 轴移动 1cm,并沿手轴旋转 +10 度。

eg: rosrun kinova_demo pose_action_client.py -v -r j2n6s300 mdeg -- 0.01 0 0 0 0 10
机器人根坐标系的笛卡尔坐标由以下规则定义:

  • 原点是底面与圆柱中心线的交点。
  • +x 轴在面对底板时指向左侧(电源开关和电缆插座所在的位置)。
  • +y 轴面向底板时朝向用户。
  • 当机器人站在平面上时,+z 轴向上。

kinova_tool_pose_action(由pose_action_client.py调用的动作服务器)将向机器人发送笛卡尔位置命令,并在机器人内处理逆运动学。
重要信息 在 Kinova 机器人中实施的逆运动学算法经过编程,可自动避免奇点和自碰撞。为了避免这些情况,算法将限制对机器人工作区某些部分的访问。你发送的笛卡尔姿态目标虽然属于机器人的工作空间,但可能会出现机器人无法达到的情况。

根据经验,如果您无法通过使用 Kinova 操纵杆移动 Kinova 机器人来达到您在pose_action_client.py中命令的姿势,则机器人也将无法通过动作服务器达到相同的姿势。如果您不想使用机器人的 IK 解算器,您可以始终使用 MoveIt。

当前笛卡尔位置通过主题/'${kinova_robotType}_driver'/out/tool_pose发布
此外,末端执行器的扳手通过主题/'${kinova_robotType}_driver'/out/tool_wrench发布

同样,您还可以在 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
  • 末端执行器应出现一个具有 3 轴(平移)和 3 个环(旋转)的立方体,您可以通过拖动轴或环来移动机器人。

New in release 1.2.0
不停止地执行多个笛卡尔路点
action 客户端一次执行一个目标。如果用户想为机器人提供多个路点而不在每个航点处停下来,可以使用服务 AddPoseToCartesianTrajectories。此服务将指令姿势添加到由机器人维护的缓冲区中。机器人按照添加顺序执行此缓冲区中的指令姿势,而不会在不同的姿势之间停止。
服务ClearTrajectories可用于清除原有的轨迹缓冲区。

2、Finger position control

手指位置控制可以通过在自定义节点中调用KinovaComm::setFingerPositions()来实现。

或者,可以简单地调用 kinova_demo 包中的节点finger_action_client.py。这个函数需要三个参数:kinova_robotType(eg. j2n6s300), unit {turn | mm | percent}finger_value
在这里插入图片描述
手指基本上是通过turn来控制的,其余的单元为了方便而按比例turn。值 0 表示完全打开,而finger_maxTurn表示完全关闭。finger_maxTurn的值可能因多种因素而异。手指转动的正确参考值是 0(全开)到 6800(全关)。如有必要,请在代码中修改此变量。该函数还采用选项 -r 来告诉机器人角度值是相对的还是绝对的。它还具有用于更详细输出的选项 -v 和用于帮助的 -h 选项。以下代码完全闭合手指。

eg: rosrun kinova_demo fingers_action_client.py j2n6s300 percent -- 100 100 100
手指位置通过主题/'${kinova_robotType}_driver'/out/finger_position发布


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

相关文章

西门子s300编程实例,【西门子S7-300PLC 编程 】该死的 FC+Temp

start和driver是外部输入输出接口。 例:如果在TEMP接口中新建一个变量A,数据类型为BOOL,地址0.0 1,正确的FC程序如下: | #start #A |--| |---------() | | #A #driver |--|/|---------() 2,错误的例子: | #A #driver |--|/|---------() | | #start #A |--| |---------()…

西门子s300编程实例_数控车床加工编程典型实例分析(西门子802S数控系统编程教学)...

这是一篇带有教学色彩的习作,文章对数控编程的方式和步骤进行了简明的阐述,并针对一个典型零件的数控车削加工给出了一套程序。程序是以西门子802S数控系统为例编写的。 数控机床是一种技术密集度及自动化程度很高的机电一体化加工设备,是综合应用计算机、自动控制、自动检测…

kinova_j2s6s300【Torque control】

Torque control New in release 1.2.0 扭矩控制变得更加容易。现在您可以像关节/笛卡尔速度一样发布扭矩/力命令。为此,您需要: 1、可选 - 设置扭矩参数 通常默认参数应该适用于大多数应用程序。但是如果你需要改变一些扭矩参数,你可以设置…

西门子s300编程实例_几个西门子plc编程实例图解(含程序应用实例)

一、十字路口的交通指挥信号灯布置如下图: 1、控制要求 (1)信号灯系统由一个启动开关控制,当启动开关接通时,该信号灯系 统开始工作,当启动开关关断时,所有信号灯都熄灭。 (2)南北绿灯和东西绿灯不能同时亮。如果同时亮应关闭信号灯系统, 并立刻报警。 (3)南北红灯亮维持…

kinova_j2s6s300【Joint position control】

关节位置控制可以通过在自定义节点中调用KinovaComm::setJointAngles()来实现,也可以直接调用kinova_demo包中的节点joints_action_client.py。 这个函数需要三个参数:kinova_robotType (eg. j2n6s300), unit {degree |radian}和value(每个…

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开源项目,界面也非常舒服&…