- 博客(243)
- 资源 (6)
- 收藏
- 关注
原创 白泽六足机器人Baize_h1mini循迹教程
电路连接好后,将灰度传感器的可调电阻调到信号灯刚好关闭的位置(一个灯的为信号灯,两个灯的一个是电源指示灯,另一个为信号灯)机器人启动后放到地上灰度传感器没碰到黑线就转弯,或者不沿直线行走则说明灰度传感器离地太远,需要放低传感器。准备材料灰度传感器(市面上款式比较多,不影响使用),打印支架(没有也可以用其他东西代替)接线如下,左边传感器信号线接13号GPIO口,右边传感器信号线接0号GPIO口。连接电路之后上传代码,注意灰度传感器正负极是否正确,避免损坏元件。
2024-08-30 19:14:12
555
原创 Arduino开源四足蜘蛛机器人制作教程
Arduino主控,图形化编程,趣味学习Arduino nano开发板+舵机扩展底板4.8V可充电电池,支持Arduino C语言编程和米思齐图形化编程开源代码,注释详细,运动学解算。1.2Baize_Spider12: 一个四足蜘蛛机器人 - Gitee.com根目录如下图所示,资料里面一共有6个文件夹,还有一个“Baize_spider入门级制作教程.pdf” 的文件,这个pdf文件是整个机器人制作的指导教程。
2024-08-17 16:14:53
4039
6
原创 Baize_h1mini六足机器人零件准备
你现在在地图的红色字体位置(走到终点就制作完成了):首先要找到零件的图纸,打开我们刚刚下载的整个项目资料文件夹,找到如下路径1.3D model\Baize_HexapodRobot_Arduino_3DPrinter\STL Files,可以看到该文件夹下有很多可以打印的STL格式图纸,如下图2-2-1红框中所示:
2023-10-21 18:54:36
991
原创 开源ESP32智能小车机械臂控制板Baize_Carboard(支持mixly)
采用esp32做主控的,支持4路直流电机或者两路步进电机的控制,也可以用于控制两路直流闭环电机。输入电压范围5-12V,有时候电压5V起不来,要高一点。可以用于学习arduino或者ros编程,同时也可以将ros于arduino结合。
2023-10-15 11:46:47
965
原创 CircuitPython入门贴
以前一直玩arduino的,但是恼火于每次写完代码,都要编译并烧录到MCU上,刚开始的blink例程类的小代码还好,起码十几秒钟就能烧录成功,但是后来随着程序代码量的增加,发现每次编译烧录竟然要一分多钟,这一分多钟,我就等着IDE在编译代码并上传,有时候代码的很少一部分都需要来来回回调试十几次,这样修改几个参数,再修改几个参数,来来回回搞个十几次半个小时就过去了,为了调试几个参数就浪费半个小时的时间真的值吗?人生苦短,我用python!
2022-09-19 14:10:52
1370
原创 Baize_ServoDriver_esp32(ROS+Arduino驱动舵机机械臂,通过串口或WiFi话题通信)(数字孪生:虚拟和现实同步)
通过Baize_ServoDriver_esp32这块舵机驱动板,我们来驱动我们的机器人。首先,我们通过串口来订阅我们的自定义话题消息。具体的话题消息以及定义方式,可以参照下面的仓库。
2022-09-14 22:03:26
1659
原创 Ready! Use 192.168.191.2 to access clientGuru Meditation Error: Core 1 panic‘ed (LoadProhibited).
所以我在想是不是ros_lib库里面例程的作者故意这样做的,如果连上了wifi,但是ubuntu主机没有发送连接请求,则通过软复位进行发送复位的数据帧,在ubuntu主机和esp32建立wifi连接的过程中,就使用复位过程中发送的这一系列数据帧进行硬件的验证,一旦ubuntu主机端接受到了esp32硬件复位的数据帧,那么开始建立话题通讯连接,esp32开始正常工作。一度以为是程序运行不正常导致的,但是偶然间运行。却发现可以正常通信,并且运行没问题。
2022-09-13 21:07:26
1418
原创 ESP32:Protocol version of client is unrecognized, expected Rev 1 (rosserial 0.5+)
通过这块开发板与ROS进行串口通信的过程中,发现出现了如下错误这个错误是在我运行了出现的通过分析,他的意思是,我们的通讯数据帧出现了问题。然后通过多番查找资料之后(本来是解决另一个问题的,我的esp32在发现串口话题通信有问题之后,我就没继续纠结,因为拿esp32做主控的初衷就是通过wifi进行话题通信,所以串口无法进行话题通信对我并没有影响。但是在写程序的时候,发现又出了其他问题,结果那个问题解决完发现这个问题也解决了,所以就验证了一下,果然这个方法可以解决这个问题),机缘巧合,这个问题被解决了。
2022-09-13 20:18:46
676
1
原创 ROS+Arduino学习导航贴
原先写了一些ROS+arduino学习记录的帖子,发现每次找起来非常麻烦,所以做一个汇总帖,以后需要的话,找起来就方便了。
2022-09-13 10:35:07
1449
原创 Baize_ServoDriver_esp32——arduino 32路舵机驱动板(esp32主控,免费开源,附程序、固件)
出于制作机器人的需要,设计了这块儿32路舵机驱动板,板子可以驱动从5~12V的pwm舵机,适应电压范围较宽,所以用起来会非常方便。板载有电压监测电路和蜂鸣器,这样如果你使用电池为机器人供电时,可以通过电压检测电路来测量电池电量情况,如果电量过低,则需要报警并停止机器人动作,提示我们进行充电。板载还有mpu6050,这样我们可以感知机器人的姿态等信息,可以根据机器人姿态进行动作的规划。同时板载一个小型彩色屏幕1.14寸,140*240的分辨率,可以实时显示板子和机器人的状态,方便机器人的现场测试。
2022-08-21 14:06:49
5040
8
原创 win10 1809版本手动安装WSL和ubuntu 18.04
按住win+R按键,输入winver即可查看win10的版本。由于wsl2只支持win101903或者更新版本。所以如果你的版本是1903或更新版本,那就可以安装wsl2,否则像我一样老老实实安装wsl即可。可以看到我的版本是1809.............
2022-07-22 15:56:52
3112
原创 esp8266学习导航贴
本篇帖子是esp8266学习的一个导航帖,用于方便自己查找资料。有时候学习的时候写了一篇记录贴,可能后来找不到了,用导航帖可以很方便的找到想要的内容。
2022-07-19 10:54:54
298
原创 使用esp32 download tool给esp32烧录固件
用arduino为esp32开发程序非常方便,但是有时候需要测试程序的时候,arduino通常编译速度很慢,短则几十秒,长则两三分钟,要等好久。所以,通常一个程序稳定之后,我们会把程序编译成固件,方便以后烧录使用。固件由于已经是从源码编译成了二进制的可执行文件,因此再次上传同样的程序到esp32时,就不需要再编译了,直接可以将二进制可执行程序烧录到esp32开发板就可以。解压打开选择型号进来是下面这个样子,那就说明我们烧录工具没问题了。.........
2022-07-18 21:05:06
12126
2
原创 白泽平衡小车导航贴
为什么我每次都要运行这个程序呢?首先当我们接好线了以后,就是确保这些传感器接线正常并且是好的。如果你直接跑mpu6050采集数据的例程,那么一旦跑不通,就不知道是程序问题还是硬件问题或者是接线没接好呢?所以我们一步一步来,哪里有问题就非常清晰了。下面这个程序上传完成之后,我们从串口监视器看,看最后两列就是打印出来的两个倾角数据,这时我们可以手动让小车绕轮子旋转,看哪个倾角跟随着变化,这个倾角就是我们需要测的数据。 mpu6050接在灯哥foc3.0的iic接口上 偶尔会莫名其妙mpu6050断连
2022-07-12 16:20:01
419
原创 esp8266使用TF卡并读写数据(基于arduino)
主要用到下面的模块,一个这张图片主要告诉我们TF卡的各个引脚是什么作用,因为我们是用的spi接口,所以就看最后一列就可以了。正常情况下,一旦你的arduino IDE里面安装了esp8266的硬件支持,那么就会自动安装上适配esp8266的SD卡库,所以我们是不需要安装库的。 我们打开files这个例程,然后编译。这个files例程主要是做什么呢?就是在内存卡上创建一个example.txt的文件,然后再删掉。编译好了之后,我们开始接线如果直接跑我们上面编译好的例程,而不对程序做任何修改,那么像下面这样接线
2022-07-03 13:14:18
3727
1
原创 调试平衡小车过程中间遇到的问题
目录定时器函数执行周期跟定时时间不一致?drv8833这款驱动器可以制作平衡小车用吗?定时器中断给的是5ms的中断时间,如下图: 结果在每个中断函数执行开始的程序里加上打印时间戳的语句,发现中断函数执行两次之间的时间差在50ms左右,这很明显使得平衡小车无法工作,但是是 什么原因呢? 是因为算力比较弱,所以进行计算的时候占用了时间吗?把源程序也上传上去(计算量一样),看看源程序是不是也是这样?可以看到,源程序一样的计算量,但是人家中断函数是严格5ms执行一次的,也就是说不是算力的原因。 接着做实验,在源程
2022-06-25 13:16:34
1357
1
原创 球杆系统建模详细过程(深大机电控制课程实验)
球杆系统如下图所示,黄色圆盘转动过程中驱动绿杆抬升或者降落蓝色摆杆,使得小球在蓝色摆杆上移动,最终控制小球稳定在指定位置,这时蓝色摆杆刚好水平。系统输入为黄色圆盘转角,输出为小球与蓝色摆杆所在铰链距离 首先,我们看已知量。:下面黄色圆盘半径。:下面黄色圆盘转角(相对于水平线而言)。:蓝色连杆的转角(相对于水平线而言)。:蓝色连杆上面两个铰链之间的距离。 :小球距离蓝色连杆地面端的距离。 :蓝色连杆总长度。:小球半径。:小球质量。:蓝色连杆质量。:蓝色连杆旋转角速度。:小球滚动时自转角速度。:小球绕自身球心转
2022-06-05 16:59:31
3708
1
原创 单摆的动力学建模以及matlab仿真(牛顿法和拉格朗日方程法)
有空再写首先我们先确定广义坐标,并同时计算出来摆杆的转动惯量接着列拉格朗日方程计算动能(转动动能) 计算势能(取铰链处为零势能高度): 计算L计算拉格朗日方程中的中间量 将上述的中间量带入拉格朗日方程,得到动力学模型:变换一下形式: 我们可以假设角度比较小,因为控制一般都是在平衡点附近。这时,然后得出下面的状态空间方程。 经常情况下角度没有那么小,这个时候我们就不能假设,所以就得到非线性的控制系统。所以这个时候我们这样操作,将这个二阶微分方程转化成一阶微分方程组,这样就可以用matlab的ode45微分方
2022-06-04 14:21:19
13062
原创 Matlab使用ode45求解器求解常微分方程
ode的全称是Ordinary differential equations(常微分方程)的缩写。ode45就是一种常微分方程求解器,这种求解器采用的是Runge-Kutta解法的 中阶 解法;ode45即Nonstiff(非刚性问题)微分方程式。假设要解下面这个微分防方程:我们把这个Second order differential equation(二阶微分方程)改写乘一阶微分方程组的形式。令 则。ode45这个微分方程求解器的用法如下: 我们编写如下代码,把微分方程写出来。这里的 我们令为1,所以
2022-06-03 17:57:59
16713
2
原创 转动惯量计算
人们为什么要提出转动惯量这个概念呢?看下图,这个是一个单摆,下面挂着一个小球。假设单摆质量为0;小球直径无穷小,是一个质点,这个时候我们如何求这个小球的动能呢?很显然的,我们想到用这里这是因为我们把小球看作了质点,所以小球的速度只有一个,就是上面的公式。当小球开始变大之后呢?小球不能看作一个质点了,因为小球本身每个点的速度都是不一样的。看下面这个图片,我们在小球上面取两个点。然后可以看出来上面这个点的速度是,下面那个点的速度是。这个时候速度大小不一样了,那么如何求他的动能呢?我们考虑到,既然小球是绕着定轴转
2022-06-03 13:16:12
6293
4
原创 matlab:函数或变量 ‘install_addon‘ 无法识别。
问题:在matlab里面给solidworks添加simscape插件的时候,按照教程输入install_addon('smlink.r2020a.win64.zip');结果就遇到了如下这样的提示。原来是需要下载install_addon.m这个程序,然后用这个程序安装,这不是matlab内置的安装程序。所以,接着去官网下载.m程序,原本我只下载了.zip的那个压缩包。下载完了之后,发现还是一样的错误提示。这是因为没有将这俩文件放入matlab默认的索引目录,所以matlab软件就找不到这个.m程序。要么
2022-06-02 21:37:14
5361
5
原创 matlab输出动态gif图片
有时候matlab遇到问题想在群里发言请教一下。结果群里不让上传视频文件,这个时候,我们就可以考虑把遇到的问题做成gif图片给大佬们看。print函数可以将图片输出,第二个参数为格式,第三个参数为文件名(文件名可以带路径)。所以我们先写个程序画一个圆形2.输出图片然后再在程序同一目录下新建一个image文件夹,用于存放图片。然后添加我们的代码,将每一帧图片存进这个路径并附上文件名做序号。3.合成gif读取那200张图片,然后合成为Baizerobot.gif在当前文件夹。
2022-06-01 21:09:46
5262
1
原创 matlab画圆(及其他常用图形)
代码:注意:这行代码一定要加,这样可以让matlab的横纵轴同一刻度等长,要不然会不等长就看起来像椭圆一样。
2022-06-01 19:42:16
29991
1
原创 the selected library block “Contact_forces_lib/3D/sphere to plane force“ no longer exists
问题在matlab的simulink里面进行simscape仿真的时候,由于添加了接触力,因此实现装了Simscape Multibody Contact Forces Library这个库,装完之后从simulink里面添加进去结果就出现这种错误。然后跟着做了一圈,起先看了这篇文章。Simscape Multibody Contact Forces Libray_大脸猫iii的博客-CSDN博客然而并没有用,后来偶然间直接打开Simscape Multibody Contact F
2022-05-30 21:08:28
1244
2
原创 PID控制算法及arduino应用(电机调速和位置控制)
介绍及公式pid算法用于简单的控制非常方便,因此我们常常把pid控制做成固定的库,方便我们调用。库文件说明:这里的库程序,我是基于esp32开发板写的,其他开发板类似,主要区别就是获取当前时间戳不一样。其余的算法是一样的。如果你想移植到其他平台,只需要修改获取时间戳的函数即可。时间戳单位是微秒。位置式pid.h#define PID_H#include "time_utils.h"#include "foc_utils.h"/** * PID controlle.
2022-05-24 18:50:54
14866
9
原创 频域法分析系统详解及个人笔记
其实很简单,任何信号都能分解成很多不同频率的正弦波相加,然后不同频率的正弦波在被控对象上有不同的响应(就是不同频率的输入有不同比例的输出)不同频率在频域上就是一个点,所以经常在频域上分析你的被控对象的响应................................................................................................
2022-05-21 15:26:46
13293
1
原创 卡尔曼滤波(Kalman filter)算法以及Arduino应用-mpu6050(导航贴)
更新中。。。mpu6050库// class default I2C address is 0x68// specific I2C addresses may be passed as a parameter here// AD0 low = 0x68 (default for SparkFun breakout and InvenSense evaluation board)// AD0 high = 0x69#include "Wire.h" //I2C通讯..
2022-05-09 12:40:16
12639
6
原创 Baize_Servo8266-(arduino32路舵机驱动板)(开源可自制,附程序和固件以及烧录方法)
测试代码:/*************************************************** 对于ARDUINO UNOS,这是SCL->模拟5,SDA - >模拟4 ****************************************************/ #include <Wire.h>#include <Adafruit_PWMServoDriver.h>Adafruit_PW............
2022-04-29 15:28:45
4331
原创 ESP32驱动0.96寸12864 OLED显示屏
#include <Wire.h> #include <Adafruit_SSD1306.h> #define scl 5#define sda 18//新建iic对象以及显示屏对象TwoWire I2Cone = TwoWire(0);Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &I2Cone); void setup() { I2Cone.begin(sda, scl, 4.....
2022-04-02 22:55:53
7751
1
原创 ESP32的MOS管扩展板介绍及实践
由于有时候需要控制功率器件,比如3D打印机的加热棒,或者12V灯带,或者一个大功率的电机。这个时候,用普通io口显然是无法驱动的,因此就想设计一块集成MOS管的esp32扩展板来驱动这些功率器件,一方面学习电子相关知识,另一方面可以用于电机等的闭环控制,用来学习控制理论,用起来也非常方便。如下图就是在立创eda中的预览效果图了。下面是原理图后面的话,我就会用这个板子来闭环控制一个3D打印机的加热棒,可以通过设计一些控制器来达到理想的控制效果。.........
2022-04-02 10:44:56
2196
原创 ESP32学习导航帖
本篇帖子是esp32学习的一个导航帖,用于方便自己查找资料。有时候学习的时候写了一篇记录贴,可能后来找不到了,用导航帖可以很方便的找到想要的内容。
2022-04-02 10:04:29
1168
原创 ubuntu屏幕截图工具
1.安装sudo apt-get install flameshot2.启动flameshot gui然后就能在电脑右上角看到这个应用了。当然也可以设置自己的快捷键用于启动截图程序。3.设置快捷键找到设备,键盘。一直拉右边的滚动条。拉到最下边添加快捷键。那就设置跟QQ截图一样的快捷键吧,然后就可以用了。...
2022-03-12 17:57:31
437
原创 Failed to load module “canberra-gtk-module“
问题在安装了pinta这个图片编辑工具之后。启动软件的时候,提示:Failed to load module "canberra-gtk-module"解决办法安装这个模块sudo apt-get install libcanberra-gtk-module然后再启动就没问题了。
2022-03-12 15:46:41
208
原创 Arduino读取HC-SR04超声波测距传感器数据附带滤波
前言传感器的接线非常简单,一共四根线vcc和gnd按照要求接线即可。TRIG接数字引脚8号口,ECHO接数字引脚9号口。程序1.无滤波程序#define TRIGGER 8#define ECHO 9long duration;float distance;#define LONGEST_DISTANCE 200 // 200 cm = 2 metersfloat farTime = LONGEST_DISTANCE*2/0.034;void setup(.
2021-12-23 15:27:03
4139
1
原创 INA240三相无刷电机电流采样实例(arduino)
前言&&准备材料我这里用的控制器是esp32,它的adc采集器分辨率是12位,工作电压是3.3V。因此我们读取到的模拟数值0~4096就是对应的0~3.3V。这里我的ina240型号是I240A2。也就是说ina240的增益是50V/V。我的驱动器型号是simplefoc v0.2。采用内置电流采样,具体电流采样电路如下图:双向参考链接:1.【INA240】产品参数介绍、INA240数据手册、中英文PDF资料下载-TI资...
2021-12-13 16:29:35
16052
4
原创 手写最简单的simplefoc的svpwm算法(便于理解)
此帖子用于记录学习过程中写的程序(半成品)。1.arduino代码:test.ino// (010)U2 II U6(110)// *********// III * * * * I// * * * *// (011)U3 *************** U4(100)// * * * *// IV * * * * VI
2021-12-10 21:59:03
1854
1
原创 C++重载函数和重载运算符
重载函数待写重载运算符c++中的重载运算符非常好用。比如我们在控制系统中,需要对数据进行滤波,如果用重载运算符,就可以用非常简洁的重载运算符号完成我们滤波函数的功能。简单来说就是用重载运算符取代替函数名。比如我这里的这个函数用于处理数据,就是每个数据进来以后,把原数据加3再输出。重载了()这个运算符,然后就可以用定义的对象,直接()一下数据,出来的就是处理过后的数据,非常方便。class Lowpassfilter{ public: int operato
2021-12-10 16:06:06
425
原创 ESP32的Print类
由于发现有开源程序simplefoc是用Print类就定义了一个串口对象,然后用这个串口对象向串口输入或输出字符。因此就好奇试了试,下面是我的程序。Print* monitor_port;void setup(){// Serial.begin(115200); // monitor_port.begin(115200);} void loop(){ // read the data msb and lsb monitor_port->println("hello"
2021-12-08 21:57:08
486
ros_lib.rar
2021-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人