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

随笔分类 -  MicroROS

摘要:在 ROS Upstart 中启动 launch 文件时,控制台输出确实可能会对服务的启动和运行产生影响。 为了避免这一问题,您可以在 Upstart 配置文件中添加 console 指令来控制输出的行为。主要有以下几种选择: 1. 将控制台输出重定向到日志文件: # /etc/ros/upstar 阅读全文
posted @ 2024-08-03 11:13 lvdongjie-avatarx 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Franka Ros 暂时在Windows上不受支持。 封装的示意图franka_ros 元包franka_ros集成libfranka到 ROS 和 ROS 控件中。这里我们介绍它的包,并简要介绍如何编写控制器。 本节中传递给启动文件的所有参数都带有默认值,因此如果使用默认网络地址和 ROS 命名 阅读全文
posted @ 2024-07-11 22:53 lvdongjie-avatarx 阅读(96) 评论(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 阅读(113) 评论(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 阅读(650) 评论(0) 推荐(0) 编辑
摘要:本节我们来了解下两轮差速运动学。 一、两轮差速运动学模型两轮差速模型指机器人底盘由两个驱动轮和若干支撑轮构成的底盘模型,像turtlebot和开源机器人fishbot都是两轮差速模型。 两轮差速模型通过两个驱动轮可以通过不同转速和转向,使得机器人的达到某个特定的角速度和线速度。 二、正逆解 了解了两 阅读全文
posted @ 2024-07-02 21:40 lvdongjie-avatarx 阅读(156) 评论(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 阅读(44) 评论(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 阅读(54) 评论(0) 推荐(0) 编辑
摘要:前面了解了电机控制的原理并通过实验测试了对电机正反转以及转速的控制。本节我们采用开源库调用ESP32的外设MCPWM进行精细化的电机PWM控制。一、MCPWM简介MCPWM中文名是电机控制脉宽调制器 (Motor Control Pulse Width Modulator ),是一款多功能 PWM 阅读全文
posted @ 2024-07-02 10:31 lvdongjie-avatarx 阅读(117) 评论(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 阅读(154) 评论(0) 推荐(0) 编辑
摘要:ARM Cortex-A 和 STM32 F107 是两种不同的微控制器架构,它们在性能、应用场景和硬件支持方面有很大的差异。以下是它们的详细比较和分析: 1. 基本特性比较ARM Cortex-A 系列ARM Cortex-A 是 ARM 架构中的高级应用处理器系列,专为复杂的计算任务和高级应用设 阅读全文
posted @ 2024-07-01 20:19 lvdongjie-avatarx 阅读(46) 评论(0) 推荐(0) 编辑
摘要:Adafruit ESP32 Feather 和树莓派(Raspberry Pi)都是广泛使用的硬件平台,分别在嵌入式系统和单板计算机领域具有各自的优势。以下是它们的详细比较,以及它们对机器人操作系统(ROS)的支持程度的分析。 1. 基本特性比较Adafruit ESP32 Feather 核心处 阅读全文
posted @ 2024-07-01 20:12 lvdongjie-avatarx 阅读(235) 评论(0) 推荐(0) 编辑