- 2025-03-14
-
发表了主题帖:
【泰坦触觉 TITAN Core开发套件】带触觉反馈的AI女友
本帖最后由 HonestQiao 于 2025-3-15 01:43 编辑
今年AI硬件设备非常火爆,经过一番,结合之前的分享的 【泰坦触觉 TITAN Core开发套件】用命令控制比「比一分钱硬币还要薄」的泰坦触觉马达,将 泰坦触觉 TITAN Core开发套件 于AI硬件设备相结合,实现了一个带有触觉反馈的AI女友。
下面,就分享制作过程。
一、硬件选型
因为最近在研究小智AI,并且手头有一块DFRobot的K10板子,所以刚好用上,并使用了一块扩展板,方便进行连线:
触觉部分就不用多说了,这次评测的主角泰坦触觉 TITAN Core开发套件:
二、硬件连线
从泰坦触觉 TITAN Core开发套件的资料,可以得知TITAN Core的引脚定义:
因为直接使用到了串口通信,所以使用TXD、RXD即可。使用的时候,连接Type-C,电脑上还能同步看到输出信息。
然后,将 TITAN Core 的TXD、RXD、GND,于DFRobot K10相连接:
即可完成两者的连接。
在参考 【泰坦触觉 TITAN Core开发套件】用命令控制比「比一分钱硬币还要薄」的泰坦触觉马达 连接好马达即可。
三、AI系统
DFRobot的K10上的AI系统,使用了开源的 小智 AI 聊天机器人 (XiaoZhi AI Chatbot)。
最新版本的 小智 AI 聊天机器人 ,已经做好了K10的适配,可以下载官方固件使用:
不过,官方固件智能完成基础的对话功能,需要我们自己做一些定制开发,才能够于 TITAN Core通信,并驱动触觉马达。
在定制之前,首先要参考小智官方文档,确保K10可以成功使用小智AI聊天机器人,并进行任务角色配置:
四、功能定制开发
首先,参考乐鑫官方文档:环境搭建 - - — ESP-Techpedia latest 文档 (espressif.com) ,建立好ESP-IDF V5.3.2的开发环境:
然后,使用git工具,克隆 小智 AI 聊天机器人 的源码:
git clone https://github.com/78/xiaozhi-esp32.gi
使用vscode打开源码,找到df-k10的目录:
先修改config.h,添加串口的配置信息:
然后,参考esp-idf中串口通讯的例子,以及 小智AI聊天机器人的 ./main/iot/things/lamp.cc 文件,添加TitanCore 通讯的iot扩展模块:
/*
Titan Core
*/
#include "sdkconfig.h"
#include "iot/thing.h"
#include "board.h"
#include <driver/gpio.h>
#include <driver/uart.h>
#include <esp_log.h>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include "boards/df-k10/config.h"
#define TAG "TitanCore"
namespace iot {
class TitanCore : public Thing {
private:
bool power_ = false;
uint8_t birghtness_ = 50;
void SendUartMessage(const char * command_str) {
if (command_str == nullptr || strlen(command_str) == 0) {
ESP_LOGE(TAG, "Command string is null or empty");
return;
}
ESP_LOGI(TAG, "Received command in SendUartMessage: %s", command_str);
uint8_t len = strlen(command_str);
uart_write_bytes(ECHO_UART_PORT_NUM, command_str, len);
}
void InitializeEchoUart() {
uart_config_t uart_config = {
.baud_rate = ECHO_UART_BAUD_RATE,
.data_bits = UART_DATA_8_BITS,
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
.source_clk = UART_SCLK_DEFAULT,
};
int intr_alloc_flags = 0;
ESP_ERROR_CHECK(uart_driver_install(ECHO_UART_PORT_NUM, BUF_SIZE * 2, 0, 0, NULL, intr_alloc_flags));
ESP_ERROR_CHECK(uart_param_config(ECHO_UART_PORT_NUM, &uart_config));
ESP_ERROR_CHECK(uart_set_pin(ECHO_UART_PORT_NUM, UART_ECHO_TXD, UART_ECHO_RXD, UART_ECHO_RTS, UART_ECHO_CTS));
SendUartMessage("help");
}
public:
TitanCore() : Thing("TitanCore", "控制Titan触觉马达的运行方式") {
InitializeEchoUart();
// 定义设备可以被远程执行的指令
methods_.AddMethod("TurnLight", "给我一点反馈", ParameterList(), [this](const ParameterList& parameters) {
char command_str[] = "CHNL 1; Pulse 0.85 20;";
SendUartMessage(command_str);
});
methods_.AddMethod("TurnMedium", "来一顿小锤锤", ParameterList(), [this](const ParameterList& parameters) {
char command_str[] = "CHNL 2; Tick 0.85 20; Pause 100; "
"CHNL 2; Tick 0.85 20; Pause 1000; "
"CHNL 2; Tick 0.85 20; Pause 100; "
"CHNL 2; Tick 0.85 20; Pause 1000; "
"CHNL 2; Tick 0.85 20; Pause 100; "
"CHNL 2; Tick 0.85 20;";
SendUartMessage(command_str);
});
methods_.AddMethod("TurnHeavy", "我想看你生气的样子", ParameterList(), [this](const ParameterList& parameters) {
char command_str[] = "CHNL 3; Vibrate 50 1 5000 0 1;";
SendUartMessage(command_str);
});
}
};
} // namespace iot
DECLARE_THING(TitanCore);
上述代码的核心部分,就是 methods_.AddMethod() 添加的控制指令,每条设置的命令,被AI大模型理解后,将会使用对应的 command_str ,然后调用 SendUartMessage(),通过串口发送给Titan Core。
例如:如果AI 大模型,通过以上识别到“给我一点反馈”,那么就会调用下面的部分:
char command_str[] = "CHNL 1; Pulse 0.85 20;";
SendUartMessage(command_str);
通过 K10 的串口监听,可以看到下面的输出日志:
同时通过 TITAN Core的串口监听,可以看到下面的输出:
就这样,就能实现,通过与 小智AI聊天机器人 对话,让AI 大模型理解我们的意图,然后调用预先设置好的意图指令,并通过串口发送控制信息到Titan Core,成功控制触觉马达。
五、效果演示
将所有的功能,都调试好以后,最终的效果如下:
从上面的演示视频可以看到,经过设置,这个AI女友能够很好的理解我们的意图,做出我们期望的反馈了。
六、总结
现在AI硬件日益火爆,TITAN触觉马达将会在智能AI硬件中,必将会有非常大的用途,赋予了智能AI硬件触觉反馈的能力,使得用户体验能够更上一层楼。
目前展示的功能,只是做了一些基础的研究,将泰坦触觉马达与AI硬件结合,后面会进一步完善,让Ta在交流的过程中,能够主动的进行触觉反馈(例如在交流过程中,如果你跟AI说我今天有些不高兴了,AI会对你进行宽慰,并给你一些轻轻的触觉反馈),这样就能让使用体验更上一层楼了。
- 2025-02-17
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】Arduino编译固件报错
我这个编译正常。
- 2025-01-25
-
回复了主题帖:
【 EEWorld 2024年度人物礼品智能体脂秤收到啦】
eew_Ya3s2d 发表于 2025-1-22 15:14
帮主,开发之余要保重身体呢,做好体重管理,嘿嘿,没见过帮主本人,会不会踩坏体重计
标准体重啊!!!
-
回复了主题帖:
【 EEWORLD陪你过大年,新年积分兑换盲盒收到啦,非常非常非常的不错哦】
xhackerustc 发表于 2025-1-22 19:54
那也比比PIC 8位单片机好玩
换到就是有缘啊
- 2025-01-22
-
回复了主题帖:
【 EEWorld 2024年度人物礼品智能体脂秤收到啦】
tagetage 发表于 2025-1-22 11:47
能连手机吗? 它是怎么测量体脂的???
还没用,正在充电呢。
晚上回家再试一下怎么用。
-
发表了主题帖:
【 EEWORLD陪你过大年,新年积分兑换盲盒收到啦,非常非常非常的不错哦】
参加 EEWORLD陪你过大年,新年积分兑换专场来啦~好物多多还有幸运盲盒!,选了兑换盲盒,今天收到盲盒啦,非常超值了。
收到的盲盒,是这一款:
取出来看看正面和背面:
从卡片上,可以看到这是一款传感器集合的扩展板子,以及包含的传感器:
这个扩展板具体型号是X-NUCLEO-IKS01A3,是一个运动MEMS和环境传感器评估板系统。
从ST官方可以了解详情:X-NUCLEO-IKS01A3 - STM32 Nucleo运行MEMS和环境传感器扩展板 - 意法半导体STMicroelectronics
从得捷上面的信息来看,已经停产了:
不过,包含了这么多的传感器,也是非常不错的,很有实用价值。
感谢EEWorld,感谢各位工作人员,提前祝大家蛇年新春大吉大利!!!
-
发表了主题帖:
【 EEWorld 2024年度人物礼品智能体脂秤收到啦】
今年有幸列表 EEWorld 2024年度人物:感恩相伴,共赴新程,携手努力! - EEWORLD颁奖专区 :
体脂秤是京东京造的:
配了个大红的说明书,适合新年的喜庆气氛:
最后伤正主:
这个设计挺简洁,还是充电款的,提示先充电再用。
刚好之前的一个坏了,想啥来啥,正好能用上了。
感谢EEWorld,感谢各位工作人员,感谢各位社区同学!
提前祝大家蛇年新春大吉大利,祝大家春节吃好喝好人人胖十公斤!!!
- 2025-01-20
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】触觉马达小身材大能量:蓝牙播放,振出声音
zhugd 发表于 2025-1-19 10:17
你好
你也好呀!
- 2025-01-17
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】触觉马达小身材大能量:蓝牙播放,振出声音
wangerxian 发表于 2025-1-16 16:38
马达能发出这种声音也是很新奇呀
是的,非常的好玩。
本质还是振动,声音在空气中传播,也是因为振动。
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】初识篇
okhxyyo 发表于 2025-1-17 21:11
有资料呀。我应该发了个帖子传上来了吧
可能没注意到,不好意思
-
回复了主题帖:
EEWorld 2024年度人物:感恩相伴,共赴新程,携手努力!
感谢eeworld,祝各位老板,管管,和各位大佬蛇年大吉大利!
- 2025-01-16
-
回复了主题帖:
测评汇总:泰坦触觉 TITAN Core开发套件
报告管理员,漏掉了一篇:【泰坦触觉 TITAN Core开发套件】用命令控制比「比一分钱硬币还要薄」的泰坦触觉马达 - DIY/开源硬件专区 - 电子工程世界-论坛 (eeworld.com.cn)
- 2025-01-15
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】触觉马达小身材大能量:蓝牙播放,振出声音
我的学号 发表于 2025-1-15 01:30
如果再加上灯光效果,相信会更加惊艳
好主意,多谢大佬指导。
先把基础的玩会了,后面在玩出花样来。
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】用命令控制比「比一分钱硬币还要薄」的泰坦触觉马达
我的学号 发表于 2025-1-15 01:25
期待大佬后续大作
多谢关注,我会加油的!
- 2025-01-14
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】用命令控制比「比一分钱硬币还要薄」的泰坦触觉马达
1nnocent 发表于 2025-1-14 21:19
这标题很雷军
我是好好学习,学以致用的!
-
回复了主题帖:
【泰坦触觉 TITAN Core开发套件】触觉马达小身材大能量:蓝牙播放,振出声音
秦天qintian0303 发表于 2025-1-14 21:44
那是不是又将振动返回到塑料桶的音腔,会出来声音吧
产生了一定的聚音效果,可能会有帮助。
-
回复了主题帖:
新年新挑战,任务打卡赢好礼!
完成所有任务,截图如下:
1、更新完善个人信息:完善您的个人资料,让我们更好地了解您。
2、回复3个帖子:在论坛中积极参与讨论,分享您的见解与心得。
3、认真学完1个大学堂视频:提升自我,获取知识,享受学习的乐趣。
4、报名参加活动中心的1个活动:融入社区,与更多志同道合的人一起共度美好时光。
5、下载一份资源站资料:获取您需要的资源,助力您的学习与工作。
-
加入了学习《深入理解无刷直流电机(BLDC)原理以及控制》,观看 TI BLDC电机驱动器件介绍
-
加入了学习《深入理解无刷直流电机(BLDC)原理以及控制》,观看 BLDC电机驱动的换向
-
加入了学习《深入理解无刷直流电机(BLDC)原理以及控制》,观看 BLDC电机驱动的启动