_无往而不胜_
明天的你会感谢今天努力的自己!
展开
-
反光柱定位算法中的移动机器人姿态计算原理-经典三边定位最小二乘法计算定位-直接法计算定位
(二)计算姿态方式是我们已经通过最小二乘得到了小车在地图中的位置或者是雷达在地图中的位置,又因为我们知道雷达与小车的安装坐标,所以可以求解出一其中一个坐标的知量,通过小车在地图中坐标与雷达在地图中坐标可以得到一条向量,通过计算向量在地图中的角度就能得到姿态了。与最小二乘三边测量法相比,新算法在动态调整、优化过程和鲁棒性方面优势明显,尤其适合动态环境下的机器人定位,而最小二乘三边测量法在动态复杂环境中精度相对较低。(一)与(二)的区别主要是在计算姿态上的算法不同。经典三边定位最小二乘法 (法一)原创 2024-09-26 16:50:25 · 637 阅读 · 0 评论 -
使用里程计(Odometry)数据来去除雷达(Lidar)数据的畸变
【代码】使用里程计(Odometry)数据来去除雷达(Lidar)数据的畸变。原创 2024-08-10 11:37:00 · 240 阅读 · 0 评论 -
通过imu去雷达畸变
【代码】通过imu去雷达畸变。原创 2024-08-10 10:26:25 · 361 阅读 · 0 评论 -
slam移动机器人预测n秒后的里程数据
通过dt = (current_odom.header.stamp - previous_odom_.header.stamp).toSec();在回调函数中,通过比较当前和上一时刻的里程计数据,计算delta_x、delta_y和delta_yaw。使用运动模型预测3秒后的delta_x_3s、delta_y_3s和delta_th_3s。通过这种方式,你可以根据当前的速度信息预测机器人未来的位置,并将预测结果转换成适合使用的格式。通过odom_sub_订阅/odom话题,并在回调函数中处理数据。原创 2024-06-21 17:40:34 · 139 阅读 · 0 评论 -
ros1中的server服务的创建与使用函数指针类型别名请求处理函数
【代码】ros1中的server服务的创建与使用函数指针类型别名请求处理函数。原创 2024-06-06 09:00:31 · 132 阅读 · 0 评论 -
rosweb使用,roslibs使用,ros2djs,ros3djs具体使用
1.与ros建立链接2.二维地图可视化3.三维地图可视化4.三维 全局路径三维显示车体显示雷达点云车体方向2.发布topic订阅topic创建service 客户端创建service服务端发送action客户端action客户端2ActionServer 服务端设置参数获取参数获取urdf创建tf一个简单的数学示例,演示了在ROS JavaScript库(roslib.js)中使用ROS消息类型进行向量、四元数、姿态和变换的操作。原创 2023-05-23 19:35:44 · 5312 阅读 · 12 评论 -
导航定位会跳变,记录里程计数据异常问题
写一个代码监听里程计数据的功能,里程计数据上侦数据与下一侦数据存在较大偏差的就记录下来.包括记录imu数据,重定位数据,当前跳变的定位数据.包括通过rosbag录制数据以方便定位问题出处.(我公司的里程计数据是在下位机计算的,所以现排优先除下位机发过来的里程数据是否准确)2.计算机可能性能不够,在偶偶那么卡顿一刹那可能会导致定位数据不准确.解决: 场景中增加特征,或者是改定位方式.3..里程计数据或者imu数据异常问题。原创 2024-03-29 14:08:44 · 982 阅读 · 0 评论 -
openOrCreateFile打开文件,如果文件不存在则创建路径与文件,记录日志与系统时间
【代码】openOrCreateFile打开文件,如果文件不存在则创建路径与文件。原创 2024-03-27 15:48:20 · 215 阅读 · 0 评论 -
姿态角度yaw 值限制在 0~2π 的范围内,yaw 数据限制在 -π ~ π 之间的范围内,yaw 数据是nan就f赋值为0.0
2.yaw 数据限制在 -π ~ π 之间的范围内。3.yaw 数据是nan就f赋值为0.0。1.yaw 值限制在 0~2π 的范围内。原创 2024-03-26 16:17:30 · 464 阅读 · 0 评论 -
ros中设置超时时间ros::Time::now()
建议把ros中的时间替换:【在本机虚拟机中测试有时候会因为这个时间出系统问题,导致程序卡主】原创 2024-02-29 19:31:11 · 853 阅读 · 0 评论 -
ubuntu20.04安装webots仿真
这个错误表明安装 Webots 软件包时存在未满足的依赖关系。具体来说,Webots软件包依赖于 libssh-dev,但系统无法安装 libssh-dev。安装 Webots 与之前安装的水星 wifi 驱动aic8800fdrvpackage_amd64.deb 有冲突。提示安装:sudo apt --fix-broken install。控制台输入webots启动;原创 2024-02-23 13:28:45 · 1923 阅读 · 0 评论 -
创建rosmsg消息包后在cmakelist.txt中不使用 add_message_file逐个加入.msg文件,而是需要加入所有msg文件。
命令来查找指定目录下的所有 .msg 文件,并将它们添加到 ROS 消息包中。命令用于查找指定目录(这里是 msg 目录)下的所有 .msg 文件,并将它们存储在。CMakeLists.txt 文件中一次性添加所有 .msg 文件,可以使用。变量中的所有文件添加到。原创 2024-02-23 10:16:26 · 262 阅读 · 0 评论 -
四舵轮底盘运动学模型(四轮四独立转向)一
舵轮4转向活动范围 x 轴正半轴,x轴正方向为0弧度,左正右负, -M_PI/2 < 转向范围 < M_PI/2;移动底盘的正前方为x方向,左侧为y轴方向(遵循右手坐标系,右手大拇指指向天空为z轴方向,食指与中指垂直,食指指向小车正前方为x轴,中指指向为移动底盘y轴方向)转向:逆时针旋转角速度w为正,顺时针旋转角速度w为负。(遵循右手螺旋法则,右手握拳大拇指指向天空为旋转z轴方向,拳垂直于地面,4指方向即底盘转动的正方向)左前轮为1号轮,右前轮为2号轮,左后轮为3号轮,右后轮为4号轮。原创 2024-02-22 12:21:42 · 4974 阅读 · 0 评论 -
cartographer离线建图报错:data_.trajectory_nodes.SizeOfTrajectoryOrZero
2.1从 xxx.lua中注释掉这行:--TRAJECTORY_BUILDER_2D.use_imu_data = false。2.2 在launch中注掉 2.从xxx.lua文件与launch文件中同时去除imu相关数据。1.重新设置imu,使imu有数据。具体原因是imu没有重力数据。原创 2024-01-25 18:23:21 · 890 阅读 · 0 评论 -
通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(三)
不使用base64编码方式传递,优点速度快,卡顿少。通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示原创 2023-11-24 16:32:36 · 1143 阅读 · 0 评论 -
通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二)
【代码】通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二)原创 2023-11-24 16:29:16 · 1175 阅读 · 0 评论 -
通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示
【代码】通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示。原创 2023-11-23 18:53:44 · 1517 阅读 · 0 评论 -
在ros的类中使用message_filters订阅2个topic数据
【代码】在ros的类中使用message_filters订阅2个topic数据。原创 2023-11-23 17:47:46 · 888 阅读 · 0 评论 -
canvas访问nginx上的pgm图片
canvas访问nginx上的pgm图片原创 2023-03-03 15:39:11 · 368 阅读 · 3 评论 -
amis百度前端框架解决跨域问题
amis百度前端框架解决跨域问题原创 2023-01-15 15:26:25 · 2540 阅读 · 0 评论 -
amis百度前端框架,在js中使用amis写json转页面
给id=content 的 div元素下生成百度amis组件中的json配置出的页面。3.创建一个主页面(代码片段里面重要是创建了一个div元素,1.在项目中使用百度 amis 的sdk做开发库。原创 2023-08-10 14:05:59 · 2477 阅读 · 0 评论 -
百度amis中刷新页面实现自动弹窗
使用自定义组件custom。原创 2023-05-31 09:30:13 · 663 阅读 · 0 评论 -
百度 amis 当成 UI 库用
百度amis中 confirm原创 2023-08-10 20:27:50 · 1132 阅读 · 0 评论 -
MoveIt教程 - Move Group (C++接口)
以上都切换到noetic版本,这个moveit_tutorials最高版本是melodic;原因是:moveit版本与moveit_tutorials版本不兼容;编译:moveit_tutorials。原创 2023-06-30 15:07:34 · 588 阅读 · 0 评论 -
ur机器人在moveit中运行环境搭建(保姆级)
原因是没有安装 pybind11:需要去git克隆pybind11项目。具体参考安装这个博客 :6.安装编译 pybind11 编译。我的系统是ubuntu20.04。rosb版本: noetic。原创 2023-06-11 22:53:13 · 1627 阅读 · 0 评论 -
ros3djs中交互式标记(interactive marker)的客户端类InteractiveMarkerClient的使用
1.必须先启动前端,打开游览器,输入网址;或者就用以上页面,右键游览器打开,前提是需要准备需要加载的js库。修改 interactive_marker_prox 项目中的代码 proxy.cpp 把tf改tf2.交互标记图形拖拽时,因某中原因导致图形拖拽后,图形在起始点与目标点直接一直跳动。系统:ubuntu20.04 , ros:noetic。1.首先准备后端项目。原创 2023-06-11 14:57:36 · 408 阅读 · 0 评论 -
ros3djs具体使用
ros3d.js中自带的鼠标事件监听。原创 2023-06-01 10:53:41 · 1395 阅读 · 0 评论 -
定时检查文件大小,删除~/.ros/log 中的log文件
定时检查文件大小,删除~/.ros/log 中的log文件。原创 2023-05-26 11:15:51 · 663 阅读 · 0 评论 -
rosweb开源项目运行
在错误信息中,它提到了"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js",这可能意味着你需要更新你的。如果你在Windows系统上,你可能需要安装额外的软件来运行这些命令。的替代品,它是用Dart编写的,因此不需要二进制绑定,安装起来更容易。(或者你的机器的IP地址,如果你在其他机器上),你应该能看到你的Web应用。如果你想停止Web服务器,你可以在命令行中按。原创 2023-05-24 11:14:31 · 980 阅读 · 0 评论 -
plan路径优化,路径平滑
然后,它遍历原始路径中的每个点,计算相邻两点之间的距离。根据最大距离和相邻点之间的距离,计算需要插入的中间点数量,并使用线性插值的方式计算出这些中间点的位置,并将它们添加到新路径中。对于每个点,它计算该点和下一个点之间的方向,并将方向转换为四元数形式,并将其赋值给该点的方向属性。最后,将最后一个点的方向设为倒数第二个点的方向,以保持一致性。这些函数的目的是对路径进行处理和平滑,计算中间点,以及为路径中的每个点计算正确的方向。对于每个点,它计算窗口大小范围内的坐标和,并计算平均值作为平滑路径中该点的坐标。原创 2023-05-18 13:23:07 · 589 阅读 · 0 评论 -
ros中行为树实现导航任务
使用和来创建一个更通用的任务执行框架。添加一个简单的抓取任务节点,并演示如何在任务之间传递参数。行为树节点基类:导航节点类抓取节点类 将继承自类,并覆盖方法以实现特殊的功能。这个选择器的功能是按顺序执行任务节点,遇到执行失败的节点会跳过这个任务,继续执行下个任务,运行中记录成功的子节点和根节点和失败的子节点和根节点。现在,可以使用来创建一个行为树。例如:在这个示例中,将按顺序执行和。如果某个任务失败,它将跳过该任务并继续执行下一个任务。成功和失败的子节点将在方原创 2023-05-12 16:11:45 · 1012 阅读 · 0 评论 -
优化全局路径
1.输入路径的C++代码示例。这个示例中使用的平滑方法是一种简单的移动平均法,同时采用线性插值(LERP)对姿态进行平滑。注意,这个示例仅仅用作参考,您需要根据您的需求和具体应用场景进行相应的调整。请注意,这种简单的平滑方法可能不适用于所有场景,您可能需要根据具体情况选择其他平对于更复杂的平滑方法,您可以考虑使用样条插值(如B样条或Catmull-Rom样条)或其他平滑算法。这种方法可以产生更加平滑的路径,同时保持了原始路径的形状特征。在此示例中,我们使用了三次Hermite样条对路径进行平滑。原创 2023-05-05 13:06:18 · 397 阅读 · 0 评论 -
栅格地图转代价地图,栅格地图转cv::mat图片,代价地图转换为cv::Mat
栅格地图转代价地图,栅格地图转cv::mat图片,代价地图转换为cv::Mat原创 2023-04-04 13:55:57 · 695 阅读 · 0 评论 -
用canvas加载pgm图片后在通过canvas的toDataURL方法导出这张pgm图片发现导出的图片字节容量与一开始的字节容量不同,导出的pgm图片再用canvas加载会加载不出来
用canvas加载pgm图片后在通过canvas的toDataURL方法导出这张pgm图片发现导出的图片字节容量与一开始的字节容量不同,导出的pgm图片再用canvas加载会加载不出来原创 2023-03-18 12:19:58 · 562 阅读 · 1 评论 -
nav_msgs/OccupancyGrid的地图数据转成sensor_msgs/PointCloud2点云数据
把 nav_msgs/OccupancyGrid的地图数据转成sensor_msgs/PointCloud2点云数据原创 2023-02-28 13:39:50 · 1234 阅读 · 0 评论 -
nav_msgs/OccupancyGrid数据直为100的数据转成点云数据,把sensor_msgs/LaserScan转成点云数据,把两个数据进行icp匹配得到最优变换矩阵
nav_msgs/OccupancyGrid数据直为100的数据转成点云数据,把sensor_msgs/LaserScan转成点云数据,把两个数据进行icp匹配得到最优变换矩阵原创 2023-02-28 13:52:18 · 679 阅读 · 0 评论 -
canvas转成input-file标签数据使用XMLHttpRequest模仿input-file标签上传数据
canvas转成input-file标签数据使用XMLHttpRequest模仿input-file标签上传数据原创 2023-03-04 20:20:39 · 317 阅读 · 1 评论 -
tf2/tf1坐标计算,坐标变换,坐标取逆,坐标订阅,坐标发布
tf2坐标计算,坐标变换,坐标取逆,坐标订阅,坐标发布等原创 2023-02-28 10:06:36 · 872 阅读 · 0 评论 -
ros代码中获取ros节点名称,rostopic名称
ros代码中获取rosnode节点名称,rostopic名称原创 2023-01-10 12:28:25 · 775 阅读 · 0 评论 -
odom 里程计轨迹的代码
odom 里程计轨迹的代码原创 2022-12-28 10:21:59 · 746 阅读 · 0 评论