ROS2自动驾驶
yolo5自动驾驶
1、重要!更换U盘的操作指引
2、关闭开机自启动大程序
3、Linux基础
4、YoloV5训练集
5、自动驾驶基础调试(代码解析)
6、自动驾驶特调
7、自动驾驶原理
8、PID算法理论
9、阿克曼运动学分析理论
10、建立运动学模型
常用命令
!重要!首次使用
一、原理分析
麦克纳姆轮运动学分析
二、AI大模型
3、AI大模型类型和原理
4、RAG检索增强和模型训练样本
5、具身智能机器人系统架构
6、具身智能玩法核心源码解读
7、配置AI大模型
8、配置API-KEY
三、深度相机
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大模型应用
八、路网规划
路网规划导航简介
构建位姿地图
路网标注
路网规划结合沙盘地图案例
路径重规划
九、模型训练
1、数据采集
2、数据集标注
3、YOLOv11模型训练
4、模型格式转换
十、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
26
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期
AI