- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
#includerclcpp/rclcpp.hpp#includesensor_msgs/msg/laser_scan.hpp#includegeometry_msgs/msg/twist.hpp?std::shared_ptrrclcpp::Nodenode;rclcpp::Publishergeometry_msgs::msg::Twist::SharedPtrvel_pub;intnCount=0;?voidLidarCallback(constsensor_msgs::msg::LaserScan::SharedPtrmsg){intnNum=msg-ranges.size();intnMid=nNum/2;floatfMidDist=msg-ranges[nMid];RCLCPP_INFO(node-get_logger(),ranges[%d]=%fm,nMid,fMidDist);?if(nCount0){nCount--;return;}?geometry_msgs::msg::Twistvel_msg;if(fMidDist1.5f){vel_msg.angular.z=0.3;nCount=100;}else{vel_msg.linear.x=0.1;}vel_pub-publish(vel_msg);}5.4基于激光雷达的避障实现intmain(intargc,char**argv){rclcpp::init(argc,argv);?node=std::make_sharedrclcpp::Node(lidar_behavior_node);?vel_pub=node-create_publishergeometry_msgs::msg::Twist(/cmd_vel,10);autolidar_sub=node-create_subscriptionsensor_msgs::msg::LaserScan(/scan,10, LidarCallback);?rclcpp::spin(node);?rclcpp::shutdown();?return0;}5.4基于激光雷达的避障实现2、设置编译规则3、修改软件包信息4、编译软件包dependrclcpp/dependdependsensor_msgs/dependdependgeometry_msgs/dependcd~/ros2_wscolconbuild5.4基于激光雷达的避障实现find_package(rclcppREQUIRED)find_package(sensor_msgsREQUIRED)find_package(geometry_msgsREQUIRED)add_executable(lidar_behaviorsrc/lidar_behavior.cpp)ament_target_dependencies(lidar_behaviorrclcppsensor_msgsgeometry_msgs)install(TARGETSlidar_datalidar_behaviorDESTINATIONlib/${PROJECT_NAME})sourceinstall/setup.bashros2launchwpr_simulation2wpb_simple.launch.pysourceinstall/setup.bashros2runlidar_pkglidar_behavior5.4基于激光雷达的避障实现5.4.2仿真运行雷达避障程序打开第2个子窗口。节点运行起来之后,切换到刚才的仿真窗口。如图所示,可以看到机器人先以0.1米/秒的速度向前移动。当机器人距离书柜1.5米时,机器人停止前进,开始向左逆时针旋转。旋转一段时间后,机器人恢复直行,顺利的避开前方的书柜。5.5本章小结本章主要是对激光雷达在ROS2中的使用进行介绍和编程。首先介绍了ROS2里的激光雷达消息包格式以及如何在RViz2中查看激光雷达数据;接着,通过订阅激光雷达发布的话题,从话题中获取激光雷达发出的消息包获取激光
您可能关注的文档
- 机器人操作系统(ROS2)入门与实践 课件 第1章 Linux Ubuntu入门基础.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第2章 ROS2安装与系统架构.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第3章 ROS2编程基础.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第4章 ROS2机器人运动控制.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第6章 IMU在ROS2中的使用.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第7章 ROS2中的SLAM环境建图.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第8章 ROS2中的NAV2自主导航.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第9章 ROS2中的图像视觉应用.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第10章 ROS2的三维视觉应用.ppt
- 机器人操作系统(ROS2)入门与实践 课件 第11章 ROS2的机械臂应用.ppt
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)