智能小车项目
Ant?1
这个作者很懒,什么都没留下…
展开
-
智能小车(八)ros实现将智能小车数据通过TCP/IP发送到上位机网关
在给定的代码中,*list_send 使用解包运算符 * 将列表 list_send 中的元素作为单独的参数传递给 struct.pack 函数。如果列表 list_send 包含三个元素 [1, 2, 3],那么 *list_send 将被解包为 1, 2, 3。没有用struct.pack进行字节流打包,原因是不同平台,字节流的打包浮点型数据不一样,又要加上包头等校验信息,所以这里分别用单字节保存在列表中,然后sock.sendall(struct.pack(“B”*len(list_send),原创 2024-01-18 17:21:02 · 650 阅读 · 0 评论 -
智能小车项目(七)通过PID实现给定和实际速度值计算PWM输出
我们先看大脑(上位机nano)keybord_ctrl节点发布’cmd_vel’消息消息类型为Twist队列大小为1driver_node订阅这个消息 当有消息时cmd_vel_callback回掉函数处理消息调用set_car_motion处理消息再看小脑(下位机32)下位机接到串口消息进行速度处理Motion_Ctrl通过公式计算每个轮子的速度调用Mecanum_Ctrl函数处理速度调用Motion_Set_Speed设置给定速度到motor_data结构体中将目标速度给入pid原创 2024-01-12 14:50:10 · 572 阅读 · 0 评论 -
智能小车项目(六-二)麦克纳姆轮x运动学分析
这里相当于从下往上看仰视图相当于B轮的俯视图辊子转动方向是不会产生给机器人运动的力,轴向方向会产生运动的摩擦力。车如果向前运动则A轮要产生45°斜向上的力车如果向前运动则A轮要产生225°斜向下的力A轮产生向右的力B轮产生向左的力左右两个力平衡 小车向前运动。原创 2023-11-17 17:05:10 · 546 阅读 · 0 评论 -
#智能小车项目(六)麦克纳姆轮x型运动学分析
瑞典麦克那姆公司发明的一种全方位移动轮式结构,由基于主体轮辋和一组均匀排布在轮毂周围的回转辊子组成且辊子轴线与轮毂轴线呈一定角度(一般为 45°),小辊子的母线是等速螺旋线或椭圆弧近似而成,当轮子绕着轮毂轴线转动时,周边各小辊子的外包络线为圆柱面,因此该轮可以连续地向前滚动。原创 2023-10-30 13:54:14 · 1424 阅读 · 0 评论 -
#智能小车项目(五)MPU9250初始化
【代码】#智能小车项目(五)MPU9250初始化。原创 2023-10-12 16:48:20 · 256 阅读 · 0 评论 -
#智能小车(四)OLED初始化
【代码】#智能小车(四)OLED初始化。原创 2023-10-11 17:35:12 · 102 阅读 · 0 评论 -
#智能车项目(三)串口初始化
初始化串口1PA9 PA10流程1、声明结构体2、打开时钟// 打开串口GPIO的时钟// 打开串口外设的时钟3、、GPIO初始化 复用上拉4、 中断优先级配置//抢占优先级0//子优先级1//IRQ通道使能//根据指定的参数初始化VIC寄存器5、串口功能配置// 配置串口的工作参数// 配置波特率// 配置 针数据字长// 配置停止位// 配置校验位// 配置硬件流控制。原创 2023-10-11 14:11:55 · 564 阅读 · 0 评论 -
#智能车项目(二)BSP初始化
【代码】#智能车项目(二)BSP初始化。原创 2023-10-11 10:58:19 · 68 阅读 · 0 评论 -
#基于一个小车项目的FREERTOS分析(一)系统时钟
2调用 prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE );将要延时的任务添加到延时列表中。调用 xTaskResumeAll();4.如果发生任务调度调用portYIELD_WITHIN_API();1调用vTaskSuspendAll()挂起任务调度器,vTaskDelay完成。原创 2023-10-11 10:51:55 · 319 阅读 · 0 评论