首页 > 分享 > 项目过程记录

项目过程记录

目录 ROS基础知识修改传递参数查看节点信息修改launch文件节点 Gmappingrrt节点修改环境问题

ROS基础知识

修改传递参数

在 C++ 中实现参数服务器数据的增删改查,可以通过两套 API 实现:

ros::NodeHandle

ros::param

在 Python 中实现参数服务器数据的增删改查

ros::get_param

查看节点信息

在 ROS 同提供了一些实用的命令行工具,可以用于获取不同节点的各类信息,常用的命令如下:

rosnode : 操作节点
rostopic : 操作话题
rosservice : 操作服务
rosmsg : 操作msg消息
rossrv : 操作srv消息
rosparam : 操作参数

修改launch文件节点

<launch> <node pkg="helloworld" type="demo_hello" name="hello" output="screen" /> <node pkg="turtlesim" type="turtlesim_node" name="t1"/> <node pkg="turtlesim" type="turtle_teleop_key" name="key1" /><param name="kernelSize" value="3"/> </launch> 1234567

node —> 包含的某个节点

pkg -----> 功能包

type ----> 被运行的节点文件

name --> 为节点命名

output-> 设置日志的输出目标

name=“命名空间/参数名”

参数名称,可以包含命名空间

value=“xxx” (可选)

定义参数值,如果此处省略,必须指定外部文件作为参数源

Gmapping

选用Gmapping算法构建地图,传入rrt算法中。

修改launch文件
可能需要修改的参数如下

~maxUrange (float, default: 80.0),探测最大可用范围,即光束能到达的范围。
~minimumScore (float, default: 0.0),为获得好的扫描匹配输出结果,用于避免在大空间范围使用有限距离的激光扫描仪(如5m)出现的jumping pose estimates问题。 当 Scores高达600+,如果出现了该问题可以考虑设定值50。
~temporalUpdate (float, default: -1.0),如果最新扫描处理比更新慢,则处理1次扫描。该值为负数时候关闭基于时间的更新。
particles (int, default: 30) gmapping算法中的粒子数,因为gmapping使用的是粒子滤波算法,粒子在不断地迭代更新,所以选取一个合适的粒子数可以让算法在保证比较准确的同时有较高的速度。
minimumScore (float, default: 0.0) 最小匹配得分,这个参数很重要,它决定了对激光的一个置信度,越高说明对激光匹配算法的要求越高,激光的匹配也越容易失败而转去使用里程计数据,而设的太低又会使地图中出现大量噪声,所以需要权衡调整。

修改后直接运行launch文件即可
话题和服务如下
在这里插入图片描述
在这里插入图片描述

运行后可以保存地图

rosrun map_server map_saver -f map 1

生成map.pgm map.yaml两个文件,其中map.yaml文件内容如下:

image: map.pgm #图像文件名字 resolution: 0.050000 #图像分辨率 origin: [-13.800000, -1.000000, 0.000000] #机器人在开始建图时在地图图片上的姿态 negate: 0 #对立面 occupied_thresh: 0.65 #被占据的临界值 free_thresh: 0.196 #自由状态的临界值 123456

rrt

使用ros的rrt官方包,需要修改节点与自己的设备实现匹配,安装依赖环境。
分为仿真包和实物包
下载链接如下
rrt_exploration
rrt_exploration_tutorials

节点修改

需要修改的文件有
single.launch
src中的
global_rrt_detector.cpp
local_rrt_detector.cpp
scripts中的
assigner.py
functions.py
filter.py

修改节点时,去除所有的ns+和robot1/
self.name+以及name+
同时去除调用move_base base_link时的前缀
自身只有一个设备没有前缀名。

由于自身设备的move_base参数设置问题,可能导致运行效果较差。
所以采用仿真包中的move_base文件替换
运行launch文件即可

环境问题

编译是需要打开文件包中的python文件的可编译权限

tf2是基于python2进行编写的
所以编译时可能由于版本冲突出现问题
解放方法一般为切换当前python版本
但是本人实操并不好使
最终解决是删除了python二进制文件
使用python2.7二进制文件进行替换。

相关知识

花的成长过程记录
国家重点研发计划项目“晚新生代亚洲大陆风化过程、沉积记录及碳汇效应”启动会成功召开
凤仙花的生长过程,附上图文记录
【延时摄影】记录鸢尾花开放的过程
花的生长过程记录,花的分类和特点
兰花种植生长图片大全(兰花的种植过程记录)
记录种花的生长过程,期待美美哒花海
绿萝生长(绿萝生长过程详细记录)
2273张婚礼跟拍摆拍姿势参考图集,接亲酒店举行婚礼过程记录摄影图库
如何给高处的植物浇水——大班项目式学习的记录与反思.pdf

网址: 项目过程记录 https://m.huajiangbk.com/newsview854484.html

所属分类:花卉
上一篇: knn
下一篇: 机器学习 集成方法Bagging