776

阿木币

1

精华

1376 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2022-3-10 11:58:29 4637 浏览 2 回复

[新手上路] Prometheus自主无人机-群内精选问答


本帖持续更新Prometheus自主无人机交流群内精选问答,
各位开发者搬好板凳,做好笔记,开始学习啦!
也欢迎大家积极贡献Prometheus项目相关问答,
开源不易,共同维护~


注:题目与答案为人工搬运,仅做解决问题参考,不一定是准确答案;如有错漏,望指正。




第一期

1、

问题:调用waypoint tracking这个执行文件时,怎么让无人机在各个航路点之间匀速飞行呢?具体是哪些参数?

答:理论上不可行,实际上可以通过一些参数设定,使得速度接近匀速,例如:把PX4里限速的参数调到最小(VEL_XY_MAX之类),基本就不会有很大速度变化了。如果是想实现理论上的匀速,则需要重新写这个文件,发送速度指令,让无人机追踪的是速度指令;或者把航点追踪换成平滑轨迹。


2、

问题:请问大家,求出轨迹之后如何使用微分平坦的几何控制器作为轨迹跟踪的控制器?

答:你这是用MPC还是用传统PID的方法呢?一般都是考虑动力学约束之后再用微分平滑类似的方法。可以参考这个教程(https://blog.csdn.net/qq_35635374/article/details/120707529


3、

问题:这一步(下附图)这么慢,是需要热点吗?

df9769c3927bd3e178dcfe2820ae668.jpg

答:搭梯子好一点,搭好之后我都是一遍过的。


4、

问题:怎么用vscode对ros进行调试?怎么把话题消息传进去 打断点调试?

答:并不会断点调试,一般cout调试即可。直接运行后终端输出。


5、

问题:鱼眼相机矫正后怎么用solvepnp呢?

答:你这是要估计相机运动吗?直接用那个solvePnP函数求对应的3d点到2d点的映射就可以了。需要同步输入对应的t平移矩阵和相机内参,就是你标定完得到的畸变矩阵。( https://blog.csdn.net/baidu_26408419/article/details/54381756


6、

问题:请问编译Prometheus代码这个 -j2-l2怎么解决啊?(下附图)

a144d5f30b8a4256dfc633e630e0526.jpg

答:error ld return 1 exit status ,属于进程报错,你重启一下再试试。


7、

问题:大佬们,用其他的无人机支不支持普罗米修斯版本的px4固件?

答:应该支持的,只要能刷进去。


8、

问题:请问遥控器其他功能都能实现,但是不能解锁(内八解不开)而只能QGC解锁是怎么回事呢?

答:要是内八解不开可能是你设置反向了,你可以设个解锁开关。参数表,选个scout,设置为41 rcin ;或者油门量最低且航向角最大情况下,遥控器正常解锁。


9、

问题:想问下Prometheus项目里面有没有关于H标识的降落程序,我只在里面看到了H的降落标识但是没有找到相关的程序。

答:开源部分目前还没有关于H标识的降落程序。


10、

问题:请问,Prometheus中对 opencv版本有没有要求呢,需不需要contrib呢,还是ros自带的opencv版本可以?

答:应该没有特别要求吧,都是按照wiki一遍过的。推荐Ubuntu18.04,不然opencv问题自行解决。


11、

问题:ros里 自带的opencv就可以?或者是nx里opencv?

答:应该是ros自带opencv就可以了,因为我在重安新系统装Prometheus没有特别去装opencv 。


12、

问题:请问编译时候遇到过这种情况(下附图)怎么解决?是不是要装opencv3.3.1_contrib库呢?运行的是编译视觉检测模块命令。

968c90ed1cfa32f811c0299fb35a795.jpg

答:是的,要装contrib。


13、

问题:关于这个问题(下附图)我在wiki上看到的解答是:仿真不能在TX2上跑,更加不推荐。仿真的合理配置是高性能的台式机。那么,这个项目可以部署在arm平台,是nx上 直接运行./compile experiment.sh 就可以?不需要运行 ./compile_all?

9dc531e2a4d173c1e05171b33c40123.jpg

答:是的。







第二期


1、

问题:请问object tracking节点里,bodyframe是载体坐标系吗?aruco 是相机坐标系吗?载体坐标系是x前y右z上,相机坐标系x右y下 z 前吗?

316eca290b7efe013d57ccc847a5be1.jpg

答:就是把相机坐标系到机体坐标系的转换,后面的值是相机安装误差。

    f963fcc213b93b9235c710f90231c84.png

2、

问题:请问offboard模式下发航点报这个错一般是什么原因?

cc9349dfe368b0a686522975810643a.jpg

答:修改警告里报错的参数。


3、

问题:换了3.4.5.20版本的opencv仿真环境里的无人机起飞后,飞走不受控制该怎么处理?

a9b1d86cdfbbe1f87d883ab3cf980f8.jpg

408aa62a32fc1401aeb7af9f7c43aa7.jpg

答:由于装了新的opencv,或许是在卸载旧opencv过程中把某些东西卸了,只需把新的opencv卸掉,重装一遍ros即可。


4、

问题:请问gazebo中相机的焦距怎么看?

35e4f0c4145508ab0aca1f0b52c95ea.png

答:在sdf文件中查看定义。                                                      

                                                                                                               

5、

问题:求助,ros下编译orbslam的时候,为什么改了路径还是不行?

60ec8f2e881401c985a587a2eed34da.png

f4313ad43e719ff8c915488f9d959a8.png

答:rosdepc init和rosdepc update再跑一次试试。


6、

问题:碰到了CMake Warning,在文件里也看到了相应的内容,不太懂这个信息的意思,需要修改什么?

10a0270a8861a0b6e83c33b74a6ab05.jpg

8be4bc0a2f0be9bfb320d36f560b8e2.jpg


答:cmakelists.txt第36行注释掉。               

bda34ad9b51d6ab019c9932ff8a65da.jpg

                                                                                                                  

7、

问题:请问已经把python文件设为可执行文件了,还是报这个错误该怎么解决?(下附图)

2fc311e635f2913daa6b48886a2c81d.png

答:一种可能是没有赋权上,可以右键该文件在属性那里看看可作为执行文件那里有没有打钩;第二种可能是Python文件你引入包没有赋权 ,或者是由Python源文件生成pyc执行文件没有赋权


8、

问题:请问在哪里改ego-planner障碍物的膨胀系数?

答:launch文件里读读每个参数的名字就知道了。




第三期

1、

问题:XYZPOS模式,指点飞行速度太快了,请问这个参数哪里可以改决?

答:QGC地面站上可以把飞控 MPC_XY_VEL_MAX 参数改小


2、

问题:请问offboard模式下,无法起飞,可能是哪个速度设置太小了?

答:查看接收机,这类属于遥控器信号丢失失控保护所致


3、

问题:one shot 执行这部分显示没有文件或目录,该怎么解决?(下附图)

68099b1837619209d4b7245829efa1f.png

答:promethues 代码更新了,需要git pull一下


4、

问题:one short里执行红色圈起来的指令出现找不到torch错误,但在python下,可以查到torch版本?(下附图)

27c60ba10b803c9a51ede9948a850cd.jpg

47da67326142e7deea6973746cbb1dc.png

f66e774a647855e15250b48906af069.png

答:电脑里有2个python版本,python3.6.9是Linux版本,python2.7 是ros版本。因为ros1不支持python3,所以需要用pip3给Python3装一个touch。


5、

问题:碰到如图示的错误该怎么解决?(下附图)

c345aa5d59929e6aafead2efe254560.jpg

答:多线程编译就会报错,尝试单线程编译,将编译指令改为/compile_all.sh  -j1


6、

问题:Prometheus里的无人机在仿真时是靠里程计定位的吗?还是直接传给飞控?

答:可以另外写一套控制器,飞控只接收速度。


7、

问题:怎么在无人机上跑其他slam,使无人机只传关键帧和地图点给主机

答:同一局域网下订阅图像话题即可。


8、

问题:请问rviz中的飞行轨迹(图中红色路线)要如何设置才能不随着时间慢慢消失?(下附图)

6573425356c30d58302e3d322535edd.png

答:pos_estimator代码里有一个宏定义,改了可以拉长线条的显示时间。


9、

问题:请问有没有遇到nx板上t265必须重新拔插usb口才能正常工作,不然就显示如下的?用的nx不是原版,因为usb口就两个,所以连了一个usb扩展坞,每次重启d435i 没有问题,t265则需要重新拔插才能正常使用,不然显示error booting t265(下附图)

96ec51c2f203b323b9d910f9ae0dbb2.jpg

答:usb扩展坞有问题,直连nx usb口可以解决。


10

问题:有人运行过px4云台目标追踪仿真吗,is_detected一直显示false ?

答:云台那个插件不是很好用,现在不建议用那个云台插件做仿真。




第四期


1、

问题:想请教下,在动态自主降落的仿真中,无人机在track几秒钟后突然俯仰角发生变化,然后停住不动丢失目标,可能是什么原因?我用的是双系统,参数没动过。

答:丢失目标了,没跟上,别搞虚拟机开发,用ubuntu原生系统,现有的参数都是调好的,不会有问题。


2、

问题:请问一下这个是什么情况(下附图)?昨天安装了显卡驱动。现在我进不了ubuntu系统,怎样操作才能进系统呢?

31a01899b8341b0a37496e46c2275df.jpg

答:驱动不匹配,你需要卸载;或者进ubuntu的命令行控制台  卸载nvidia驱动(还可以进入grub卸载,不用进入系统)。进入系统后Sudo apt-get --purge remove 名称,Sudo apt-get --purge remove nvidia-340 。


3、

问题:请问如果之前有使用过其他的基于px4的无人机仿真平台,应该不会跟普罗米修斯在例如编译之类的地方有冲突吧(普罗米修斯我用的是prometheues_px4 不是原版的px4_firmware)?

答:会冲突,之前有用过清华课程给的的 px4仿真环境,也是起冲突了。解决办法是:把bashrc下路径改一下或者删除原来的px4。


4、

问题:有人知道TFmini定高雷达可以直接连接飞控吗?需不需要转接线?

答:iic和串口的都可以,但是建议多备几根和飞控配套的接口线。我记得tfmini的接头和2.4.8还是4的接头都对不上。


5、

问题:请问普罗米修斯仿真对gazebo版本有要求吗?比如gazebo9 gazebo11之类的?

答:应该都可以,我用的就是gazebo9,不过关于gazebo可能会报一句错,找到报错点注释掉就好了。


6、

问题:px4固件 make amovlab_sitl_gazebo gazebo的时候出现报错,我把在这之前的过程都走了一遍应该是没遇到问题, issue上说重装系统然后好了,想请教下有没有其他办法?(下附图)

83f4891bd6521adfdd43b4ea09de27c.jpg

9295a7fc1e75e4f0318896e4fe838b8.jpg

答:gazebo需要9.0版本,自动更新的话 。gazebo版本会太高。


7、

问题:请问,ros多机,主机上publish自定义消息,发送给从机(笔记本),从机用rqt接受不了数据,但是主机本地是有消息的。这是什么原因(下附图)?图片倒是可以用rqt接受的。

ccaed957a6a64f315d36ed8e69868cf.png

1c73f2821fd2e7d415369256d14686b.png

答:注意看下你两台电脑的Prometheus版本是不是一致的。


8、

问题:请问多个无人机间通信用都什么模块呢?

答:阿木实验室的homer模块,预算不足的话建议用wifi就好了。


9、

问题:请教大家个问题,我树莓派和pixhawk 2.4.8通过串口连接,运行mavros在这卡住了,有人知道原因么?

fe2bf1f3730bd1d63fbc66da3783c31.jpg

答:检查一下树莓派的串口是否开启,如果你在树莓派上用的是ubuntu server,需要修改/boot/firmware/nobtcmd 和 nobconfig文件。




第五期


1、

问题:有朋友在arm Ubuntu下编译qgc成功过吗?

答:环境搞好应该可以,我在 opensuse下都编译过。


2、

问题:请问手动模式下,电机停不下来是什么情况?方向舵控制启停有点不太懂。(下附图)

image.png

答:设置怠速了吧?你调一下PWM_MIN试试。


3、

问题:请问雷迅的安全开关在哪呀?(下附图)

image.png

答:可以在这个口接安全开关。

image.png


4、

问题:机载电脑启动px4.launch是用自启动的还是每次ssh输一遍roslaunch?

答:ssh登入,在阿木看到他们的先用的nomachine再roslaunch 。


5、

问题:有人知道运行roslaunch prometheus_detection landpad_det.launch这句话报错怎么解决嘛?(下附图)

image.png


答:报错起源应该是这句:throwing an instance of ‘YAML::BadFile‘ what(): bad file   ,看别人博客写的只要补充包路径就好了。https://blog.csdn.net/qq_45701501/article/details/120535159

image.png



6、

问题:请教一个问题,在室外,给定几个gps经纬高,如何让无人机飞行经过这些目标点?

答:mavros里有 mavros/setpoint_raw/global 和/mavros/global_position/global这俩个接口,调用这个订阅发布就好了。


7、

问题:安装双系统后点击进入ubuntu系统,结果一直卡在这里进不去,有哪位大佬知道怎么解决吗?(下附图)

image.png

答:路径规划引导没装好,建议重装,选USB那个选项。


8、

问题:这个配套源码是只能用这个amovlab开头的编译吗?想加个tfmini在源码端修改。(下附图)

image.png

答:其他的也可以。


9、

问题:真机用gps定位,开始时home position偏移很大,怎么解决呀?跑官方的offboard示例直接炸机了。

答:可以写个循环,等home position稳定了再作为home position 。


10、

问题:请问,在XTdrone里用gazebo/set_model_state发送位姿给无人机模型的时候,有遇到过gazebo渲染不成功的情况吗?就是publish topic之后,如果get model state已经到了指定的地方,但是界面里面模型没有移动,需要连续多次publish才会移动,而且这种现象有时候会发生有时候又不会,这是什么原因?(gazebo的fps是31fps,real time factor是1)

答:不太清楚这个原因,建议你就循环发,多发几次。


11、

问题:真机用gps定位,开始时home position偏移很大,怎么解决呀,跑官方的offboard示例直接炸机了。

答:可以写个循环,等home position稳定了再作为home position 。





第六期


1、

问题:有自己做固定翼模型来仿真的开发者吗?请问自己做飞机模型仿真可行吗?

答:只要把里面launch模型换成固定翼就行了,固定翼和四旋翼一样都是通过姿态控制的。

问:是指把launch 文件里加载的模型换成自己的吗?我要做的模型是个双机翼(有旋翼),是个vtol 。

答:要修改plane.sdf 尝试过,比较麻烦。你看看xtdrone里面有讲模型的。


2、

问题:请问编译的时候显示没有文件或目录是什么原因?(下附图)

image.png

image.png

答:编译完成后再启动launch文件。


3、

问题:请问Promethus适合安装的jetson是哪个版本?(下附图)

image.png

答:

image.png

4、

问题:请问仿真过程的飞行日志如何下载呢?

答:通过QGC,打开即可下载。或者利用QGC使用姿态环仿真调式(PX4 智能无人机开发二次开发课程中有讲到),这是其他学员写的笔记:https://blog.csdn.net/qq_45068783/article/details/109380066


5、

问题:请问,大家在运行px4的时候有没有报过rtt too high for timesync的错误?

答:硬件串口挺容易出现这种情况,你试下usb转串口,实在不行把回传的数据调一调,数据量调小就好了。




第七期

1、


问题:autonomous_landing中这个速度用的不是在机体系下的数据吗,为什么发送的是ENU_frame,px4_sender和px4_control的MOVE模式都要机体系转ENU。

图片1.png

:最早的一版是机体系控制,后来改了算法就是ENU了。

2、

问题:无人机配合摄像头做识别,两个模块的通信都是mavlink 吗?

:不是,无人机控制模块和目标识别模块是通过ros话题通信的,MAVLink是一个非常轻量化的消息协议,主要用在地面站和无人机之间通信,无人机与无人机之间通信以及无人机机载设备之间的通信。


3、

问题:请问在make amovlab_sitl_default gazebo时出现找不到变量应该怎么解决?

:先看wiki 和issue ,那里有关于Prometheus安装问题和解决方法。

4、

问题:安装px4的时候 make amov … gazebo 报错。


图片2.png

:建议用18.04 gazebo9。

问题:装了gazebo9,noetic配套的gazebo_ros_pkgs是11的。

:换melodic重开。


5、

问题:大家有遇到过这样的问题吗?

图片3.png

:连接超时,需要搭梯子。

问题:按网上指导,执行了这两步还是没解决。


图片4.png

:装一个proxychains。

问题:

图片5.png


:红框里的部分根据你梯子的设置改,然后在你指令前打proxychains git clone xxxxx。

6、

问题:请问,大家在运行px4的时候有没有报过rtt too high for timesync的错误?

答:硬件串口挺容易出现这种情况,你试下usb转串口,实在不行把回传的数据调一调,数据量调小就好了。




第八期

1、

问题:请问有人用promethues运行ego planner成功的吗? 我按照wiki的bash文件,打开就出现不同情况的卡死,原版的ego planner是可以正常运行的,prometheus的其他功能也可以运行。(下附图)

image.png
image.png

:你得用系统管理器把和ros有关的进程都去掉,上面图中r部分就是因为节点重复启动导致不能正常运行。


2、

问题:请问kcf算法是用在视频中跟踪目标吗,object tracking节点就是无人机追踪时的决策(有目标就追踪,无目标就悬停),kcf算法是用来缓解程序每一帧都识别检测的运算量?

:对的,kcf跟踪可以针对任意物体,通用性强一些。


3、

问题:新构建的环境,编译都通过了,但是启动不了,请问是什么原因呢(下附图)

9862e22267e8ec58321ddf956b0d998.jpg

e42d80b6b21832ed585e6605ad9c308.jpg

答:虚拟机要在.bashrc添加 export SVGA_VVGPU10=0  。


4、

问题:请问分布式模块, 是用规划模块里的  ego-planner-swarm  实现的吗?

答:主流的算法都是一样的。





第九期(常见报错解答)

1、

问题:显示no valid data from Baro #0 ,这是什么原因呢?(下附图)

image.png

答:不应该要融合baro,融合的是vision,这是固件或者参数问题,把px4固件重新编译一下,仔细检查版本,实在不行,都删了重装安装和编译。


2、

问题:在安装环境过程中出现the system installation is aborted,这种情况应该如何解决​呢?(下附图)

image.png

答:在虚拟机中安装系统容易出现此类报错,可以把虚拟磁盘内存适当放大,选用40g。


3、

问题:之前做仿真都没有问题,但是最近开每个仿真都会报错process has died[pid 17718 ​,如何解决呢?(下附图)

image.png

答:可以使用killall gzclient && killall gzserver 将gazebo的客户端和服务端进程完全关闭,也可以打开任务管理器搜ros有关的都关掉,然后重新运行。


4、

问题:编译./compile_control.sh的时候报这个错,看了对应的.h文件,ugv_state没有定义battery这个变量,应该​如何解决呢?(下附图)

image.png

答:可以正常编译,不做无人车项目就先不用管这个错误。


5、

问题:出现图中这个问题应该如何解决?(下附图)

image.png

答:安装必备依赖项sudo apt install xmlstarlet,检查启动的脚本以及launch文件是否有语法错误,比如符号多增加或者减少。

image.png


6、

问题:显示Parmeter MPC_Z_VEL_MAX_DOWN not found ,如何解决呢?(下附图)

image.png

答:不影响,没有这个参数,所以写不进去。由于PX4版本固件不同,所以该参数并非所有版本都适用,所以遇到这个报错,可以忽略不影响,我们也尽快修复此问题。


7、

问题:测试PX4 Missing model.config for model,这个如何解决?(下附图)

image.png

答:运行这段报错不影响运行,可以不用管他,主要看模型有没有正常跑出来。


8、

问题:在测试ego_test.sh的时候,找不到ego_planner_node和traj_server两个节点是什么原因?(下附图)

image.png

image.png

答:根据报错提示显示是没有ego_planner_node和traj_server两个节点,可以删除所有编译文件(build和devel),重新编译ego相关编译脚本,就生成这两个node了。


9、

问题:​显示cannot launch node of type​,这个如何解决呢?(下附图)

image.png

答:从报错可以看到,没有找到prometheus_swarm_control相关节点,没有编译集群相关编译脚本,或者source失败,系统找不到node。建议检查自己的环境变量文件.bashrc是否正常。


10、

问题:libreaksense2-dkms 无法定位文件,如何解决?(下附图)

image.png

答:使用脚本进行自动安装,可以选编译。realsense驱动的安装,参考realsense官网(https://github.com/jetsonhacks/installRealSenseSDK)​。



11、

问题:请问大家运行./compile_planning.sh的时候出现过各种未定义的引用的错误吗?

image.png

回答是cmake版本的问题,升级到3.15版本就好了,大家有类似问题的可以参考这个方法。


12、

问题:请问,在运行make px4_sitl gazebod 时候,显示没有安装numpy,之后我安装成功了,再次运行make px4_sitl gazebo,为什么还出现没有安装numpy ? 用的python是2.7版本的。(下附图)

image.png

回答应该是make px4_sitl gazebo 用的python环境和你安装numpy发的python环境不一致。建议先了解缺少numpy包的python环境,针对缺包的python环境安装对应的numpy。


13、

问题:用make amov_sitl gazebo_p450然后打开mavros 运行px4官网的demo_node节点可以正常起飞,但用roslaunch px4 mavros_posix_sitl.launch却飞不起来,这是什么原因?(下附图)

image.png

image.png


回答:官方demo跑不了的,运行mavros_posix_sitl.launch文件,默认定位是aid和hgt都是vision传进去的。可以把ekf2_vision改为ekf2_gps,可以把ekf2_vision改为ekf2_gps。


14、

问题:如果想要直接传入参数控制作动器,不用这种方式的话,应该怎么做呢?

image.png

回答:这是11.0以后版本才支持的,Mavros记得用新的包。


15、

问题:Mavros发送ActuatorControl给飞控出现SET_ACTUATOR_CONTROL_TARGET not supported withlockstep enabled这个错误,这是什么原因呢?

image.png

image.png

回答:lockstep置disable。


16、

问题:请问Disable Lockstep Simulation具体的原理是什么?根据官网置disable以后,IMU等估计的状态都失效了,仿真飞机都是Not ready to fly?

image.png

回答:设置actuator没什么作用,建议别用这个控制方式


17、

问题:运行ros_2Dnav_demo_px4.launch时,报错找不到ros_navigation。可是这个包我已经装过了,这是什么原因呢?


回答:是因为没编译成功,建议git检查代码完整性,然后重新编译。




第十期(硬件与载板问题解答)

1、

问:在英伟达的板子上跑仿真Mavros一直连不上,换了板子重装也不行,这是什么原因?

答:仿真不能在tx2上跑,更加不推荐,仿真的合理配置是高性能的台式机。


2、

问题:树莓派4B上可以运行Prometheus项目吗?

答:控制模块可以,一些基于深度学习处理的视觉模块不行。


3、

问题:Prometheus的slam模块在xavier上编译时候报“缺少emmintrin.h”这个错,我查的这个头文件只有x86架构才有,那这个仿真可以直接抄到 arm64上吗?

答:仿真不能在arm平台运行,项目可以部署在arm平台。换个Intel NUC的话,是 x86架构,就可以直接部署了。也可以直接在阿木实验室的淘宝店铺,购买已刷写好镜像的仿真电脑。


4、

问题:如何把TX2得到的双目视觉的图像信息传输到地面端?

答:可以加图传,或nomachine远程登录,或使用推流。Prometheus官方wiki中有介绍。


5、

问题:PX4接Jetson nano和 nx,接(6 8 10)的引脚,cat /dev/ttyTHS1  nano会有数据传输,但是换成nx就没有,这是什么原因呢?

答:THS1改成0,Ubuntu设备的串口号输入错误。


6、

问题:如果用Optitrack来做定位的话,编队飞行那一部分,请问在哪里修改来替代T265获取位置信息?Optitrack发布多个位置信息,每架飞机怎么来订阅对应自己的位置呢?

答: image.png


7、

问题:连接P450的时候,nomachine拒绝连接“refused to establish a network connection on port 4000”这是什么原因?(下附图)

image.png

答:是nomachine版本不一致导致的这个问题,PC的版本和机载计算机的版本不一致。


8、

问题:实机实现EGOPlanner的话,机载电脑用树莓派或Nano可以吗?必须得是TX2或NX吗?

答:树莓派和Nano都可以,做VINS还是推荐用NX。




第十一期(基础知识与PX4飞控使用问题解答)


1、

问题:请问什么传感器可以测量无人机的功率?

答:可以通过电流计得到无人机电流大小,然后通过公式P=UI 计算功率。


2、

问题:启动Gazebo遇到这个情况,Gazebo自动结束,这种情况如何解决?(下附图)

image.png


答:这个是虚拟机跑Gazebo的通病,不建议使用虚拟机运行Gazebo和ROS


3、

问题:飞机速度信息可以短时间内估算位置吗?

答:加速度计、磁力计、陀螺仪这三个可以测出姿态信息,建议看一下阿木实验室的PX4固件二次开发课程:https://bbs.amovlab.com/plugin.php?id=zhanmishu_video:video&mod=video&cid=6


4、

问题:如果在室外用GPS飞行的话,世界坐标系的原点是起飞点吗?

答:是开机时的那个点


5、

问题:Ubuntu怎么科学上网呢?

答:

①参考这个办法(https://blog.csdn.net/jasdhasd/article/details/105607125)。

②从github上下载下来,把要访问的github网址全改成本地路径(https://blog.csdn.net/nanianwochengshui/article/details/105702188 )。


6、

问题:请问切换prometheus_px4飞控固件分支至prometheus_swarm,这个步骤应该怎么操作?后面的控制节点怎么加进去?

image.png

答:在prometheus_px4文件夹内终端git branch -a可以看到分支,git checkcout (name)可以切换分支。


7、

问题:想请问下px4_sitl中的 MAV_BROADCAST 这个参数在哪里设置,是在启动脚本rcs文件中吗?


答:可以直接QGC中修改,也可以在rcs中写定。


8、

问题:请问如何解除PX4的自稳限制?

答:多旋翼的manual模式背后就是自稳模式,不想要自稳,飞行模式不设置自稳就可以。



9、

问题:Nomachine连接Ubuntu系统,Ubuntu系统无法铺满整个桌面,这个怎么设置下

答:在etc/profile下面修改系统分辨率,然后重启,或者三四块钱买个显卡欺骗器,在NVIDIA Nano上面好用,忽悠系统有个显示器。(下附图)

image.png



10、

问题:关于PX4小车的开发问题,pixhawk4有8个I/O口,飞行电机占了4个,想利用剩下的4个I/O口输出pwm信号,想直接将遥控器上的三段开关映射到I/O口,是否可行,如果可行怎么才能做到?

答:代码不支持,可以通过修改pwm输出的代码实现。



第十二期(算法与高级开发问题解答

1、

问题:用位置环进行轨迹追踪,绿色线为期望轨迹,红色线为运行轨迹,为何相差这么大?而且红色线看起来像是随机运动的?(下附图)

image.png

答:预估是T265出了问题,导航数据发散,导致位置定位不准。以前也有其他开发者在真机中遇到过T265出问题导致红线乱飘的情况 ,如果是仿真就不会飘,仿真和T265没关系。


2、

问题:阿木实验室里的位置环控制器的二次开发,请问里面有用到T265吗?

答:控制算法二次开发可以使用任何导航信息,包括T265。


3、

问题:地理围栏设置后没有作用是什么原因?原本设置了1m,可是坐标点跑出1.5m都没有反应。这个参数设置我是在px4_pos_controller.cpp里改的,然后重新编译了control模块,我用的是实机,室内用的T265。(下附图)

image.png

image.png

答:检查一下参数是否读取到了,有可能是该话题没消息,回调函数没执行,所以超了地理围栏也没反应,尝试一下把判断地理围栏的函数写到获取无人机状态的回调函数里。


4、

问题:下图一是启动多机仿真的launch文件,指定了无人机编号,但是在实机测试的时候不需要启动这个launch文件,请问在图二中的uav0或者uav1怎么进行访问呢?

答:实机也是要启动mavros的,在启动真机mavros的launch文件时加上命名空间就可以了。


5、

问题:请问Prometheus里面穿框用的框的gazebo模型如何设置碰撞属性呢?,我自己添加了别的形状stl文件,替换了里面的框形状的stl文件,但是前者不具有碰撞属性,后者是具有的,我是用catia画的模型然后转成stl文件的。

答:感觉是你的stl的问题,因为阿木那个stl就没问题,建议换solidworks试试。


6

问题:用激光雷达开发px4的防撞功能Collision Prevention,我通过机载计算机发送的/mavros/obstacle/send消息,飞控也收到了,在靠近墙壁的时候QGC也提示检测到了障碍物,但是障碍物的方向检测得不对,具体表现就是在靠近墙壁之后无法手控远离墙壁,只能继续靠近墙壁。一开始以为是数据方向错了,之后又修改了周围障碍物信息的方向,但是飞控还是无法正确确认障碍物方向,这是什么原因呢?

答:雷达掉个方向,雷达装反了会有这个现象。电机顺序插线换一下,机头就变了。


7、

问题:Gazebo里无人机只能飞50m,我想飞100m需要改world吗?改了launch没有用。(下附图)


答:

image.png

image.png


设置控制算法中的geo_fence地理围栏参数,改大一点。跑的是哪个launch就对应找一下参数文件在哪。跑的launch所调用的所有文件,即使看不懂,也要过一遍。


8、

问题:请问Promentheus 只能用在多旋翼上吗?固定翼飞机能用这个进行二次开发吗?

答:可以。


9、

问题:请问合并了两个launch文件后,飞机为什么一直停在takeoff这一步了?(下附图)

image.png

答:command id没有累加导致的。


10、

问题:室内飞行用T265太飘,控制不住,有其他方法能让飞行更稳一点的吗?

答:推荐mocap。





第十三期

1、

问题:这个错误有人遇到过吗?安装镜像的时候报错的。

image.png

答:这个镜像系统虽然装好Prometheus全部内容,但兼容性比较差,不太容易装成功。建议按照使用手册进行安装,使用Ubuntu原生系统按照步骤来是没有问题,我们内部也多次安装测试过。https://wiki.amovlab.com/public/prometheus-wiki/  。


2、

问题:想问下/mavros/local_position/pose中的orientation和mavros/imu/data中的orientation有什么区别吗?

回答:可以看一下mavros wiki  ,http://wiki.ros.org/mavros  。


3、

问题:有遇到这种情况的吗?rtk得不到固定解。

image.png

回答:在mavlink console 里面看gps status,看fix_type。或者可以看一下这个http://docs.ros.org/en/api/mavros_msgs/html/msg/GPSRAW.html ,里面有对这个变量的介绍,你这个应该是纠偏数据没有传到飞控了,确认一下这一块是什么原因吧,检查一下数据对不对。


4、

问题:大家有遇到过这个问题吗?

image.png

回答:你可以看看先确定下到底有没有这个文件。


5、

问题:PX4侧翻后电机一直再转是怎么回事?遥控器上锁也没反应。

回答:侧翻和电机转没有关系 你不上锁就会转。


6、

问题:想把这改成aloam算法形成的点云,这个应该是什么思路?

image.png

回答:规划算法会订阅点云,把话题对应上。


7、

问题:launch文件设置了gazebo仿真中飞机的起始位置(9、9)后,ros中获取位置信息并没有改变,还是(0、0),请问要怎么修改呢?

回答:设置那个位置的gazebo里面的位置,但是无人机GPS定位是以初始位置为(0,0,0)点。


8、

问题:gazebo的world在哪里下载的呢?

回答:想找world 可以再github多搜搜,有很多。






第十四期

1、

问题:ros启动无人机仿真报错no gps fix,报这个错误以后qgc地面站就接收不到数据,无人机也不能正常起飞,是什么原因?(下附图)

image.png

回答:无人机GPS状态异常,所以无法正常起飞。把.ros下面的那些无人机参数文件清理一下重启一下试一试。


2、

问题:这种情况怎么解决?(下附图)

image.png

回答:你想运行普罗米修斯-v1,请将普罗米休斯切换到v1.1分支,并将prometheus_px4切换到1.11.1分支。

image.png


3、

问题:我想让无人机自主飞一个圆,仿真中的程序使用的是模拟遥控器以及控制的是gazebo中的飞机,请问怎么适配才能在真机中飞行?

回答:真实飞机使用遥控器开关,开关设置要和仿真保持一致的设置。


4、

问题:问题如下,下附图。

image.png

image.png

image.png

image.png

回答:你使用的遥控器和推荐的遥控器不一致,如果要使用需要修改遥控器的信号输出和软件代码进行适配,建议你看一下uav_control子模块的源码。我们推荐的富斯I6S遥控器是没有问题的,代码是和这个遥控器配套的,并且在Prometheus使用手册里面有教程。

image.png


5、

问题:自动飞行遇到arm reject by px4是什么问题呢?有时候重启一次就好使了。然后遥控器控制无人机起飞也好使。

回答:.ros下面的无人机配置文件删掉试看看。


6、

问题:请问有没有人调机载pc和飞控的通讯时,运行 roalaunch mavros  px4.launch,只要飞控和pc连接了,就会报这个错,或者一开始就会报这个错。

image.png

image.png


回答:串口配置出错。






第十五期


1、

问题:运行astar-3dlidar.launch输入1解锁后在rviz界面用3dnav goal设置目标点后,无人机不动,这是哪里的问题?(下附图)

image.png

image.png

回答:看一下官网的Prometheus使用手册,确认版本对不对。


2、

问题:想咨询下,prometheus v2有支持基于吊舱跟踪的相关功能吗?

回答:那个要购买硬件,开源项目仅有一些简易demo。


3、

问题:请问多旋翼飘得厉害,跟喝醉一样,什么情况,就QGC 控制takeoff。QGC没报错,定位的话用的RTK(当gps用的,没上地面站),直接QGC控制起飞,不是offboard,不清楚出了什么问题。

回答:喝醉了可能是航向问题,磁罗盘。


4、

问题:QGC没报错,定位的话用的RTK(当gps用的,没上地面站),直接QGC控制起飞,不是offboard,不清楚出了什么问题,想想应该是定位问题,但是不清楚解决的方向。

回答:磁罗盘。


5、

问题:v2是没有A星路径规划的内容了吗?现在想做A星路径规划只能暂时用1.11版本对吗?

回答:很快会更新,是的。


6、

问题:请问手册上面的仿真无人机控制状态的切换必须要用的遥控器吗?对遥控器的品牌有要求吗,还是要手册里面的那个?

回答:对,建议使用指定的。


7、

问题:请问识别静态和动态靶标,自主降落部分也会在后面更新吗?

回答:是的。


8、

问题:有T265定高和定点代码吗?

回答:看项目代码。直接去github上下载。


9、

问题:Gazebo里需要考虑四旋翼的正反浆吗?

回答:看一下Prometheus项目里面无人机仿真模型的源码。


10、

问题:这个情况怎么解决呢?(下附图)

image.png

回答:重新启动一下仿真看一下能不能正常运行,如果可以就没啥问题。https://wiki.amovlab.com/public/prometheus-wiki/

image.png


11、

问题:创建有GPU的conda虚拟环境,创建没问题,pip出错,网上搜这个版本也搜不到。请问有人知道这怎么解决吗?

回答:具体的版本号可以在requirements.txt将其删除,自动下载匹配的版本号。


12、

问题:请问如果安装了v1版本,也安装了v2版本,环境之间会影响吗?

回答:会,mavros不一样。


13、

问题:激光点云发布话题是一帧一帧发布的吗?

回答:是的。大部分信息都是。


14、

问题:请问仿真的遥控器通道功能可以自主修改吗?

回答:可以修改。


15、

问题:这个启动节点没反应,也不报错,谁知道是因为什么吗?

image.png

回答:你看你程序是怎么写的,看着像什么都没操作就结束了。


16、

问题:在真机飞行时,SWD拨到下面,这时无人机处于什么COMMAND_CONTROL还是 RC_POS_CONTROL模式呢?仿真中SWD是Land模式,真机中SWD应该是OFFBOARD模式吧?

回答:处于land,那是最高优先级。仿真和真机逻辑一致,wiki中都有写。


17、

问题:高度不起作用是什么原因呢?(下附图)

image.png

回答:这是海拔高度,你要的应该是相对高度。






第十六期

1、

问题:激光点云发布话题是一帧一帧发布的吗?

答:是的


2、

问题:相机能看到红色的圈,无人机这样是错的方向吗?

image.png

答:使用v1版本,请注意版本切换,目前v1版本圆框穿越demo是正常的。


3、

问题:Pixhawk4飞控怎么控制舵机?

答:可以用遥控器控制飞控的辅助通道,搜索px4的aux。


4、

问题:Prometheus 这个镜像能给jetson nano用吗?

答:仿真镜像是针对x86架构的,nano是arm架构,无法仿真。


5、

问题:输入999后终端报的警告,无法解锁?

image.png

答:一般情况下都是px4插件列表中黑名单里面有global_position,把这个去掉就好了






第十七期


1、

问题:大家有遇到过这个问题吗,和d435i相机有关的。上次运行还好好的,这次就无法接受到数据了。直接编译real sense文件,运行里面的launch文件也是接受不到信息。但在real sense的sdk 软件上是可以看到图像的。


                               
登录/注册后可看大图

答:可以重新插拔一下USB接口,通过rs-sensor-control查看是否识别软硬件识别正常。


2、

问题:vscode里边这个头文件路径设置有没有具体的方法呢?配置了俩点儿还是找不到头文件。


                               
登录/注册后可看大图

答:cmakelist里有find package(boost),你用哪个编译,就看哪个cmakelist。


3、

问题:这个通过mavros通讯,提高imu发布频率,需要修改里面的哪些参数呢?


                               
登录/注册后可看大图

答:修改参数不行,要修改mavlink源文件。


4、

问题:想问一下,无人机路径规划那部分,全局点云地图是怎么生成的啊?就是maps文件下的obstacle.pcd是怎么生成的啊 (v1.0版)。

答:https://github.com/amov-lab/Prometheus/blob/v1.1/Modules/slam/src/map_building/pointcloud2_saver_node.cpp


5、

问题:麻烦问一下我执行compile detection的时候出现这个错误,可能是什么原因?我看功能包里有darknet-ros,所以就没装yolov5。


                               
登录/注册后可看大图

答:这个不是报错,子模块是可选编译项。子模块需要单独下载,具体参考wiki   https://github.com/amov-lab/Prom ... 3%E5%8F%B0%EF%BC%89


6、

问题:Prometheus中自动降落这个功能现在是不是去掉了?旧版本的话是不是还能使用?

答:是的,这个功能目前已经删去了。旧版本的二维码降落是可以使用的 https://github.com/amov-lab/Prom ... B%E9%99%8D%E8%90%BD


7、

问题:Prometheus v1版本,和对应的Prometheus-px4v1.11,实际上可以运行控制模块的吗?

答:V1版本和V2版本只要分支对应正常且环境配置正确,都是可以正常运行的。


8、

问题:这个测试文件以前能运行,为什么现在不可以了?是环境变量设置有问题吗?


                               
登录/注册后可看大图

答:可以用roscd命令测试一下系统能不能找到prometheus_gazebo这个功能包。如果找不到的话,那就是环境变量有问题。


9、

问题:Prometheus仿真v2版本不支持吊舱了是吗?

答:吊舱在v1中的仿真并不完美,就删掉了。





第十八期


1、

问题:wifi延迟好几秒甚至十几秒是什么原因呢?我同样的设备一个3ms另一个2000ms,都是用的树莓派,但是nomachine远程连接树莓派的时候,树莓派插着显示屏可以连接,拔了就不能远程连接了。

答:建议使用ssh远程连接,前者因为要传输画面所以延迟要高一些,还有就是跟网络质量,以及书梅派连接网络的方式有关。或者使用更好的wifi,以及给树莓派加天线或者加无线网卡。


2、

问题:官方镜像做的系统盘安装到了这一步跟wiki上给的不一样,怎么设置挂载点呢?(下附图)

image.png

答:这个是根据不同设备来的,每个分区什么,分多少都有根据的。https://blog.csdn.net/sinat_38363122/article/details/115765230

image.png


3、

问题:请问在测试prometheus_px4时,一直卡在这里要怎么解决呢?(下附图)

image.png

答:百度一下这个报错(下附图)。

image.png


4、

问题:运行仿真时的报错,bashrc里面路径都添加了,请问有朋友遇到过类似情况吗?

答:这个问题应该是路径原因,你再仔细检查一下,或者先source 然后重启一下。


5、

问题:安装ubuntu有遇到这个问题解决的吗?

image.png

答:分区引导出错,prometheus wiki上有示例https://wiki.amovlab.com/public/prometheus-wiki/


6、

问题:大家有没有人遇到过这种情况呀?

image.png

答:你看看是不是端口没有赋予权限https://mp.weixin.qq.com/s?__biz ... =19#wechat_redirect


7、

问题:飞机的板载计算机内存能不能扩展?

答:这个根据你的板载计算机是什么来决定的,扩展的话除了那种带有内存槽的可以扩展,其他的基本不行,建议购买的时候就确定好。






第十九期


1、

问题:这个问题是什么原因呢?

image.png

答:搜一下这个error,少个链接库,网上有解决方法。


amov_jiayue已获得悬赏 3 阿木币

最佳答案

注:题目与答案为人工搬运,仅做解决问题参考,不一定是准确答案;如有错漏,望指正。

扫一扫浏览分享
回复

使用道具 举报

3

阿木币

0

精华

5 小时

在线时间

应届白菜

Rank: 1

发表于 2022-5-28 22:32:01
我在为waypointstracking里面增加了两个目标点,在对应的yaml文件里面也在设置了两个点,并且代码都编译过了,但是在实际飞行的时候新增的两个没有执行,是还有什么要修改的地方吗
回复 点赞

使用道具 举报

776

阿木币

1

精华

1376 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

 楼主| 发表于 2022-10-17 12:06:39
注:题目与答案为人工搬运,仅做解决问题参考,不一定是准确答案;如有错漏,望指正。
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表