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

网站开发有哪些公司下载网站的服务器文件

网站开发有哪些公司,下载网站的服务器文件,html改造wordpress,网站制作公司哪个好目录 0 专栏介绍1 引言2 禁用局部规划器3 路径规划定性对比实验3.1 加载路径规划器和可视化插件3.2 设置起点和终点3.3 选择规划器规划3.4 不同规划器对比3.5 路径保存和加载 4 路径规划定量对比实验4.1 计算规划耗时4.2 计算规划长度4.3 计算拓展节点数4.4 计算路径曲率4.5 计… 目录 0 专栏介绍1 引言2 禁用局部规划器3 路径规划定性对比实验3.1 加载路径规划器和可视化插件3.2 设置起点和终点3.3 选择规划器规划3.4 不同规划器对比3.5 路径保存和加载 4 路径规划定量对比实验4.1 计算规划耗时4.2 计算规划长度4.3 计算拓展节点数4.4 计算路径曲率4.5 计算路径转角 0 专栏介绍 附C/Python/Matlab全套代码课程设计、毕业设计、创新竞赛必备详细介绍全局规划(图搜索、采样法、智能算法等)局部规划(DWA、APF等)曲线优化(贝塞尔曲线、B样条曲线等)。 详情图解自动驾驶中的运动规划(Motion Planning)附几十种规划算法 1 引言 在《运动规划实战精讲》系列中我们介绍了非常多种路径规划算法不同的算法有不同的工作原理及其适用场景。例如A*算法通过启发式方法进行路径搜索能够在较小的搜索空间内找到较优解而RRT算法则通过随机采样快速扩展搜索树适合高维空间的路径规划。 自然地我们希望能够有一种方式定性、定量地对比不同算法的性能比如计算效率、资源消耗等。本节通过设计一个可视化插件的形式帮助大家进行规划算法的对比实验并提供了常用的定量指标计算方法最终效果如下所示 2 禁用局部规划器 在ROS的导航功能包集navigation中提供了move_base功能包用于实现导航功能。move_base功能包提供了基于动作(action)的路径规划实现move_base可以根据给定的目标点控制机器人底盘运动至目标位置并且在运动过程中会连续反馈机器人自身的姿态与目标点的状态信息。我们知道move_base主要由全局路径规划与本地路径规划组成。 如果希望在给定的起点和终点对比不同的规划算法就需要临时屏蔽local_planner的功能防止机器人因为运动造成重规划。局部规划插件的详细设计流程在ROS从入门到精通5-5局部路径规划插件开发案例(以DWA算法为例)这里直接给出静态局部规划器的代码 bool StaticPlanner::setPlan(const std::vectorgeometry_msgs::PoseStamped orig_global_plan) {if (!initialized_){ROS_ERROR(This planner has not been initialized, please call initialize() before using this planner);return false;}return true; }bool StaticPlanner::isGoalReached() {if (!initialized_){ROS_ERROR(Static planner has not been initialized);return false;}if (goal_reached_){ROS_INFO(GOAL Reached!);return true;}return false; }bool StaticPlanner::computeVelocityCommands(geometry_msgs::Twist cmd_vel) {if (!initialized_){ROS_ERROR(Static planner has not been initialized);return false;}cmd_vel.linear.x 0.0;cmd_vel.angular.z 0.0;return true; }3 路径规划定性对比实验 3.1 加载路径规划器和可视化插件 首先打开src/sim_env/config中的planner.yaml文件配置可选的规划器属性如下所示 planner:- a_star- dijkstra- gbfs- jps- d_star- lpa_star- d_star_lite- voronoi- theta_star- lazy_theta_star- rrt- rrt_star- rrt_connect- informed_rrt- aco- pso- ga接着启动项目在rviz中添加RMPV可视化插件 3.2 设置起点和终点 通过RMPV面板的Start Pose和Goal Pose选项设置起点和终点位姿 3.3 选择规划器规划 在RMPV的Planner选项中选择具体的规划器点击Start Planning即可开始规划左侧面板将显示规划器名称、起点、终点、路径长度、颜色等信息 3.4 不同规划器对比 重复3.3的步骤进行不同规划器的规划实验 3.5 路径保存和加载 点击Save Paths可以以json格式保存路径到本地如图所示。再下一次实验中可以通过Load Paths复现之前的实验 4 路径规划定量对比实验 4.1 计算规划耗时 耗时指标用cal_time.count()表示 #include chronoauto start_time std::chrono::high_resolution_clock::now(); g_planner_-plan(...); auto finish_time std::chrono::high_resolution_clock::now(); std::chrono::durationdouble cal_time finish_time - start_time; R_INFO Calculation Time: cal_time.count();4.2 计算规划长度 规划长度用path_len表示 for (int i 1; i plan.size(); i) {const auto pt1 plan[i - 1];const auto pt2 plan[i];path_len std::hypot(pt1.x() - pt2.x(), pt1.y() - pt2.y()); } R_INFO Path Length: path_len;4.3 计算拓展节点数 对于图搜索算法拓展节点数是重要指标用expand.size()表示 path_found g_planner_-plan({ g_start_x, g_start_y, tf2::getYaw(start.pose.orientation) },{ g_goal_x, g_goal_y, tf2::getYaw(goal.pose.orientation) }, origin_path, expand); R_INFO Expand Size: expand.size();4.4 计算路径曲率 平均曲率和最大曲率是衡量路径平滑度的重要指标计算如下 double max_curv 0.0; double avg_curv 0.0;auto calCurv [](const PathPlanner::Point3d pt1, const PathPlanner::Point3d pt2,const PathPlanner::Point3d pt3) {double ax pt1.x();double ay pt1.y();double bx pt2.x();double by pt2.y();double cx pt3.x();double cy pt3.y();double a std::hypot(bx - cx, by - cy);double b std::hypot(cx - ax, cy - ay);double c std::hypot(ax - bx, ay - by);double cosB (a * a c * c - b * b) / (2 * a * c);double sinB std::sin(std::acos(cosB));double cross (bx - ax) * (cy - ay) - (by - ay) * (cx - ax);return std::copysign(2 * sinB / b, cross); };for (int i 2; i plan.size(); i) {int n i - 1;const auto pt1 plan[i - 2];const auto pt2 plan[i - 1];const auto pt3 plan[i];double curv std::fabs(calCurv(pt1, pt2, pt3));max_curv std::max(curv, max_curv);avg_curv ((n - 1) * avg_curv curv) / n; }4.5 计算路径转角 平均转角和最大转角是衡量路径平滑度的重要指标计算如下 double max_angle 0.0; double avg_angle 0.0;auto calAngle [](const PathPlanner::Point3d pt1, const PathPlanner::Point3d pt2,const PathPlanner::Point3d pt3) { rmp::common::geometry::Vec2d vec1(pt2.x() - pt1.x(), pt2.y() - pt1.y()); rmp::common::geometry::Vec2d vec2(pt3.x() - pt2.x(), pt3.y() - pt2.y()); return std::acos(vec1.innerProd(vec2) / (vec1.length() * vec2.length())); };for (int i 2; i plan.size(); i) {int n i - 1;const auto pt1 plan[i - 2];const auto pt2 plan[i - 1];const auto pt3 plan[i];double angle calAngle(pt1, pt2, pt3);max_angle std::max(angle, max_angle);avg_angle ((n - 1) * avg_angle angle) / n; }完整工程代码请联系下方博主名片获取 更多精彩专栏 《ROS从入门到精通》《Pytorch深度学习实战》《机器学习强基计划》《运动规划实战精讲》… 源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系
http://www.hkea.cn/news/14440050/

