如何用轮毂电机FOC驱动板+控制板构建ROS2导航小车

前言

​ 前面已经介绍了如何构建ROS1小车,这里介绍如何构建ROS2小车,同一套底层驱动代码,只需要换ROS系统就可以在ROS1与ROS2切换。

如何用轮毂电机FOC驱动板+控制板构建ROS2导航小车

​ 轮毂电机的优势是负载大、安静、省电,由于买我们家的FOC控制板的用户,做AVG小车与SLAM负载小车,但由于购买了不同配置的用户,使用中会遇到各种问题,这里把每种配置的使用教程都出个详细的文档与视频。这里是针对购买了FOC驱动板+控制板的用户需要构建ROS2导航小车的用户。

​ 收到配套用户如下图,一块驱动板,一块控制板,PS2手柄一套,开关,供电线、通信线这些,如何快速构建ROS2导航小车,也可以参考配套视频快速构建ROS2 SLAM小车。

在这里插入图片描述

​ 这里只针对FOC驱动板与+控制板的用户,如果只单独购买FOC驱动板,可以参考单独FOC驱动板使用教程。

一、关于接线

​ 关于拿到上面配置的用户如何接线,请参考下图,如果是自己电机,霍尔线有可能需要对调,有6种可能,如果不对,电机要么不转,要么失速,方便的话可以把电机寄给我们,我们这边确认后,在发给你们,到时就可以上手直接用。

在这里插入图片描述

二、如何快速让电机动起来(具体可看视频)

​ 用户接好线后,可以按开关按钮直接上电,当喇叭滴的一声,说明系统上电启动正常,这时我们拿好手柄(或者航模遥控器),把手柄(航模摇控器)开关打开,两个灯同时亮说明配对成功,如果只亮一个,可以按“start”或者"Mode"按键,随意按,直到匹配成功

在这里插入图片描述

三、如何快速构建ROS2系统

​ 如果要做ROS2导航小车,需要用户准备好主控与雷达,下面这用x86迷你工控机主控与rplidar A1雷达为示例做为演示

1、 准备好主控与安装好ROS2系统

​ 这里我用的是工控机,ubuntu22.04,ROS版本上humble版本,如何安装ROS2系统这里就不在赘述,网上大把的教程,这里不在赘述,然后自己接好雷达,源码包里默认是rplidar 雷达,默认雷达为rplidar A1

2、下载代码

​ 直接下载代码(记得是ros2的分支哈),到你需要构建的系统里面:

git clone -b ros2 https://gitee.com/rikibot/robot_ws.git

​ 下载好代码后,进到robot_ws/src/ros2_install 目录,看README.md文件里面有详细的教程

3、 进入到install目录安装文件依赖包

1、这里如果用的其它版本请记得把脚本里的ros版本做一下更改

在这里插入图片描述

2、修改完成后执行

./install.sh

在这里插入图片描述
​ 里面会安装必要的依赖文件与串口规则文件

4.编译串口驱动文件

​ 由于ros2没有专用直接安装的serial驱动,这里需要先编译安装, 进入到robot_ws/src/serial目录

mkdir build

cd build

cmake …

make

sudo make install

在这里插入图片描述

5.进入到robot_ws这级目录,编译代码

colcon build

在这里插入图片描述

6.编译完成后把工作空间写入环境变量, 重启系统

echo “source ~/robot_ws/install/setup.bash” >> ~/.bashrc

在这里插入图片描述

7.键盘控制车辆,分别打开两个终端,启动下面两条命令

ros2 launch rikibot bringup.launch.py

在这里插入图片描述

ros2 run teleop_twist_keyboard teleop_twist_keyboard

在这里插入图片描述

8.建图,分别启动下面两条命令

ros2 launch rikibot bringup.launch.py

在这里插入图片描述

ros2 launch rikibot slam.launch.py

在这里插入图片描述

启动后会自动加开rviz2,然后控制底盘或者手柄进行建图即可
在这里插入图片描述

9.保存地图

