首页 > 其他分享 >Franka libfranka 基于关节空间的速度控制

Franka libfranka 基于关节空间的速度控制

时间:2024-07-08 11:08:24浏览次数:11  
标签:20.0 Franka libfranka 0.5 robot franka 关节 18.0 include

#include <array>
#include <cmath>
#include <iostream>

#include <franka/exception.h>
#include <franka/model.h>
#include <franka/robot.h>
#include <franka/tools.h>

int main(int argc, char** argv) {
  try {
    // 连接到机器人
    franka::Robot robot("172.16.0.2");

    // 设置安全参数
    robot.setCollisionBehavior(
        {{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}},
        {{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}},
        {{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}},
        {{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}});

    // 获取当前关节角速度
    std::array<double, 7> dq_current;
    robot.readOnce(dq_current);
    std::cout << "Current joint velocities: ";
    for (double dq : dq_current) {
      std::cout << dq << " ";
    }
    std::cout << std::endl;

    // 设置目标关节角速度
    std::array<double, 7> dq_target = {0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5};

    // 设置最大关节角加速度
    double max_acceleration = 5.0; // rad/s^2

    // 生成关节空间速度轨迹
    franka::Duration duration(2.0); // 轨迹持续时间2秒
    franka::JointVelocities joint_velocities = robot.generateJointVelocities(
        dq_current, dq_target, duration, max_acceleration);

    // 控制机器人沿轨迹运动
    robot.control([&](const franka::RobotState& robot_state,
                     franka::Duration period) {
      return joint_velocities;
    });

    std::cout << "Trajectory completed." << std::endl;

    return 0;
  } catch (const franka::Exception& e) {
    std::cout << e.what() << std::endl;
    return -1;
  }
}

 

标签:20.0,Franka,libfranka,0.5,robot,franka,关节,18.0,include
From: https://www.cnblogs.com/ai-ldj/p/18289526

相关文章

  • Franka FCI 概述
     Franka控制接口(FCI)允许快速直接地与手臂和手进行低级双向连接。它提供机器人的当前状态,并允许使用通过以太网连接的外部工作站PC直接控制机器人。通过使用libfranka我们的开源C++接口,您可以使用5种不同的接口以1kHz的频率发送实时控制值:重力和摩擦补偿关节水......
  • Franka 雅克比矩阵在机器人运动学里的作用
     雅可比矩阵在机器人运动学中扮演着非常重要的角色,主要体现在以下几个方面:速度求解器:雅可比矩阵能够将关节空间的速度映射到笛卡尔空间的速度,或者反过来。通过雅可比矩阵,可以计算出在给定关节速度下,末端执行器的线速度和角速度。这在控制机器人运动、路径规划和碰撞检测......
  • Franka Emika Datasheet(技术参数)
    任何人均可随时随地实现自动化。 FrankaEmika是德国慕尼黑的一家深科技公司,该公司致力于创造全新的机器人平台技术,提高性能,改善每个人的访问便捷性,从而克服现代社会面临的最大难题之一,让整整一代人摆脱枯燥乏味、存在潜在危险且极其耗时的劳动和工作。为了实现高性能和易用......
  • 机器人控制系列教程之关节空间运动控制器搭建(2)
    推文:机器人控制系列教程之关节空间运动控制器搭建(1)中,主要讲解了在关节空间中,基于计算力矩的控制系统设计和搭建,我们直接使用了Simulink中的JointSpaceMotionModel模块来进行控制系统的搭建和调试,下面我们将详细讲解一下另外两种控制器。PD控制器在基于PD控制器来控制......
  • 基于matlab的动力学有限元期刊文章(关节接触界面的随机建模和更新)---论文复现
      stochasticmodellingandupdatingofajointcontactinterface是发表在mechanicalsystemsandsignalprocessing上的一篇较高质量文章。笔者成功复现该文章,效果优异,配备原文,方便学习使用,适合该方向的学习者。  接头和机械连接中接触界面的动态性能对装配结构的......
  • Shadow Hand 食指第三关节拆解
            在拆解手指前,需要事先将手指对应的通讯和供电线缆从手掌背部的核心板上拔除。在核心板上有数个白色接插件,每个接插件旁边都会有手指的缩写标识,但是标识有可能会被线缆覆盖,所以耐心找到对应的接口即可。       手掌背部核心板详细设计布局细节可参考博......
  • 文件系统-1-相关节点和命令
    1./proc/partitions/#cat/proc/partitionsmajorminor#blocksname108192ram0...1158192ram15254010485760vda...25430498304vdt25306291456zram02520529875......
  • 混辗式混砂机 变速箱 旋耕灭茬机 污水处理 150T液压机 污水处理厂 饺子机 农村生活污
    UHT管式杀菌机说明书混辗式混砂机机械结构设计 论文CAD图纸开题报告毕业设计之专用机床图纸毕业设计推钢机液压图纸毕业设计3吨叉车3进3退变速箱(毕业设计)1G-160型旋耕灭茬机中央传动装置设计(共17张CAD加说明书与侧边传动装置配套污水处理课程设计图集150T液压机设计【10......
  • 关于膝关节损伤
    最后更新于章节:2024.02.282023.04.22:坐在车中,无聊,安装、打开Soul,看到了以前加的“膝盖半月板恢复”群。emm…膝关节损伤是我的烦心事,也想过写出来分享下。我以一个患者从科普的角度来写,也许能给像曾经的我一样“无知”的朋友一些信息。因为不是专业的,所以有些可能说的不太对。......
  • 【ROS2机器人入门到实战】通过JointStates控制RVIZ2关节
    8.4控制移动机器人轮子运动写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn我是小鱼,本节我们来看看如何手动的发送joint_s......