P230飞机和电脑连接至同一Wifi
- 电脑终端输入
ifconfig
查看电脑IP,如下图所示电脑为192.168.31.124
- 将P230飞机连接显示器和键盘鼠标,(可以拔出深度相机的线)出现以下画面:
- 点击上图鼠标位置的图标,出现以下画面,表示wifi未打开,需要手动输入命令打开WiFi。如果出现wifi信息,则跳转至第二节Nomachine连接P230机载电脑:
- 右键,选择
Open Terminal
,打开终端如图一所示。- 在终端输入
cd /usr/bin/
回车。 - 进入第一步的路径之后输入
sudo ./amov_wifi
回车。 - 在输入以上命令后,出现 3 所示,输入机载电脑的密码
amov
,回车,等待几秒检查wifi是否打开即可(检查方法在上一个步骤)。
- 在终端输入
- 出现下图所示选中的WiFi信息,则表示手动打开WiFi成功:
- 选择电脑端连接的WiFi(只需要电脑和P230机载电脑连接至同一个WiFi即可)
amov_RD
,双击。- 出现WiFi密码输入框。
- 输入对应WiFi密码。(需要根据实际连接的WiFi输入)
- 点击
connect
,连接WiFi。
- 出现下图箭头指示的WiFi图标,表示WiFi连接成功。
- 查看P230机载电脑IP,在终端输入
ifconfig
,回车。如下图所示 - 如下图所示, 找到IP地址,并记住该IP地址,在下一节Nomachine连接时填入该IP。
Nomachine连接P230机载电脑
- 电脑端启动Nomachine
- 打开Nomachine
- 点击New,新建连接(版本不同,位置可能不同)
- 出现以下画面:
- 选择
NX
- 点击
Continue
- 选择
- 在此输入上一节查看的IP,Port默认。
- 输入机载电脑的IP。
- 点击
Continue
。
- 默认配置即可
- 选择Password。
- 点击
Continue
- 默认配置即可
- 选择Don't use a proxy
- 点击
Continue
-
给本次连接起个名字,方便记忆。
- 输入名称。
- 点击Done,完成配置。
-
会自返回主界面,如下所示:
- 单击选择刚才新建的连接。
- 点击
Connect
,启动远程连接。
- 输入机载电脑的账号密码:
- 输入用户名称
amov
- 输入用户密码
amov
- 勾选之后会记住账号密码,下次远程连接不再输入。
- 点击OK,进行登录
- 出现以下画面表示,连接成功:
- 点击OK ,出现下一个画面再点击OK。
- 关闭所有弹窗,至此,Nomachine远程连接完成。
vins.sh标定
深度相机配置
- 打开文件管理器
- 点击文件管理器图标
- 点击
Home
,进入主目录。 - 进入
VINS_FUSION
文件夹
- 进入深度相机配置目录:
- 进入
Home/VINS_FUSION/src/VINS-Fusion/config/realsense_d435i
,出现下图所示文件。 - 相机左眼配置文件,
left.yaml
- 相机右眼配置文件,
right.yaml
- 进入
相机左眼配置
- 双击打开
left.yaml
文件。
- 确定是相机左眼
- 出现左眼配置
- 需要修改的数据
fx、fy、cx、cy
- 打开终端,输入命令
roslaunch realsense2_camera rs_camera.launch
,然后回车,启动相机相关节点。
- 新开一个终端,输入
rostopic list
,回车,之后终端罗列出运行的所有话题。
- 在列出的话题中找到
/camera/infra1/camera_info
,复制该话题名。
- 在终端输入命令:
rostopic echo /camera/infra1/camera_info
,回车,会在终端打印出左眼相机数据。
- 出现以下所示数据:
- 使用
Ctrl + C
快捷键来终止上一个命令,方便复制数据。 - 和 3. 的数据内容是一样的,选择一个复制即可 (此处选择的 3 的数据)
- 对应的
fx
- 对应的
cx
- 对应的
fy
- 对应的
cy
- 使用
- 下图是将终端的数据复制到对应的
left.yaml
文件位置 ,然后保存left.yaml
文件
- 右眼相机配置同理
相机右眼配置
在上一节相机左眼配置的基础上,终端输入 rostopic echo /camera/infra2/camera_info
,回车,会在终端打印出右眼相机数据。
- 在刚才打开
left.yaml
的目录下,双击打开right.yaml
文件- 打开
right.yaml
文件。 - 需要修改的数据
- 需要复制的数据 ,从左到右为
fx、cx、fy、cy
- 打开
- 和左眼配置同理,将终端数据复制到
right.yaml
文件的对应位置。
- 保存并退出,至此相机配置完成。
文件参数修改(五个地方)
第 一、二、三:
- 文件所在:
Home/VINS_FUSION/src/VINS-Fusion/config/realsense_d435i
- 需要修改的文件:
realsense_stereo_imu_config.yaml
,双击打开。
- 在文件底部,找到需要修改的地方:
- 修改为
-0.01
- 修改为
9.805
- 修改为
- 修改完成后如下图 1、2 所示:
- 修改生成数据的输出位置,在文件顶端,找到下图所示位置,修改
output_path
为/home/amov/p230_output
- 修改完成后如下图所示:
第四:
- 文件所在 :
Home/amovlab_ws/src/p230_experiment/launch_basic
- 进入该目录。
- 双击打开该文件
- 需要修改的地方如下图所示,修改为测试p230的电脑端IP:
- 此处修改为第一节查看的电脑端IP,
192.168.31.124
,如下图所示,然后保存并退出:
第五
- 文件所在 :
Home/amovlab_ws/src/p230_experiment/launch_basic
- 进入该目录。
- 双击打开该文件
- 需要修改的地方如下,修改为测试p230的电脑端IP:
- 此处修改为第一节查看的电脑端IP,
192.168.31.124
,如下图所示: ,然后保存并退出
p230_output文件夹创建
-
在Home目录下,创建p230_output文件夹
- 点击
Home
- 右键,创建文件夹。
- 点击
VINS标定
注意
启动脚本之前,将p230飞机放置带有标记的地面,启动脚本成功之后需要用手拿着p230飞机移动,移动后一定要将飞机放回原位。
启动 vins.sh
脚本
- 打开终端。
- 单击左键不放,将 1 脚本拖入终端内。
- 拖入终端后如下所示,回车,运行该脚本。
- 运行后出现四个终端,如下图所示:
-
第一个终端内容如上图 5 所示,则运行正常,(则打开QGC地面站后会自动连接,检查频率是否修改,悬停油门新电池为45%,旧电池为50%)
-
第二个终端如下图所示
- 打开第二个终端
- 没有持续报错表示运行正常。
- 第三个终端如下图所示:
- 打开第三个终端
- 持续输出数据表示运行正常
- 第四个终端如下图所示:
- 打开第四个终端
- 出现以下内容表示运行正常
- 出现Rviz 界面:
- 至此,所有启动命令正常运行。
移动P230飞机
- 拿起P230飞机,在室内移动,尽量保持直线移动,转弯时慢一点。
- 移动两圈左右,一定要放回原位(提前做好位置的标记)
观察数据是否收敛
注意
如果不收敛,则需要关闭干净之前介绍的运行脚本的终端,然后复制优化后的数据,再次启动脚本执行VINS标定流程,直到数据收敛。
- 将P230飞机放回原位之后
- 打开第三个终端
- 观察三个数据,是否收敛到0.0x,下图 2 所示为
0.06、0.08、0.04
已经收敛到0.0x。 - 关闭终端
复制优化后的数据
-
将之前创建的p230_output优化后的数据复制到
Home/VINS_FUSION/src/VINS-Fusion/config/realsense_d435i
目录下的 -
打开p230_output文件夹,单击
extrinsic_paremeter.csv
文件,右键修改打开方式- 进入该目录
- 单击该文件
- 选择
Propertie
,修改打开方式。
- 出现以下画面:
- 点击
Open With
- 选择
Text Editor
- 点击
Set as default
,保存修改。
- 点击
- 双击打开
extrinsic_paremeter.csv
文件
- 打开文件后如下图所示:
- 确定打开文件
- 需要复制的数据,选中下图二所示数据,复制。
- 打开需要替换数据的文件, 在
Home/amov/VINS_FUSION/src/VINS-Fusion/config/realsense_d435i
(根据鼠标点击进入该目录,则在Home
下点击进入VINS_FUSION/src/VINS-Fusion/config/realsense_d435i
)目录下的realsense_stereo_imu_config.yaml
文件 ,双击打开。- 确定打开文件
- 选择需要替换的内容 ,粘贴,保存该文件。
vio_control.sh标定
注意
启动脚本之前,将p230飞机放置带有标记的地面,启动脚本成功之后需要用手拿着p230飞机移动,移动后一定要将飞机放回原位。
- 将
vio_control.sh
脚本单击拖入终端,然后回车:
- 出现六个终端
- 点击第一个终端
- 命令正常运行,没有报错。
- 第二个终端
- 点击第二个终端
- 没有持续报错,表示运行正常
- 第三个终端
- 点击第三个终端
- 持续输出数据,表示运行正常
- 第四个终端
- 点击第四个终端
- 出现以下内容表示运行正常
- 第五个终端
- 点击第五个终端
- 出现以下内容表示运行正常
- 第六个终端
- 点击第六个终端
- 出现以下内容表示运行正常
- 打开Rviz
- 点击Rviz
- 按住滚轮即可放大缩小查看
- 移动P230飞机
- 打开第二个终端,观察数据是否收敛 ,收敛后把飞机放好后,重启脚本,准备起飞测试。
注意
如果不收敛,则需要关闭干净之前介绍的运行脚本的终端,然后复制优化后的数据,再次启动脚本执行vio_control.sh标定流程,直到数据收敛。
起飞测试
- 观察飞机数据是否发散,下图一为没有发散的数据。(发散数据的轨迹会直接想栅格地图之外延伸,如下图二)
- 飞机在定点模式下飞行一定轨迹,并且稳定飞行,则标定完成,飞机断电,准备发货。
- 如果飞机在自稳模式下发散,则需要重新标定vins.sh,如果飞机在定高模式下发散,则需要重新标定vio_control.sh。