有多少人工,就有多少智能

随笔分类 -  Ros2

摘要:Franka 控制接口 (FCI) 允许快速直接地与手臂和手进行低级双向连接。它提供机器人的当前状态,并允许使用通过以太网连接的外部工作站 PC 直接控制机器人。通过使用libfranka我们的开源 C++ 接口,您可以使用 5 种不同的接口以 1 kHz 的频率发送实时控制值: 重力和摩擦补偿关节 阅读全文
posted @ 2024-07-08 10:23 lvdongjie-avatarx 阅读(64) 评论(0) 推荐(0) 编辑
摘要:获得了里程计数据后,下一步就是将里程计通过MicroROS话题发布到ROS 2 系统中。一、了解接口在 ROS 2 已有的消息接口中: nav_msgs/msg/Odometry 用于表示里程计数据,该接口内容如下: ros2 interface show nav_msgs/msg/Odometry 阅读全文
posted @ 2024-07-03 14:10 lvdongjie-avatarx 阅读(99) 评论(0) 推荐(0) 编辑
摘要:前面两节中我们完成机器人底盘正逆解的计算,我们通过机器人的运动学逆解完成了机器人实时的角速度和线速度的测量,那我们能不能利用对线速度和角速度的积分,计算机器人当前的位置呢?答案肯定是可以的,那么本节我们就来编写代码实现机器人的里程计。 二、编写代码先修改Kinematics.h头文件,增加角度范围限 阅读全文
posted @ 2024-07-03 10:15 lvdongjie-avatarx 阅读(115) 评论(0) 推荐(0) 编辑
摘要:上一节我们推导并在代码中实现了运动学正解,本节我们来学习下运动学逆解,实现给定线速度和角速度,计算出轮子达到怎样的转速才能达到这个速度。 一、逆解推导我们直接用正解结果进行求逆解即可。 二、编写代码继续在上一节中的代码Kinematics.cpp中完善即可。 void Kinematics::kin 阅读全文
posted @ 2024-07-02 23:07 lvdongjie-avatarx 阅读(96) 评论(0) 推荐(0) 编辑
摘要:上一节了解了两轮差速运动学,本节我们线进一步的了解两轮差速正运动学的推导过程,并利用两轮差速运动学正解,来完成对小车的实时速度计算。 一、正运动学解推导两轮差速机器人是一种常见的移动机器人类型,由两个轮子和一个中心点组成。我们可以通过控制每个轮子的转速来实现移动,并且可以在一个平面上进行自由移动。 阅读全文
posted @ 2024-07-02 21:57 lvdongjie-avatarx 阅读(652) 评论(0) 推荐(0) 编辑
摘要:本节我们来了解下两轮差速运动学。 一、两轮差速运动学模型两轮差速模型指机器人底盘由两个驱动轮和若干支撑轮构成的底盘模型,像turtlebot和开源机器人fishbot都是两轮差速模型。 两轮差速模型通过两个驱动轮可以通过不同转速和转向,使得机器人的达到某个特定的角速度和线速度。 二、正逆解 了解了两 阅读全文
posted @ 2024-07-02 21:40 lvdongjie-avatarx 阅读(158) 评论(0) 推荐(0) 编辑
摘要:上一节我们通过编码器完成了对机器人单个轮子的速度测量,完成了电机速度闭环控制的重要一步-反馈。 有了反馈,接着我们需要设计一个控制器来帮助我们实现这个需求,这个控制器的输入是当前的速度和目标速度,输出是应该给到电机的PWM占空比。 一、PID控制器介绍PID控制器是一种广泛应用于工业控制、自动化控制 阅读全文
posted @ 2024-07-02 13:15 lvdongjie-avatarx 阅读(89) 评论(0) 推荐(0) 编辑
摘要:新建example26_max_speed_measurement 添加依赖 [env:featheresp32] ; 这是一个环境配置标签,指定了代码将运行的硬件平台和框架 platform = espressif32 ; 指定了使用的平台为Espressif 32 board = feather 阅读全文
posted @ 2024-07-02 12:53 lvdongjie-avatarx 阅读(37) 评论(0) 推荐(0) 编辑
摘要:这一节我们编写代码来尝试下是否能够读取到电机上编码器的脉冲数,并通过实验测试出小车的输出轴转速和编码器脉冲的比值。 一、新建工程并导入开源库新建example25_encoder 添加依赖 [env:featheresp32] ; 这是一个环境配置标签,指定了代码将运行的硬件平台和框架 platfo 阅读全文
posted @ 2024-07-02 12:30 lvdongjie-avatarx 阅读(45) 评论(0) 推荐(0) 编辑
摘要:上节做完小车,遥控时小车前进时你应该会发现,小车很难走一条直线,但明明我们给到两个电机的PWM占空比都是相同的,原因在于每一个电机的硬件参数并不能完全的保证一致,所以当我们采用开环控制时,即使我们给到每个电机相同的电压,也不能让两个电机保持相同的转速。 要解决这个问题我们就要把开环控制改成闭环控制, 阅读全文
posted @ 2024-07-02 12:18 lvdongjie-avatarx 阅读(60) 评论(0) 推荐(0) 编辑
摘要:本节我们结合上一节电机控制以及前面章节的MicroROS话题订阅部分知识点,来实现一个可以用键盘遥控的小车。 新建工程example24_ros2_car 修改配置 [env:featheresp32] ; 这是一个环境配置标签,指定了代码将运行的硬件平台和框架 platform = espress 阅读全文
posted @ 2024-07-02 11:21 lvdongjie-avatarx 阅读(55) 评论(0) 推荐(0) 编辑
摘要:前面了解了电机控制的原理并通过实验测试了对电机正反转以及转速的控制。本节我们采用开源库调用ESP32的外设MCPWM进行精细化的电机PWM控制。一、MCPWM简介MCPWM中文名是电机控制脉宽调制器 (Motor Control Pulse Width Modulator ),是一款多功能 PWM 阅读全文
posted @ 2024-07-02 10:31 lvdongjie-avatarx 阅读(118) 评论(0) 推荐(0) 编辑
摘要:前面说到通过控制对应的IO上的PWM占空比即可完成对电机速度的控制。关于PWM的介绍在ROS2硬件控制篇的舵机控制中已经介绍过了,所以我们知道通过改变PWM的占空比可以实现对输出电压的大小调节。占空比越大,输出电压越高;占空比越小,输出电压越低。接着我们通过一个实验来验证下一、新建工程新建examp 阅读全文
posted @ 2024-07-02 10:15 lvdongjie-avatarx 阅读(56) 评论(0) 推荐(0) 编辑
摘要:前面说到通过控制对应的IO电平变换即可完成对电机正反转的控制,本节我们尝试编写代码,进行实验。 一、新建工程新建example21_motor_direction_control 二、编写代码根据第前面硬件控制章节学到的内容可知,控制IO电平只需要使用pinMode和digitalWrite相关函数 阅读全文
posted @ 2024-07-02 10:06 lvdongjie-avatarx 阅读(23) 评论(0) 推荐(0) 编辑
摘要:一、电机驱动原理介绍正式编写代码前,我们先了解下电机驱动的原理,以便于我们了解我们如何才能通过代码控制电机的转速和正反转。1.1 H桥电路让电机动起来只需要通电就行,比如我们用的额定电压为12V 130RPM的电机,当给到12V的电压时可以达到额定转速130转/分,但如果我们给8V的电压,此时电机依 阅读全文
posted @ 2024-07-02 09:16 lvdongjie-avatarx 阅读(61) 评论(0) 推荐(0) 编辑
摘要:本节我们对移动机器人底盘结构进行简单的介绍,并着重介绍FishBot基础版的组成结构。 对于一个移动底盘来说,所要提供的核心功能有两个-感知和执行能力,我们分别进行介绍。 一、感知-传感器所谓感知即通过给类传感器获取环境信息的能力。在移动机器人中,我们常用的传感器有 距离传感器——雷达、超声波 轮子 阅读全文
posted @ 2024-07-02 09:10 lvdongjie-avatarx 阅读(59) 评论(0) 推荐(0) 编辑
摘要:上一节完成了指定角度距离的测量这一节我们将其合成ROS的laserscan消息,并将其通过microros发布到上位机,最终实现rviz2的可视化。 一、雷达消息介绍使用指令ros2 interface show sensor_msgs/msg/LaserScan,可以看到ROS2对雷达数据接口的定 阅读全文
posted @ 2024-07-01 20:54 lvdongjie-avatarx 阅读(157) 评论(0) 推荐(0) 编辑
摘要:ARM Cortex-A 和 STM32 F107 是两种不同的微控制器架构,它们在性能、应用场景和硬件支持方面有很大的差异。以下是它们的详细比较和分析: 1. 基本特性比较ARM Cortex-A 系列ARM Cortex-A 是 ARM 架构中的高级应用处理器系列,专为复杂的计算任务和高级应用设 阅读全文
posted @ 2024-07-01 20:19 lvdongjie-avatarx 阅读(47) 评论(0) 推荐(0) 编辑
摘要:Adafruit ESP32 Feather 和树莓派(Raspberry Pi)都是广泛使用的硬件平台,分别在嵌入式系统和单板计算机领域具有各自的优势。以下是它们的详细比较,以及它们对机器人操作系统(ROS)的支持程度的分析。 1. 基本特性比较Adafruit ESP32 Feather 核心处 阅读全文
posted @ 2024-07-01 20:12 lvdongjie-avatarx 阅读(237) 评论(0) 推荐(0) 编辑
摘要:1. 什么是舵机: 舵机是一种位置伺服的驱动器,主要是由外壳、电路板、驱动马达、齿轮组和位置反馈电位计等元件所构成,适用于那些需要角度不断变化并可以保持的控制系统。 2. 舵机的工作原理是:控制电路板接收来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴与位 阅读全文
posted @ 2024-07-01 18:35 lvdongjie-avatarx 阅读(61) 评论(0) 推荐(0) 编辑