自动驾驶
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开发
多机通讯配置
汝城县职业中等专业学校知识库-信息中心朱老师编辑
-
+
首页
七、新机器人自动驾驶与调整
无人驾驶融合AI大模型应用
无人驾驶融合AI大模型应用
# 自动驾驶结合AI智能体应用 ## 1.课程内容 **注意:这个程序是在沙盘地图上运行的,个人地图需要自行调整程序。** 该教程使用的是路标模型和车道线识别模型,主要功能实现是自动驾驶路标检测+路网导航+多模态大模型进行智能的控制。 ## 2.课程前提 * 学习完《路网规划》章节教程,保存好路网导航地图以及小车运行轨迹的路网图 * 学习完《AI大模型基础知识》章节教程,配置好大模型的api_key、app_id * 获取小车需要到达点的位姿数据数据存放到大模型的map_mapping.yaml文件 * 修改成路网导航通信模式 ## 3.配置文件路径 * 路网导航通信模式 打开~/.bashrc,将此行取消注释,改成如图,(学习完路网规划功能后,请将此注释还原,以免影响前面的案例) vim ~/.bashrc :wq #保存退出 source ~/.bashrc #更新环境  * 路网导航地图以及路网图 ``` ~/map ``` 图中是保存好的地图和路网图,map.geojson文件就是小车运行轨迹的路网图  配置AI大模型参数 ``` ~/yahboomcar_ros2_ws/yahboomcar_ws/src/largemodel/config/large_model_interface.yaml ``` ``` ~/yahboomcar_ros2_ws/yahboomcar_ws/src/largemodel/config/yahboom.yaml ``` large_model_interface.yaml: 主要配置该yaml的tongyi_api_key、tongyi_app_id,配置完之后需要重新编译运行。不知道如何获取api的去看AI大模型基础知识章节的《配置AI大模型》。  **yahboom.yaml:** 主要需要将enable_route_nav修改成True,这样大模型才会去调用路网导航。  * 配置需要到达点的位姿 ``` ~/yahboomcar_ros2_ws/yahboomcar_ws/src/largemodel/config/map_mapping.yaml ``` 这里要在路网导航下面新加,因为这个课程使用的是路网导航。  不知道如何获取某点的位姿的可以先去看路网规划导航中的《路网规划结合沙盘地图案例》。 上述修改完yaml文件之后都需要重新编译之后再运行程序。 ``` cd ~/yahboomcar_ros2_ws/yahboomcar_ws ``` ``` colcon build --packages-select largemodel ``` ## 4.运行案例 ### 4.1 启动程序 ```启动大模型+底盘+相机 ros2 launch largemodel largemodel_control.launch.py ```  ``` bringup_ros2kilted ``` ``` exec_ros2kilted ``` ``` ros2 launch road_net_route roadnet_nav2.launch.py ```  刚进去会出现点云和地图没有重合,需要使用2D Pose Estimate给小车重新定位  * 启动yolo路标识别 ``` ros2 launch auto_drive auto_drive.launch.py ``` 成功之后会出现可视化界面  ### 4.2 测试案例 这里给出参考的测试案例,用户可自行编撰自己的对话指令 * 导航去工地途中遵守交通规则 #### 4.2.1 案例1 首先使用"你好小亚"唤醒机器人,机器人回应:"我在,请吩咐",机器人应答后蜂鸣器短暂(beep—)响后,用户可以进行讲话,机器人会进行动态声音检测,如果有声音活动则打印1,无声音活动会打印-,当说话结束后会进行尾音检测,静音超过450ms则停止录音。 动态声音检测(VAD)如下图所示:  机器人会先识别用户说的话,然后按照指令决策动作,同时终端打印信息如下:  决策层大模型输出规划出的任务步骤:  之后执行层大模型会按照该任务步骤执行:  同时可以看到路网导航界面会出现小车导航到工地点位的网状路线  如果我们在导航的中途将红灯打开,小车会直接停下来等待绿灯亮起才会重新导航  当绿灯亮起的时候小车会继续导航。**注意红绿灯放置的位置不要离小车的网址线靠的太近,如果靠的太近会被人为是障碍物影响导航**  ## 5.源码解析 ### 5.1 大模型源码路径 ``` ~/yahboomcar_ros2_ws/yahboomcar_ws/src/largemodel/largemodel/action_service_nuwa.py ``` **action_service_nuwa.py:** 主要功能包括: * 提供动作服务器处理导航和机器人控制命令 * 集成语音识别和语音合成 * 实现路网导航和常规导航的切换 * 处理大语言模型交互 其中支持两种导航模式,**常规导航**:基于单点目标的标准导航模式;**路网导航**:基于预定义路网路径的导航模式,如果要结合自动驾驶需要把路网导航的enable\_route\_nav: True 打开。 **导航流程**: * 接收导航请求 * 根据当前模式(路网/常规)选择导航策略 * 执行导航动作 * 提供反馈和结果 ``` # 在 init_param_config 方法中 self.declare_parameter("enable_route_nav", False) self.enable_route_nav = self.get_parameter("enable_route_nav").get_parameter_value().bool_value ``` **导航模式切换:** ``` def handle_navigation_request(self, destination): """处理导航请求""" if self.enable_route_nav: # 路网导航模式 if destination in self.route_network: self.follow_route(self.route_network[destination]) else: self.get_logger().warn(f"No route found for destination: {destination}") else: # 常规导航模式 self.navigate_to_waypoint(destination) ``` ### 5.2 路网导航源码路径 ``` ~/ros2_kilted/volumes/code_ws/src/road_net_route/launch/roadnet_nav2.launch.py ``` **roadnet_nav2.launch.py:** launch文件里面会直接调用,/root/map 路径下保存好的文件,如果是其他的命名可以修改这里的名称之后重新编译运行 ``` declare_map_yaml_cmd = DeclareLaunchArgument( 'map', default_value='/root/map/map.yaml', ) declare_pose_map_cmd = DeclareLaunchArgument( 'pose_map', default_value='/root/map/map', ) declare_roadnet_file_cmd = DeclareLaunchArgument( 'roadnet_file', default_value='/root/map/map.geojson', description=".geojson格式路网文件路径", ) ``` 导航使用到的参数文件, ``` declare_params_file_cmd = DeclareLaunchArgument( 'params_file', default_value=os.path.join(get_package_share_directory('road_net_route'), 'config', 'nav2_kilted.yaml'), description='Full path to the ROS2 parameters file to use for all launched nodes', ) ``` 可以自行到这个路径下打开nav2_kilted.yaml文件修改部分导航参数,正常不需要修改出厂的参数大部分是调整好的参数 ``` ~/ros2_kilted/volumes/code_ws/src/road_net_route/config/nav2_kilted.yaml ``` ### 5.3 yolo识别源码 ``` ~/yahboomcar_ros2_ws/yahboomcar_ws/src/auto_drive/launch/auto_drive.launch.py ``` **auto_drive.launch.py:** 调用的yolo识别路标让小车做对应的动作,因为是路网导航的基础下右转和停车这两个路标会失效,因为这两个路标会影响路网导航。 需要注意的是需要将yaml文件里面的路网导航使能打开。 ``` ~/yahboomcar_ros2_ws/yahboomcar_ws/src/auto_drive/config/auto_drive_node.yaml ``` 
admin
2025年12月7日 12:11
12
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期
AI