• 2024-08-08Docker && Microros && PlatformIO 配置经验留存
    1.背景:无意中看到了小鱼(鱼香ROS)的文章硬件环境:Ubuntu22.04 &&ESP32-WROOM-32想在ESP32WROOM32上实现microros的功能:实现上位机(跑ROS2)通过topic直接控制CAN报文的功能;目前进度:实现了环境的配置(PlatformIO&&docker&&Microros);初步跑通了Microros的订阅与发送(24
  • 2024-07-03ros-slam-microros-发布里程计odom
    获得了里程计数据后,下一步就是将里程计通过MicroROS话题发布到ROS2系统中。一、了解接口在ROS2已有的消息接口中:nav_msgs/msg/Odometry用于表示里程计数据,该接口内容如下:ros2interfaceshownav_msgs/msg/Odometry---#Thisrepresentsanestimateofapositio
  • 2024-07-03ros - slam - microros - 里程计原理-速度积分
    前面两节中我们完成机器人底盘正逆解的计算,我们通过机器人的运动学逆解完成了机器人实时的角速度和线速度的测量,那我们能不能利用对线速度和角速度的积分,计算机器人当前的位置呢?答案肯定是可以的,那么本节我们就来编写代码实现机器人的里程计。  二、编写代码先修改Kinematics
  • 2024-07-02ros - slam - microros - 两轮差速模型运动学 - 运动学正解
    上一节了解了两轮差速运动学,本节我们线进一步的了解两轮差速正运动学的推导过程,并利用两轮差速运动学正解,来完成对小车的实时速度计算。 一、正运动学解推导两轮差速机器人是一种常见的移动机器人类型,由两个轮子和一个中心点组成。我们可以通过控制每个轮子的转速来实现移动,并
  • 2024-07-02ros - slam - microros - 两轮差速模型运动学介绍
    本节我们来了解下两轮差速运动学。一、两轮差速运动学模型两轮差速模型指机器人底盘由两个驱动轮和若干支撑轮构成的底盘模型,像turtlebot和开源机器人fishbot都是两轮差速模型。 两轮差速模型通过两个驱动轮可以通过不同转速和转向,使得机器人的达到某个特定的角速度和线速度
  • 2024-07-02ros -slam - microros- PID控制器实现
    上一节我们通过编码器完成了对机器人单个轮子的速度测量,完成了电机速度闭环控制的重要一步-反馈。 有了反馈,接着我们需要设计一个控制器来帮助我们实现这个需求,这个控制器的输入是当前的速度和目标速度,输出是应该给到电机的PWM占空比。一、PID控制器介绍PID控制器是一种广泛应
  • 2024-07-02ros - microros - 电机控制之使用开源库驱动多路电机
    前面了解了电机控制的原理并通过实验测试了对电机正反转以及转速的控制。本节我们采用开源库调用ESP32的外设MCPWM进行精细化的电机PWM控制。一、MCPWM简介MCPWM中文名是电机控制脉宽调制器(MotorControlPulseWidthModulator),是一款多功能PWM发生器,包含各种子模块,使其成为电
  • 2024-07-02ros microros 之 电机控制之正反转实验
    前面说到通过控制对应的IO电平变换即可完成对电机正反转的控制,本节我们尝试编写代码,进行实验。一、新建工程新建example21_motor_direction_control二、编写代码根据第前面硬件控制章节学到的内容可知,控制IO电平只需要使用pinMode和digitalWrite相关函数即可。/***@filem
  • 2024-07-02ros slam microros之H电桥电机驱动原理介绍
    一、电机驱动原理介绍正式编写代码前,我们先了解下电机驱动的原理,以便于我们了解我们如何才能通过代码控制电机的转速和正反转。1.1H桥电路让电机动起来只需要通电就行,比如我们用的额定电压为12V130RPM的电机,当给到12V的电压时可以达到额定转速130转/分,但如果我们给8V的电压,此时
  • 2024-07-01ros2 - microros - 雷达 -可视化点云
    上一节完成了指定角度距离的测量这一节我们将其合成ROS的laserscan消息,并将其通过microros发布到上位机,最终实现rviz2的可视化。 一、雷达消息介绍使用指令ros2interfaceshowsensor_msgs/msg/LaserScan,可以看到ROS2对雷达数据接口的定义。#Singlescanfromaplanarlas
  • 2024-07-01ros microros 舵机控制原理
    1.什么是舵机:舵机是一种位置伺服的驱动器,主要是由外壳、电路板、驱动马达、齿轮组和位置反馈电位计等元件所构成,适用于那些需要角度不断变化并可以保持的控制系统。2.舵机的工作原理是:控制电路板接收来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵
  • 2024-07-01ros microros 使用超声波雷达测量距离
    我们使用的超声波模块一共有四个引脚,分别是TRIG即发送引脚,用于发送超声波ECHO即接收引脚,用于接收反射回来的超声波VCC电源接5VGND电源地一、新建工程新建example18_sr04二、编写代码带注释的代码如下#include<Arduino.h>#defineTrig27//设定SR04连接的Arduino引脚
  • 2024-07-01ros mocroros 使用双核运行microros
    在硬件篇开始的第一节时,曾提到,我们所使用的开发板单片机是双核240M主频的,但是在后面的开发中我们并没有真正的使用了双核,主频也是使用的默认160MHZ。所以本节带你一起带你一起提升主频并启动双核进行MicoROS的双核。一、双核与RTOS介绍 所谓双核指的是ESP32单片机有两个内核,所
  • 2024-07-01ros micro-ros 无线通信(wifi)
    在前面的学习中,我们一直通过串口通信来连接MicroROS,但一直扯着跟线是不是觉得很麻烦,本节我们利用开发板上的WIFI功能尝试使用无线的方式连接Agent。一、新建工程并添加依赖1.1新建工程1.2添加依赖&修改配置修改platformio.ini[env:featheresp32]platform=espressif32boa
  • 2023-09-07【ROS2机器人入门到实战】第 十四 章 接入ROS2-MicroROS
    第十四章接入ROS2-MicroROS写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn,我是小鱼。上一章我们通过对嵌入式开发的学习
  • 2023-09-07【ROS2机器人入门到实战】榨干性能-使用双核运行MicroROS
    4.榨干性能-使用双核运行MicroROS写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。在硬件篇开始
  • 2023-09-07【ROS2机器人入门到实战】MicroROS-服务通信服务端实现
    3.MicroROS-服务通信服务端实现写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn一、新建工程添加依赖新建example13_microro
  • 2023-09-07【ROS2机器人入门到实战】你的第一个MicroROS节点
    2.你的第一个MicroROS节点写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。上一节我们介绍了Mic