回顾调参数
rqt参数永久保存-保存位置打开:
roscd bobac2_navigation/param/
打开rqt,打开move_base_node中的DWAPlannerROS
occdist_scale 避障欲望 建议参数 0.4~0.5 (差别不大)
path_distance_bias 全局路线 #判断与到距离之间的路径最优选择何种 100
goal_distance_bias 局部路线 #注意两者之间差值 建议参数 24~30
sim_time 思考时间 1.7(不要调太大)
另外要注意:速度,加速度 这两个参数也很重要
max_vel_x
max_vel_y 这两个值太小了也不行,会跑到墙面再转回
DWA参数的在DWA文件
注意安refresh刷新
#清除临时障碍物
rosservice call /move_base_node/clear_costmaps
其余的笔记
主要改gazeb和kinrct和move的DWAPlanneros
(DWAPlanneros:这个调参比较多)
DWAPlanneros:
1平均速度
ass lim x:加速度
xy goal tolerance:xy的半径误差(到达目的地的误差)
yaw goal tolerance:角度误差(相当于转弯的半径大小,弧度)
trans stopped vel:平移停止的速度(一般0.2)
rot stopped vel :转弯停止的速度(一般0.3)
sim time:计算时间(1.5转弯比较快~4就是转弯弧度安全圆滑。一般调1.7左右)
path drstance bias;全局路线
goal drstance bias :局部路线(上下这两个相互影响)
occdist scale:避障欲望(0.1)
音频与播报导航处理(续)
!!!重新整理!!!:》
两个思路过程,1是开启语音模块并获取到需要播报的位置坐标,2是修改获取的参数重新运行
首先老样子需要先打开软件(全程打开!)
#打开软件
roslaunch bobac2_navigation demo_nav_2d.launch
运行语音播报:
运行播报以及语音模块需要开启如下命令:
#需要网络,访问迅飞,这是一个服务,需要进行请求
roslaunch match_demo match_demo.launch
#在打开一个终端
rosservice call /match_start "start: true"
#多开用(直接开启语音助手模块)
roslaunch voice_integrated_application voice_integrated_application.launch
注意,如果出现报错 QTTSAudioGet failed, error code: 10407. 则说明APPID与libs的连接文件无法对应,需要从迅飞助手中再度将libs下的libmsc.so文件给取出,对项目中所需要模块的libs文件进行替换
进行播报语音坐标位置修改:
首先打开文件夹,找到
#打开需要修改的文件
~/bobac2_ws/src/bobac2-master/bobac2_audio/voice_nav/config/voice_nav/position_info.txt
#获取当前坐标位置:
rostopic echo /amcl_pose
文件中的位置数据通过二维数组进行存储,每一行中的数据内容有:
- 位置坐标(position) x y z,其中因为没有高度所以z固定为0
- 方向(orientation)x y z w ,其中因为xy为0值,因此核心修改为zw坐标
获取的数据内容有:
header:
seq: 149
stamp:
secs: 395
nsecs: 563000000
frame_id: "map"
pose:
pose:
position:
x: -0.0962459325388 #=============#
y: 0.0275780254311 #=============#
z: 0.0
orientation:
x: 0.0
y: 0.0
z: -0.182542539963 #=============#
w: 0.983197956214 #=============#
covariance: [0.006574169390090938, -0.0009474390923510261, 0.0, 0.0, 0.0, 0.0, -0.000947439092351027, 0.009094770685125932, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00230069321889966]
---
核心需要获取的内容为标注了 #=============#
的文件,记得注意小数点,不要太长
音频文件修改:
修改唤醒词:
#打开文件夹
cd ~/bobac2_ws/src/bobac2-master/bobac2_audio/awake/launch
#编辑文件
vim awake.launch
#或者使用gedit编辑器
gedit awake.launch
编辑语音文件,直接打开文件夹,对下面的音频文件进行替换即可(名字相同)
#打开文件夹
cd ~/bobac2_ws/src/bobac2-master/bobac2_audio/ifly_package/config/source/AIUI/audio
编辑语音播报顺序:
#打开文件夹
cd ~/bobac2_ws/src/bobac2-master/match_demo/launch
#编辑文件
vim match_demo.launch
#或者使用gedit编辑器
gedit match_demo.launch
顺序解释(打开launch文件后,显示内容如下):
<launch>
<node name="match_demo" pkg="match_demo" type="match_demo_node" output="screen">
<param name="first" type="int" value="1"/>
<param name="second" type="int" value="2"/>
<param name="third" type="int" value="3"/>
<param name="fourth" type="int" value="4"/>
<param name="fifth" type="int" value="5"/>
</node>
</launch>
与他对于的文件为~/bobac2_ws/src/bobac2-master/match_demo/src/match_demo.cpp :
switch(num[i]){
case 1:
system("aplay ./source/AIUI/audio/shanghai.wav");
break;
case 2:
system("aplay ./source/AIUI/audio/beijing.wav");
break;
case 3:
system("aplay ./source/AIUI/audio/tianjin.wav");
break;
case 4:
system("aplay ./source/AIUI/audio/shenzhen.wav");
break;
case 5:
system("aplay ./source/AIUI/audio/guangzhou.wav");
break;
}
大概这个位置,对应的是音频文件与打开方式
音频代码准备:替换项目文件为自己的appid
修改语音:找到语音包,找到230行,APPID复制下来,主要是三个包
- awake(唤醒模块)21行
- voice_nav.cpp (语音识别)65行
- tts_test.cpp(语音播报)39行
注意编译原则
当修改了.c或者.cpp文件这样的东西时候需要重新编译,只是修改launch是不需要重新编译的(也就是说修改了appid需要重新编译)
0 条评论