自动驾驶
yolo5自动驾驶
1、重要!更换U盘的操作指引
2、关闭开机自启动大程序
3、Linux基础
4、YoloV5训练集
5、自动驾驶基础调试(代码解析)
6、自动驾驶特调
7、自动驾驶原理
8、PID算法理论
9、阿克曼运动学分析理论
10、建立运动学模型
常用命令
首次使用
一、原理分析
麦克纳姆轮运动学分析
二、AI大模型
3、AI大模型类型和原理
4、RAG检索增强和模型训练样本
5、具身智能机器人系统架构
6、具身智能玩法核心源码解读
7、配置AI大模型
三、深度相机
2、颜色标定
10、深度相机的基础使用
11、深度相机伪彩色图像
12、深度相机测距
13、深度相机色块体积测算
14、深度相机颜色跟随
15、深度相机人脸跟随
16、深度相机KCF物体跟随
17、深度相机Mediapipe手势跟随
18、深度相机视觉循迹自动驾驶
19、深度相机边缘检测
四、多模态视觉理解
20、多模态语义理解、指令遵循
21、多模态视觉理解
22、多模态视觉理解+自动追踪
23、多模态视觉理解+视觉跟随
24、多模态视觉理解+视觉巡线
25、多模态视觉理解+深度相机距离问答
26、多模态视觉理解+SLAM导航
27、多模态视觉理解+SLAM导航+视觉巡线
28、意图揣测+多模态视觉理解+SLAM导航+视觉功能
五、雷达
8、雷达基础使用
思岚系列雷达
六、建立地图
9、Gmapping建图
cartographer快速重定位导航
RTAB-Map导航
RTAB-Map建图
slam-toolbox建图
cartographer建图
Navigation2多点导航避障
Navigation2单点导航避障
手机APP建图与导航
七、新机器人自动驾驶与调整
多模态视觉理解+SLAM导航
新机器人自动驾驶
场地摆放及注意事项
启动测试
识别调试
无人驾驶的车道保持
无人驾驶路标检测
无人驾驶红绿灯识别
无人驾驶之定点停车
无人驾驶转向决策
无人驾驶之喇叭鸣笛
无人驾驶减速慢行
无人驾驶限速行驶
无人驾驶自主泊车
无人驾驶综合应用
无人驾驶融合AI大模型应用
八、路网规划
路网规划导航简介
构建位姿地图
路网标注
路网规划结合沙盘地图案例
九、模型训练
十、YOLOV11开发
多机通讯配置
汝城县职业中等专业学校知识库-信息中心朱老师编辑
-
+
首页
七、新机器人自动驾驶与调整
无人驾驶之定点停车
无人驾驶之定点停车
# 无人驾驶之定点停车 ## 1.课程内容 **注意:这个程序是在沙盘地图上运行的,个人地图需要自行调整程序** 1.学习小车识别到stop之后做的动作 2.学习新出现的关键源码 ### 2.停车检测 路标检测源码路径: `/home/jetson/yahboomcar_ros2_ws/yahboomcar_ws/src/auto_drive/auto_drive/yolo_detect.py` `/home/jetson/yahboomcar_ros2_ws/yahboomcar_ws/src/auto_drive/auto_drive/auto_drive.py` ### 3.程序启动 ```启动相机+底盘+路标、车道线 ros2 launch auto_drive auto_drive_bringup.launch.py ```  程序运行之后会显示yolo识别画面,小车会车道线居中运行,同时会根据行驶过程中识别到的路标做对应的动作。(如果开启程序之后终端没有报错,小车不动,可以运行下面程序来检查参数) 启动动态参数配置节点 ``` ros2 run rqt_reconfigure rqt_reconfigure ```   **如果小车不动检查两个参数,START_AutoDrive 是否勾上了,conbine_nav是否为flase** ☑️ 修改完参数,点击GUI空白处写入参数值。注意只会生效当次启动,永久生效需要将参数修改到源码当中。 ### 3.2 识别到停车之后小车的运动 程序识别到停车程序会打印stop  小车会定点停止三秒,之后重新沿着线行驶  定点停车处理函数在auto_drive.py文件下,下面是识别到停车之后进入的函数,用户可以自行修改识别到路标之后小车运动 ``` def stop(self): '''停止 stop''' self.turn_action_active = True # 设置动作标志,暂停车道线控制 self.__set_current_speed(linear_x=0.0, angular_z=0.0) time.sleep(3) self.turn_action_active = False # 清除动作标志,恢复车道线控制 self.get_logger().info('Stop action completed') ``` ## 4.源码解析 ### 4.1、auto_drive.py yolo路标消息接收: ``` def sign_callback(self, msg:DetectionObject): '''订阅yolo识别结果''' class_name = msg.class_name object_distance = self._get_distance(msg.ymin) # 计算距离 object = Object(msg.class_name, msg.confidence, object_distance) ``` 多重过滤机制:主要为了防止一直识别路标并触发,识别到不同路标才会解锁动作。 ``` # 1. 检查是否正在执行其他动作 if self.action_runing: return # 2. 检查冷却时间(防重复触发) current_time = time.time() if class_name in self.last_processed_time: time_diff = current_time - self.last_processed_time[class_name] if time_diff < self.cooldown_time: # 默认3秒冷却 return # 3. 检查是否是重复路标 if class_name == self.last_sign: return # 4. 检查该路标是否被使能 if not self.sign_enable_list[对应的索引]: return ``` 事件队列处理 ``` def handle_events(self): '''处理目标识别事件''' while True: if not self.event_queue.empty(): object = self.event_queue.get() self.action_runing = True current_sign = object.class_name try: # 根据路标类型执行相应动作 if object.class_name == "straight" and self.sign_enable_list[10]: self.go_straight() elif object.class_name == "turnright" and self.sign_enable_list[11]: self.turn('right') # ... 其他路标处理 finally: # 更新状态记录 self.last_processed_time[current_sign] = time.time() self.last_sign = current_sign self.action_runing = False ``` 具体动作实现 ``` def stop(self): '''停止 stop''' self.turn_action_active = True # 设置动作标志,暂停车道线控制 self.__set_current_speed(linear_x=0.0, angular_z=0.0) time.sleep(3) self.turn_action_active = False # 清除动作标志,恢复车道线控制 self.get_logger().info('Stop action completed') ```
admin
2025年12月7日 10:59
18
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期
AI