​ 控制车走一圈后,地图的轮廓与实现空间的轮廓差不多后,可以保存地图, 进入到robot_ws/src/rikibot/map目录

./save_map.sh

在这里插入图片描述

10、重新编译代码(请记住ROS2改动任何文件与代码都需要重新编译代码)

​ 到robot_ws目录下面

colcon build

在这里插入图片描述

11. 导航

ros2 launch rikibot bringup.launch.py

在这里插入图片描述

ros2 launch rikibot navigation.launch.py

在这里插入图片描述

打开rviz,其中navigate.rivz文件在rikibot包下面的rviz目录里面打开即可, 然后发送目标点即可

ros2 run rviz2 rviz2

在这里插入图片描述

### 关于TC264芯片用于无刷电机FOC驱动板的开发 TC264是一款由英飞凌推出的32位微控制器,广泛应用于工业自动化、汽车电子以及家用电器等领域。该芯片具有高性能的计算能力、丰富的外设资源和低功耗特性,非常适合用于复杂算法的实现,例如磁场定向控制(Field-Oriented Control, FOC)。以下是针对TC264芯片在无刷电机FOC驱动板中的应用及相关资料的详细介绍。 #### TC264的主要特点 TC264属于TriCore架构系列处理器,其主要特点是高集成度和强大的实时处理能力[^2]。具体来说: - **高性能CPU核心**:支持高达200MHz的工作频率。 - **丰富的定时器模块**:可用于PWM信号生成,满足SVPWM或传统SPWM的需求。 - **ADC转换速度**:快速采样功能可以精确获取电流电压数据,这对于FOC闭环控制至关重要。 - **浮点运算单元(FPU)**:能够高效执行复杂的三角函数计算和其他数学操作,这是实施矢量控制所必需的功能之一。 这些硬件特性的组合使得TC264成为理想的选择来构建高效的BLDC马达控制系统。 #### SVPWM与FOC简介 空间矢量脉宽调制(Space Vector Pulse Width Modulation,SVPWM),是一种先进的逆变技术,在提高直流电源利用率方面优于传统的正弦波形PWM方法。通过合理安排开关状态序列,它可以减少谐波失真并优化转矩表现[^3]。 而FOC则进一步提升了效率和动态响应性能。它通过对定子磁链位置进行估算,并调整施加给各相绕组上的电压向量大小方向从而达到最佳运行效果的目的。这种方法不仅提高了能效还降低了噪音水平。 对于采用TC264作为主控MCU的设计方案而言,利用内置资源配合恰当软件设计即可轻松达成上述目标。 #### 可参考的学习路径和技术文档建议 由于您提到希望找到有关如何基于TC264实现FOC的具体指导材料,则可以从以下几个角度入手: 1. **官方手册与应用笔记** 英飞凌提供了详尽的产品规格书(Application Note) 和 用户指南(User Manual), 这些文件包含了关于设置寄存器配置等方面的深入说明。特别关注那些涉及TIMx计数器初始化过程的部分因为它们直接影响到最终输出波形的质量。 2. **开源项目案例分析** GitHub平台上存在多个公开分享的成功实例可供借鉴学习。比如某些开发者已经完成了完整的三相逆变电路搭建工作并将源码上传至仓库供他人下载研究。此类实际工程经验往往比单纯理论更加直观易懂。 3. **在线课程视频讲解** 像Bilibili这样的平台上有不少资深工程师录制的教学录像专门介绍过类似主题的内容。他们通常会结合实物演示逐步剖析每一个环节背后的原理机制以便观众更好理解掌握知识点。 下面给出一段简单的伪代码片段展示基本框架结构: ```c void main(){ init_hardware(); // 初始化硬件环境 while(1){ measure_current_voltage(); calculate_magnetic_flux(); determine_optimal_voltages(); generate_svpwm_signals(); delay_ms(LOOP_DELAY); } } ``` 此循环体涵盖了整个流程的关键步骤——测量反馈参数 -> 计算当前状况下的最优解-> 输出相应指令完成动作更新迭代周期设定值可根据实际情况灵活调节以平衡精度与时延需求之间矛盾关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值