当前位置: 首页 > news >正文

能发外链的网站门户网站网页设计规范

能发外链的网站,门户网站网页设计规范,宁波企业如何建网站,做外贸网站公司哪家48.在ROS中实现local planner#xff08;1#xff09;- 实现一个可以用的模板实现了一个模板#xff0c;接下来我们将实现一个简单的纯跟踪控制#xff0c;也就是沿着固定的路径运动#xff0c;全局规划已经规划出路径点#xff0c;基于该路径输出相应的控制速度 1. Pur…48.在ROS中实现local planner1- 实现一个可以用的模板实现了一个模板接下来我们将实现一个简单的纯跟踪控制也就是沿着固定的路径运动全局规划已经规划出路径点基于该路径输出相应的控制速度 1. Pure Pursuit Pure Pursuit路径跟随便是基于受约束移动机器人圆周运动的特性所开发出来的运动控制方式。原理十分简单如图所示移动机器人有一个前视的搜索半径与机器人规划的路径有一个焦点假设机器人从当前位置到路径焦点的运动为圆周运动。其中的前视距离便是图1中的L。根据几何关系便可以计算机器人的运动半径。 受约束的机器人模型不能横向运动可由两个控制量组成即运动参考点的线速度v与角速度w。在极短的运行周期中机器人都是以固定的线速度与角速度运动。因此机器人的运动可以视为圆周运动w0时为直线运动。 2. 运动半径推算 如图所示的机器人便是绕着一个旋转中心进行圆周运动于是移动机器人的运动控制可视为求解其在运动过程中的实时旋转半径。图中r为移动机器人的旋转半径。 我们以base坐标系为例及当前机器人为坐标原点x轴为前方y轴为左方即ROS的坐标系(x,y)为目标点 L为距离目标点的距离前视距离如下计算容易求得旋转半径r 由图可得dr−yd {r - y} dr−y d2x2r2d^2x^2 r^2 d2x2r2 即:r2−2ryy2x2r2r^2-2ryy^2x^2 r^2 r2−2ryy2x2r2 即:x2y22ryx^2y^2 2ry x2y22ry 即:L22ryL^2 2ry L22ry 即:rL2/2yr L^2/2y rL2/2y 即运动半径前视距离的平方/两倍的y 我们知道rv/w 即我们只需要给定v/w为固定的值即可 因v与L相关 我们取一次关系 令vaL a为长数项 可得wv/ra*2y/L 3. 坐标转换 我们知道setPlan下发的坐标一般使用的是map坐标系我们计算的时候需要转换为base坐标系 我们可以使用init接口提供的tf::TransformListener即可完成, 1.14.0版本后接口更新使用新的接口 geometry_msgs::PoseStamped PurepursuitPlanner::goalToBaseFrame(const geometry_msgs::PoseStamped goal_pose_msg) {#if ROS_VERSION_GE(ROS_VERSION_MAJOR, ROS_VERSION_MINOR, ROS_VERSION_PATCH, 1, 14, 0)geometry_msgs::PoseStamped goal_pose, base_pose_msg;goal_pose goal_pose_msg;goal_pose.header.stamp ros::Time(0.0);try {base_pose_msg tf_-transform(goal_pose, base_link);} catch (tf2::TransformException ex) {ROS_WARN(transform err);return base_pose_msg;}#elsegeometry_msgs::PoseStamped base_pose_msg;tf::Stampedtf::Pose goal_pose, base_pose;poseStampedMsgToTF(goal_pose_msg, goal_pose);goal_pose.stamp_ ros::Time();try {tf_-transformPose(costmap_ros_-getBaseFrameID(), goal_pose, base_pose);} catch (tf::TransformException ex) {ROS_WARN(transform err);return base_pose_msg;}tf::poseStampedTFToMsg(base_pose, base_pose_msg);#endifreturn base_pose_msg;} 4. 前视距离 我们不断根据当前位置更新前视距离通过前面的接算给定速度 4.1 前视距离大小设置 前世距离可以根据V我们预设速度相关 如果前世距离较大相当于路径采样间隔较大跟踪路径与规划路径的偏差会大。 如果前世距离较小机器人容易抖动 4.2 前视距离更新策略 如果当前距离路径中前视距离的点后的n个点的距离小于前世距离则更新前视距离 即如果当前前视距离的点在路径索引为n则判断nm索引距离当前点位置是否小于预设前视距离值 5. 速度限制 一般机器人小车线速度是0的即只能前进无法后退。这就需要我们新增当前前视点角度判断 如果角度超过90即在车的后方。可以对速度修正强制旋转 auto target_yaw_diff atan2(goal.pose.position.y, goal.pose.position.x); // 当前目标点相对机器人的角度.... // 计算半径 速度// 当前目标点相对机器人的角度 相差较大(即目标点在机器人后面) 需要直发角速度(即原地旋转) 转向目标点if (target_yaw_diff PI*0.5) {cmd_vel.linear.x 0;cmd_vel.angular.z 0.8;} else if (target_yaw_diff -PI*0.5) {cmd_vel.linear.x 0;cmd_vel.angular.z -0.8;}6. 完成判断 我们在前视点到达规划路径的最后一个时且当前点与该最后一点距离差小于预设的容忍差,强制输出0速度 if (got l GOAL_TOERANCE_XY) {goal_reached_ true;cmd_vel.angular.z 0;cmd_vel.linear.x 0;}7. 测试 修改move_base配置文件move_base_params.yaml # base_local_planner: dwa_local_planner/DWAPlannerROS base_local_planner: pure_pursuit_local_planner/PurepursuitPlannerdwa_local_planner/DWAPlannerROS—pure_pursuit_local_planner/PurepursuitPlanner 启动模拟器 pibot_simulator启动rviz pibot_view
http://www.w-s-a.com/news/921015/

相关文章:

  • 网站建设所需人力南城区网站建设公司
  • 网站做图尺寸大小手机模板网站模板下载网站有哪些内容
  • 德阳市建设管理一体化平台网站做美食网站
  • 怎么做自己的推广网站2024年瘟疫大爆发
  • vps正常网站打不开linux网站建设
  • 福州网站快速排名在一个网站的各虚拟目录中默认文档的文件名要相同
  • 网站开发 流程图网站开发用哪个linux
  • 怎么用自己电脑做服务器发布网站吗seo门户网价格是多少钱
  • 备案网站可以做影视站网站400
  • 四川住房与城乡建设部网站注册登记
  • 网站建设第三方沈阳工程最新动态
  • 兰州做网站客户上海企业在线登记
  • 新乡公司做网站wordpress被大量注册
  • 小语种服务网站公众号平台建设网站
  • 免费做mc皮肤网站企业网站建设合同模板
  • 做网站可以申请个体户么网站的定位分析
  • jsp做的零食网站下载wordpress侧边栏折叠
  • 帝国网站单页做301南京旅游网站建设公司
  • 网站sem优化怎么做网站建设推广安徽
  • 比较好的室内设计网站潍坊网络科技
  • 南宁网站建设公设计联盟网站
  • 多个图表统计的网站怎么做百度推广费2800元每年都有吗
  • 连江县住房和城乡建设局网站企业类网站模版
  • 临沂seo整站优化厂家网站建设 大公司排名
  • 网站开发有哪些方式百度导航怎么下载
  • 网站认证免费视频直播网站建设方案
  • 瀑布流分享网站源代码下载网站构建的一般流程是什么
  • wordpress 4.9 多站wordpress邮箱解析
  • 微信网站开发企业汽车网站设计模板
  • 如何提升网站转化率遵义市公共资源交易平台