版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲老师:汪俊东智能驾驶场景下的线控底盘应用开发项目六:智慧驾驶场景下的线控底盘综合应用任务6.3《智能汽车线控底盘装调与测试》目录CONTENTS任务导入Taskimport01学习目标Learningobjectives02知识准备Knowledgepreparation03课堂小测Classroomquiz04课堂总结Classroomsummary06任务实施Taskimplementation05PART01任务导入Taskimport任务导入想象一下,你置身于一个拥有智能感知和自动化控制的工厂车间。机器在节奏鲜明的运转中,但是这一切看似毫不费力,因为这些机器的底盘正被一种新型的线控技术所驱动。你作为这个领域的一名开发者,将扮演着重要的角色。你将与工程师团队紧密合作,利用最新的技术和算法,设计出更加智能和可靠的线控底盘应用。PART02学习目标Learningobjective学习目标素质目标熟悉产品设计以及技术特点,培养学生规范操作的意识;通过不同实操任务,锻炼学生解决实际问题的能力。
能力目标掌握ROS系统下线控底盘的可视化开发[A84];掌握ROS系统下线控底盘的控制[A85]。知识目标熟悉并理解ROS系统下线控底盘的可视化开发[K95];熟悉并理解ROS系统下线控底盘的控制[K96]。思政专栏纵观三国各大战役,我们可以发现谋士是比良将更为难得的存在,一策可抵千军万马,比如被称为"才策谋略,世之奇士"的郭嘉就为曹操多番献计,计吕刘而破,离二袁而胜,使得曹魏大军势如破竹,无往而不利。蜀国的马谡在历史上也是很出名的人物。提到马谡此人,令人印象最为深刻的即是马谡失街亭。街亭具有得失陇右安危关中的重要战略地位,是历代兵家必争之地。街亭附近有一座高山,马谡舍弃街亭城镇,选择登上南山据守,王平多次规劝,马谡仍固执已见不为所动。结果曹魏大军围山不攻,只是将水源阻断,蜀军无水,不战自乱。街亭遗址碑铭诸葛亮挥泪斩马谡思政专栏马谡以饱读兵书、善于谈论军事策略而知名,但在街亭之战中,过于子鑫,未能根据实际情况灵活运用兵法,导致战略失误,最终失守街亭,蜀军大败。理论知识虽然重要,但必须结合实际情况,通过实践来检验和完善,在解决实际问题时,应当注重理论与实践的结合,避免盲目自信和教条主义。马谡失街亭诸葛亮挥泪斩马谡PART03知识准备Knowledgepreparation
ROS(RobotOperatingSystem)是一种用于编写机器人软件的框架。在ROS中,消息类型是通过.msg文件定义的。这些文件被编译成对应于特定编程语言的代码。一、ROS常见消息类型ROS机器人std_msgs/Stringstd_msgs/String是一个简单的消息,包含一个std::string。在C++中,可以用来发送C++标准库中的字符串。一、ROS常见消息类型#include“std_msgs/String.h”std_msgs::Stringmsg;msg.data=“Hello,ROS!”;std_msgs/InT32std_msgs/Int32是一个包含一个32位整数的简单消息。在C++中,可以用来发送C++标准库中的整数。一、ROS常见消息类型#include“std_msgs/Int32.h”std_msgs::Int32msg;msg.data=123;geometry_msgs/Twistgeometry_msgs/Twist是一个表示线速度和角速度的消息,常用于发布机器人的速度指令。一、ROS常见消息类型#include“geometry_msgs/Twist.h”geometry_msgs::Twistmsg;msg.lineae.x=0.5;//设置线速度为0.5米/秒msg.angular.z=0.5;//设置角速度为0.5弧度/秒nav_msgs/Odometrynav_msgs/Odometry是ROS系统中常用的消息类型之一,用于表示机器人的位置和姿态以及速度信息。一、ROS常见消息类型stdmsgs/Headerheaderestringchildframeidgeometry_msgs/PoseWithCovariancepose//位置和方向;规定在header.frameidgeometry,msgs/TwistWithCovariancetwist//角速度和线速度,规定在childframeid坐标系下Poll函数poll函数介绍poll函数是一种用于监控多个文件描述符状态变化的系统调用,它能够同时监控多个文件描述符,以便在它们中的任何一个就绪(例如,可读、可写或有异常条件)时接收通知。二、poll函数与read函数if((num=pol(&fds,1,250))<0{//返回值少于0,则异常 ROSINFO("poll函数异常"); return0;}elseif(num>0){//返回值大于0用户没有输入内容,则正常开始读数据Read函数read函数介绍其函数原型如下。其中,fd是文件描述符,buf是存放读取数据的缓冲区,count是要读取的字节数。read函数返回实际读取的字节数,如果返回-1表示读取失败。二、poll函数与read函数ssizetread(intfd,void*buf,sizetcount);PART04课堂小测Classroomquiz一、判断题在poll函数中,structpollfd包含三个成员:intfd(文件描述符),shortevents(等待的事件),和shortrevents(实际发生的事件)。(
)2.geometry_msgs/Twist是一个表示线速度和角速度的消息,常用于发布机器人的速度指令,linear代表线速度,angular代表角速度。()√√二、选择题下列消息类型中,用于表示机器人的位姿以及速度信息的是()A.std_msgs/StringB.std_msgs/InT32C.nav_msgs/OdometryD.geometry_msgs/Twist2.下列代码与对应功能正确的是(
)A.input()B.poll()C.read()D.getline()CBPART05任务实施Assignmentimplement工具设备清单一、实施准备分类名称数量图例实训设备线控底盘1套测试电脑1套CAN测试仪1套辅助材料无纺布1张检查设备一、实施准备(1)穿戴好工作手套和安全帽,将工具设备等摆放在工位上。(2)检查线控底盘外观是否正常,内部零件是否齐全,线束连接是否正常。(3)检查测试电脑外观是否正常。(4)连接CAN测试仪外观是否正常无破损。连接设备一、实施准备(1)将车辆外接CAN0接口连接到CAN测试仪CAN1通道连接设备(2)通过拨码开关,将CAN1的终端电阻R1拨到ON的位置,接入终端电阻。一、实施准备连接设备(3)使用USB连接线将CAN分析仪连接到电脑一、实施准备启动设备(1)按下车辆的电源开关,启动车辆。一、实施准备启动设备(2)长按遥控器的电源键(左右各一个,同时长按3秒),启动遥控器。一、实施准备启动设备(3)将遥控器最右侧SWD拨杆开关往下拨动,进入遥控驾驶模式。一、实施准备启动设备(4)在遥控模式下按下遥控器背面右边按钮时,进入自动驾驶模式。一、实施准备安装ROS1系统二、线控底盘ROS系统开发(1)输入指令检查是否安装CMake,如果成功安装如所示;如果未安装输入下列命令安装CMake。安装ROS1系统二、线控底盘ROS系统开发(2)打开终端,输入以下命令,添加ROS软件源。安装ROS1系统二、线控底盘ROS系统开发(3)输入下列命令,设置ROS安装密钥。安装ROS1系统二、线控底盘ROS系统开发(4)输入下列命令,更新Ubuntu软件源。安装ROS1系统二、线控底盘ROS系统开发(5)输入下列命令,安装ROS桌面完整版。安装ROS1系统二、线控底盘ROS系统开发(6)输入下列命令,设置ROS环境变量。安装ROS1系统二、线控底盘ROS系统开发(7)安装ROS工具。安装ROS1系统二、线控底盘ROS系统开发(8)输入下列指令,并将下列地址复制在host文件后保存,确保ROS初始化成功。安装ROS1系统二、线控底盘ROS系统开发(9)输入下列命令,初始化ROS安装。安装ROS1系统二、线控底盘ROS系统开发(2)安装ROS1系统完成后,输入命令启动小海龟和rviz,确保ROS系统成功安装。线控底盘可视化开发二、线控底盘ROS系统开发(1)将需要编译的ROS功能包利用共享文件夹的形式,允许主机和虚拟机同时访问,操作的具体步骤为“虚拟机”-“设置”-“选项”。启用共享文件夹,并将提前在主机设置好的共享文件夹路径添加到虚拟机设置中。线控底盘可视化开发二、线控底盘ROS系统开发(2)在panzhi_dis文件夹中开启终端,利用命令将“99-myusb.rules”加入到指定路径中。线控底盘可视化开发二、线控底盘ROS系统开发(3)在终端里分别进入“chassis-usbcan_ws”、“myrobot_ws”、“simulation-ctrl”文件夹中,执行下列命令分别编译三个ROS功能包。线控底盘可视化开发二、线控底盘ROS系统开发(4)新建终端,输入下列命令,启动底盘驱动。线控底盘可视化开发二、线控底盘ROS系统开发(5)新建终端,输入下列命令,利用turtle插件将底盘位置显示在rviz地图上。线控底盘可视化开发二、线控底盘ROS系统开发(6)新建终端,输入下列命令加载地图。线控底盘可视化开发二、线控底盘ROS系统开发(7)新建终端,输入下列命令,启动可视化工具,实现以三维向量的形式将底盘仿真显示在rviz可视化工具中。线控底盘控制开发二、线控底盘ROS系统开发(1)输入下列命令,进入底盘控制ROS功能包。线控底盘控制开发二、线控底盘ROS系统开发(2)输入下列命令,刷新控制ROS功能包。线控底盘控制开发二、线控底盘ROS系统开发(3)输入下列命令,启动控制底盘ROS功能包。线控底盘控制开发二、线控底盘ROS系统开发(4)成功启动后,通过键盘“W”、“S”、“A”、“D”、“空格”可以对应控制线控底盘的前后左右和刹车,并仿真可视化体现在rviz中。修改控制字符二、线控底盘ROS系统开发(1)打开底盘控制ROS功能包控制节点的源码文件,文件名为ctrl_pkg_node.cpp,具体路径如下:panzhi_dis/simulation-ctrl/src/ctrl_pkg/src。修改控制字符二、线控底盘ROS系统开发(2)打开文件后找到顶部ASCII码引用部分,根据ASCII码对照表修改ASCII码,这里以数字键“1”,“2”,“3”,“5”为例。其他控制字符对应ASCII码如下所示。修改控制字符二、线控底盘ROS系统开发(3)修改判断用户输入的内容,将对应变量名更换为修改后的变量名。修改控制字符二、线控底盘ROS系统开发(4)保存文件后,输入下列代码重新编译控制相关的ROS功能包,在编译前,将之前编译的生成的build,devel两个文件夹删除,将src文件中的CMakeLists.txt文件删除。修改控制字符二、线控底盘ROS系统开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年遂宁市中考物理试卷(含答案)
- 智研咨询重磅发布:中国叶黄素行业供需态势、市场现状及发展前景预测报告
- 《教材同步拓展课|课内知识延伸讲解+高中必修四生物生物多样性保护》
- 石家庄市井陉矿区招聘社区网格员备考题库附答案详解
- 初中英语关系代词暑假预科精讲|新年级新课提前学
- 《小学数学专注力培养课|培养专注 提升效率》
- 第五讲 人造地球卫星教学设计高中物理华东师大版上海拓展型课程II-华东师大版上海2010
- 部编版中考九年级下册语文素材作文指导教案+中考满分作文:书中有个“我”(7篇)
- 2026年郑州黄河护理职业学院单招职业适应性测试题库及参考答案详解
- 六升七 化学化学变化课|认识化合分解置换
- hiv职业暴露培训课件
- 建筑垃圾处理技术标准(CJJT 134-2019)
- 黑龙江省齐齐哈尔市2024年中考数学试卷含真题解析
- 人教版(2025)七年级下册地理教材活动题答案
- 2025-2030年中国铝合金船舶行业深度研究分析报告
- 2025年永州市江永县三支一扶招募高校毕业生招聘高频重点提升(共500题)附带答案详解
- 《如何建立客户信任》课件
- 《策略九问》决定复杂销售成败的九大思考
- 《妊娠剧吐》课件
- 《中级财务会计(一)》期末机考资料
- 北京人朝初一分班考英语试题及答案
评论
0/150
提交评论