随笔分类 - Robot
摘要:// Copyright (c) 2019 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <iostream> #include
阅读全文
摘要:// Copyright (c) 2023 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <iostream> #include
阅读全文
摘要:// Copyright (c) 2023 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <iostream> #include
阅读全文
摘要:// Copyright (c) 2023 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <array> #include <io
阅读全文
摘要:O_T_EE 是一个 4x4 的齐次变换矩阵,用于描述末端执行器在机器人基座坐标系下的位置和姿态。这个矩阵的结构如下: [r11 r12 r13 tx] [r21 r22 r23 ty] [r31 r32 r33 tz] [0 0 0 1 ] 其中: r11到r33表示末端执行器的旋转矩阵 tx、t
阅读全文
摘要:// Copyright (c) 2023 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <array> #include <cm
阅读全文
摘要:Franka 机器人来说,多个上位机可以同时对机器人进行控制,但需要遵循一些原则和注意事项: 协作控制模式:多个上位机同时控制Franka机器人需要采用协作控制模式。在这种模式下,各个上位机向机器人发送的指令会被协调合并,避免指令冲突。 访问权限管理:通常会对上位机的访问权限进行管理,明确各个上位机
阅读全文
摘要:cmake_minimum_required(VERSION 3.4) # 指定 CMake 的最低版本要求为 3.4 project(libfranka-examples CXX) # 定义项目名称为 libfranka-examples,并指定语言为 C++ list(INSERT CMAKE_
阅读全文
摘要:// Copyright (c) 2023 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <chrono> #include <i
阅读全文
摘要:在Franka Emika机器人中,可以使用setZeroForceTorque()函数来设置机器人的零力矩。这个函数可以让机器人保持在零力矩状态,即不施加任何额外的力矩。这种状态下,机器人关节会保持"放松"的状态,可以被外力轻易地移动。 以下是一个示例代码: #include <franka/ro
阅读全文
摘要:robot.setCollisionBehavior 是 Franka Emika Panda 机器人 API 中的一个函数,用于设置机器人的碰撞行为参数。这些参数定义了机器人的各个关节和末端执行器在发生碰撞时的灵敏度和反应。 void franka::Robot::setCollisionBeha
阅读全文
摘要:robot.setJointImpedance()和robot.setCartesianImpedance()两个函数有以下区别和联系: 区别: 参考坐标系不同 setJointImpedance()是设置每个关节的阻抗参数,以关节坐标系为参考。 setCartesianImpedance()是设置
阅读全文
摘要:// Copyright (c) 2023 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #include <iostream> #include
阅读全文
摘要:使用 FCI 时,您会遇到多种错误,这些错误可能是由于用户发送的不合规命令、通信问题或机器人行为而导致的。以下小节详细介绍了最相关的错误。有关完整列表,请查看 API文档。 请注意,发生错误后,您可以自动清除错误并继续使用该franka::Robot::automaticErrorRecovery(
阅读全文
摘要:Franka 机器人模型库提供: 所有机器人关节的正向运动学。 所有机器人关节的主体和零雅可比矩阵。 动态参数:惯性矩阵、科里奥利和离心矢量、重力矢量。 请注意,加载模型库后,您可以计算任意机器人状态的运动学和动态参数,而不仅仅是当前状态。您还可以以非实时方式使用模型库,例如在优化循环中。libfr
阅读全文
摘要:零雅可比矩阵(Zero Jacobian Matrix)和雅可比矩阵(Jacobian Matrix)之间有以下几点主要区别: 定义: 零雅可比矩阵是指雅可比矩阵在某些特定配置下变成零矩阵。 雅可比矩阵是描述机器人运动学关系的矩阵,它将关节变量映射到笛卡尔空间的变量。 奇异性: 零雅可比矩阵对应于机
阅读全文
摘要:机器人状态以 1 kHz 的速率提供机器人传感器读数和估计值。它提供: 关节级信号:电机和估计的关节角度及其导数、关节扭矩和导数、估计的外部扭矩、关节碰撞/接触。 笛卡尔级信号:笛卡尔位姿、配置的末端执行器和负载参数、作用于末端执行器的外部扳手、笛卡尔碰撞。 接口信号:最后的命令和期望值及其导数。
阅读全文
摘要:Franka机器人中的低通滤波器和速率限制器之间存在以下区别和联系: 作用目的: 低通滤波器的作用是抑制高频噪声,平滑控制指令,提高系统稳定性。 速率限制器的作用是限制关节运动的速度变化率,避免机器人产生过大的加速度和扭矩,保护机械系统。 作用对象: 低通滤波器作用于控制输入信号,如关节角度、速度或
阅读全文
摘要:Franka机器人内部的关节阻抗控制器和笛卡尔阻抗控制器之间的本质区别如下: 1. 控制空间 关节空间 vs. 笛卡尔空间: 关节阻抗控制器工作在关节空间,即以关节角度、关节速度和关节扭矩为控制变量。 笛卡尔阻抗控制器工作在笛卡尔空间,即以末端执行器的位置、速度和力作为控制变量。 2. 控制目标:
阅读全文
摘要:libfranka是 FCI 客户端的 C++ 实现。它处理与 Control 的网络通信,并提供接口以轻松实现以下功能: 执行非实时命令来控制手并配置手臂参数。 执行实时命令来运行您自己的 1 kHz 控制循环。 读取机器人状态以 1 kHz 的频率获取传感器数据。 访问模型库来计算所需的运动学和
阅读全文