随笔分类 - Robot
摘要:1.地图文件介绍1.地图数据文件.pgm介绍OccupancyGrid由一个.yaml格式的元数据文件,和.pgm图片格式的地图数据文件组成。从上节课建图后保存的文件也可以看出。 . ├── fishbot_map.pgm └── fishbot_map.yaml 0 directories, 2
阅读全文
摘要:cartographer,这节课我们就开始配置cartographer进行建图。我们需要创建一个功能包,将参数文件和Cartographer启动文件放到一起然后启动。 1.创建fishbot_cartographer功能包 在src目录下,使用创建功能包指令,创建功能包 cd src ros2 pk
阅读全文
摘要:Cartographer是Google开源的一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图(SLAM)的系统。 github地址:https://github.com/cartographer-project/cartographer 文档地址:https://google-ca
阅读全文
摘要:SLAM就是解决地图和定位问题的。 1. SLAM是什么SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩写。 2. SLAM如何解决建图定位问题 机器人通过自身传感器数据处理进行位置估计,同时通过不断移动完成对整个未知环境的地图构建。这就
阅读全文
摘要:我们先了解下什么是栅格地图(Grid Map)。 如上图将地图数据分割为一块块的栅格来表达地图信息,就是栅格地图。那什么是占据(Occupancy)呢?机器人通过激光雷达等传感器来感知深度信息,但我们知道,传感器都是有噪声的(在前面的机器人仿真建模过程中,我们为了更加真实给激光雷达还添加了高斯噪声)
阅读全文
摘要:FishBot上采用的是一个额定电压12V的370减速电机,额定转速为130转/分、额定电流0.5A,转矩600克力厘米。 电机相信你很熟悉,那什么是减速电机呢?减速电机指的是带减速器的电机, 减速器的作用是将高转速低扭矩转化为低转速高扭矩。 电机一般由定子和转子组成的,一般转速都比较快,但输出的力
阅读全文
摘要:在移动机器人中我们需要实时的获取到机器人各个轮子的转速,通过转速根据机器人的运动学模型将轮子的速度转换成机器人的速度,通过对速度进行积分(速度*距离)得到机器人行走的距离。 我们对轮子速度的测量所使用的传感器就是编码器,在FishBot上,我们采用的是AB电磁编码器。 电磁编码器是由1和2两个霍尔传
阅读全文
摘要:一般激光雷达的测距原理是三角测距法:单线激光雷达原理揭秘:三角测距 VS ToF测距-射频/微波 从上图可以看出,当我们已知L(机械安装值)和d1(CCS测量值)和f(机械安装值)的情况下,我们可以得到D1的值,即激光雷达到被测物体的距离: 激光头通过不断旋转,这样就可以测量出360度的深度信息。
阅读全文
摘要:在Franka Emika Panda机器人中,robot.setCollisionBehavior 函数用于设置机器人在检测到碰撞时的行为。这些设置确保机器人能够及时检测到外部干扰,并采取适当的响应措施,以保护机器人自身和周围环境的安全。以下详细解释了设置碰撞行为后的响应与未设置情况下的响应差异。
阅读全文
摘要:在Franka Emika Panda机器人中,robot.setCollisionBehavior 和 robot.setJointImpedance 是可以同时使用的。这两个函数分别负责设置机器人在不同场景下的碰撞行为和关节阻抗,它们共同协作,确保机器人在力控制和运动过程中能有效地应对外界的干扰
阅读全文
摘要:robot.setCollisionBehavior 函数在Franka Emika Panda机器人中用于设置机器人在碰撞情况下的行为。这个函数的参数是一个4×7的双精度浮点数组,其中每一行的7个值分别表示机器人7个关节的阈值或灵敏度。每一行代表不同类型的控制策略,因此总共有四行。 具体来说,这四
阅读全文
摘要:了确保运动的停止条件,必须添加一些机制来决定控制过程何时结束。通常,有几个常见的方法来设置停止条件: 基于位移或位置的停止条件: 当机器人的末端执行器达到目标位置或超过某个位移阈值时,停止运动。 可以通过比较当前的末端位置和目标位置来判断是否应该停止。 基于力的停止条件: 当外部施加的力达到或超过某
阅读全文
摘要:在Franka Emika Panda机器人中,力控制结合位置控制是一种常见的控制方法,能够实现复杂的任务,如沿特定路径运动的同时感知和响应外部施加的力。这种控制方法在需要精确定位和同时需要感知外部力的场景中非常有用,比如在装配、抛光、打磨等工业任务中。 下面我们通过一个示例来展示如何使用 libf
阅读全文
摘要:Franka Emika Panda机器人能够实时获取力的能力是由于其设计中集成了高精度的力/扭矩传感器和先进的控制算法。这些特性使得机器人在执行任务时可以实时感知和反馈外界施加的力,从而实现精确的力控制和复杂的交互操作。以下是详细解释: 1. 高精度力/扭矩传感器 Franka Emika Pan
阅读全文
摘要:在Franka Emika Panda机器人中,速度控制是实现精确操作和动态响应的关键部分。您可以通过设置关节速度或笛卡尔速度来控制机器人的运动速度。下面,我将详细解释如何在C++代码中实现速度控制。 1. 设置关节速度 关节速度控制是直接控制每个关节的速度。您可以设置目标速度,然后通过相应的API
阅读全文
摘要:背景 在机器人控制中,阻抗控制(Impedance Control)是一种常见的控制策略,用于调整机器人在面对外部干扰时的力和位置的响应。通过阻抗控制,机器人可以在力控制和位置控制之间取得平衡,使其对外部环境的变化作出相应的反应,从而更加安全和灵活。 主要参数 setJointImpedance 方
阅读全文
摘要:1. 力传感器 Franka Emika Panda 机器人的关节中内置了力/扭矩传感器,可以测量每个关节的力和扭矩。通过这些传感器,机器人可以实时感知在操作过程中受到的外力。 2. 实时力反馈 Franka Emika 的控制系统支持实时力反馈,机器人可以在操作过程中持续监测和调整施加的力。例如,
阅读全文
摘要:1. 运动学求解,如KDL,Trac-IK, IK-Fast 2. 路径规划:OMPL, CHOMP,SBPL 3. 碰撞检测:FCL, PCD...
阅读全文
摘要:1. 应用场景 2. moveit 2017年 支持的机器人 MoveIt是什么? 传统的示教器需要人手拖动机械臂示教控制, moveit则不需要:
阅读全文
摘要:1. 以UR3机器人为例, 先设计solidwork模型, 下载并安装sw_urdf_expoter 插件: 2. 下载机器人模型文件,加载进solidworks: 插入基准轴: 一共6个旋转轴: 设置好旋转轴后,接下来,导出URDF文件: 配置URDF: 将link加进来: 点击“Preview
阅读全文