相关文章:

  • 中国建设招标信息网站网域名解析ip查询
  • 网站弹窗设计重庆专业网站推广时间
  • 企业网站的基本内容有哪些青岛网站建设康之迅
  • 无备案网站做cdn做爰全过程免费狐狸网站
  • 建设有访问量的网站西双版纳傣族自治州有几个县
  • 月编程做网站免费域名映射
  • 门户网站开发要求flash可以用来制作网页吗
  • 建设网站需要哪些资质php做网站完整视频
  • 深圳建站公司设计深业集团wordpress大学模板2.7
  • wordpress怎么使用江门网站快速排名优化
  • 在哪注册网站能上传文件的网站
  • 做设计用到的网站北京营销型网站开发
  • 商标网站建设展览展示设计有限公司
  • 网站后台更换首页图片wordpress导购插件
  • 山东鲁为建设集团网站菏泽网站建设推广价格
  • discuz修改网站底部深圳市中医院
  • 网站建设需要注意那些点建设银行网站怎么登录密码忘了怎么办
  • 马鞍山网站建设价格网站导航提交入口大全
  • 福州网站推广优化航空港建设局网站
  • 图标设计网站做网站运用的技术
  • 济源网站建设公司摄影作品网站推荐
  • 门户首页网站建设方案小票在线生成小程序
  • 冠县做网站专业官方网站建设
  • 工信部查询网站备案吉林省建设安全厅官方网站
  • 企业网站推广17手机如何创建公众号
  • 网站后台管理系统很慢女的男的做那个视频网站
  • 社区问答网站开发东莞 网站建设
  • 西安网站建设熊掌浏览器怎么连接网站的
  • 带做网站更改网站的布局
  • 宁波建设信息网站对网站外部的搜索引擎优化