第九期(常见报错解答)
1、
问题:显示no valid data from Baro #0 ,这是什么原因呢?(下附图)
答:不应该要融合baro,融合的是vision,这是固件或者参数问题,把px4固件重新编译一下,仔细检查版本,实在不行,都删了重装安装和编译。
2、
问题:在安装环境过程中出现the system installation is aborted,这种情况应该如何解决呢?(下附图)
答:在虚拟机中安装系统容易出现此类报错,可以把虚拟磁盘内存适当放大,选用40g。
3、
问题:之前做仿真都没有问题,但是最近开每个仿真都会报错process has died[pid 17718 ,如何解决呢?(下附图)
答:可以使用killall gzclient && killall gzserver 将gazebo的客户端和服务端进程完全关闭,也可以打开任务管理器搜ros有关的都关掉,然后重新运行。
4、
问题:编译./compile_control.sh的时候报这个错,看了对应的.h文件,ugv_state没有定义battery这个变量,应该如何解决呢?(下附图)
答:可以正常编译,不做无人车项目就先不用管这个错误。
5、
问题:出现图中这个问题应该如何解决?(下附图)
答:安装必备依赖项sudo apt install xmlstarlet,检查启动的脚本以及launch文件是否有语法错误,比如符号多增加或者减少。
6、
问题:显示Parmeter MPC_Z_VEL_MAX_DOWN not found ,如何解决呢?(下附图)
答:不影响,没有这个参数,所以写不进去。由于PX4版本固件不同,所以该参数并非所有版本都适用,所以遇到这个报错,可以忽略不影响,我们也尽快修复此问题。
7、
问题:测试PX4 Missing model.config for model,这个如何解决?(下附图)
答:运行这段报错不影响运行,可以不用管他,主要看模型有没有正常跑出来。
8、
问题:在测试ego_test.sh的时候,找不到ego_planner_node和traj_server两个节点是什么原因?(下附图)
答:根据报错提示显示是没有ego_planner_node和traj_server两个节点,可以删除所有编译文件(build和devel),重新编译ego相关编译脚本,就生成这两个node了。
9、
问题:显示cannot launch node of type,这个如何解决呢?(下附图)
答:从报错可以看到,没有找到prometheus_swarm_control相关节点,没有编译集群相关编译脚本,或者source失败,系统找不到node。建议检查自己的环境变量文件.bashrc是否正常。
10、
问题:libreaksense2-dkms 无法定位文件,如何解决?(下附图)
答:使用脚本进行自动安装,可以选编译。realsense驱动的安装,参考realsense官网(https://github.com/jetsonhacks/installRealSenseSDK)。
11、
问题:请问大家运行./compile_planning.sh的时候出现过各种未定义的引用的错误吗?
回答:是cmake版本的问题,升级到3.15版本就好了,大家有类似问题的可以参考这个方法。
12、
问题:请问,在运行make px4_sitl gazebod 时候,显示没有安装numpy,之后我安装成功了,再次运行make px4_sitl gazebo,为什么还出现没有安装numpy ? 用的python是2.7版本的。(下附图)
回答:应该是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却飞不起来,这是什么原因?(下附图)
回答:官方demo跑不了的,运行mavros_posix_sitl.launch文件,默认定位是aid和hgt都是vision传进去的。可以把ekf2_vision改为ekf2_gps,可以把ekf2_vision改为ekf2_gps。
14、
问题:如果想要直接传入参数控制作动器,不用这种方式的话,应该怎么做呢?
回答:这是11.0以后版本才支持的,Mavros记得用新的包。
15、
问题:Mavros发送ActuatorControl给飞控出现SET_ACTUATOR_CONTROL_TARGET not supported withlockstep enabled这个错误,这是什么原因呢?
回答:lockstep置disable。
16、
问题:请问Disable Lockstep Simulation具体的原理是什么?根据官网置disable以后,IMU等估计的状态都失效了,仿真飞机都是Not ready to fly?
回答:设置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发布多个位置信息,每架飞机怎么来订阅对应自己的位置呢?
答:
7、
问题:连接P450的时候,nomachine拒绝连接“refused to establish a network connection on port 4000”这是什么原因?(下附图)
答:是nomachine版本不一致导致的这个问题,PC的版本和机载计算机的版本不一致。
8、
问题:实机实现EGOPlanner的话,机载电脑用树莓派或Nano可以吗?必须得是TX2或NX吗?
答:树莓派和Nano都可以,做VINS还是推荐用NX。
第十一期(基础知识与PX4飞控使用问题解答)
1、
问题:请问什么传感器可以测量无人机的功率?
答:可以通过电流计得到无人机电流大小,然后通过公式P=UI 计算功率。
2、
问题:启动Gazebo遇到这个情况,Gazebo自动结束,这种情况如何解决?(下附图)
答:这个是虚拟机跑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,这个步骤应该怎么操作?后面的控制节点怎么加进去?
答:在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上面好用,忽悠系统有个显示器。(下附图)
10、
问题:关于PX4小车的开发问题,pixhawk4有8个I/O口,飞行电机占了4个,想利用剩下的4个I/O口输出pwm信号,想直接将遥控器上的三段开关映射到I/O口,是否可行,如果可行怎么才能做到?
答:代码不支持,可以通过修改pwm输出的代码实现。
第十二期(算法与高级开发问题解答)
1、
问题:用位置环进行轨迹追踪,绿色线为期望轨迹,红色线为运行轨迹,为何相差这么大?而且红色线看起来像是随机运动的?(下附图)
答:预估是T265出了问题,导航数据发散,导致位置定位不准。以前也有其他开发者在真机中遇到过T265出问题导致红线乱飘的情况 ,如果是仿真就不会飘,仿真和T265没关系。
2、
问题:阿木实验室里的位置环控制器的二次开发,请问里面有用到T265吗?
答:控制算法二次开发可以使用任何导航信息,包括T265。
3、
问题:地理围栏设置后没有作用是什么原因?原本设置了1m,可是坐标点跑出1.5m都没有反应。这个参数设置我是在px4_pos_controller.cpp里改的,然后重新编译了control模块,我用的是实机,室内用的T265。(下附图)
答:检查一下参数是否读取到了,有可能是该话题没消息,回调函数没执行,所以超了地理围栏也没反应,尝试一下把判断地理围栏的函数写到获取无人机状态的回调函数里。
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没有用。(下附图)
答:
设置控制算法中的geo_fence地理围栏参数,改大一点。跑的是哪个launch就对应找一下参数文件在哪。跑的launch所调用的所有文件,即使看不懂,也要过一遍。
8、
问题:请问Promentheus 只能用在多旋翼上吗?固定翼飞机能用这个进行二次开发吗?
答:可以。
9、
问题:请问合并了两个launch文件后,飞机为什么一直停在takeoff这一步了?(下附图)
答:command id没有累加导致的。
10、
问题:室内飞行用T265太飘,控制不住,有其他方法能让飞行更稳一点的吗?
答:推荐mocap。
问题:这个错误有人遇到过吗?安装镜像的时候报错的。
答:这个镜像系统虽然装好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得不到固定解。
回答:在mavlink console 里面看gps status,看fix_type。或者可以看一下这个http://docs.ros.org/en/api/mavros_msgs/html/msg/GPSRAW.html ,里面有对这个变量的介绍,你这个应该是纠偏数据没有传到飞控了,确认一下这一块是什么原因吧,检查一下数据对不对。
4、
问题:大家有遇到过这个问题吗?
回答:你可以看看先确定下到底有没有这个文件。
5、
问题:PX4侧翻后电机一直再转是怎么回事?遥控器上锁也没反应。
回答:侧翻和电机转没有关系 你不上锁就会转。
6、
问题:想把这改成aloam算法形成的点云,这个应该是什么思路?
回答:规划算法会订阅点云,把话题对应上。
7、
问题:launch文件设置了gazebo仿真中飞机的起始位置(9、9)后,ros中获取位置信息并没有改变,还是(0、0),请问要怎么修改呢?
回答:设置那个位置的gazebo里面的位置,但是无人机GPS定位是以初始位置为(0,0,0)点。
8、
问题:gazebo的world在哪里下载的呢?
回答:想找world 可以再github多搜搜,有很多。
问题:ros启动无人机仿真报错no gps fix,报这个错误以后qgc地面站就接收不到数据,无人机也不能正常起飞,是什么原因?(下附图)
回答:无人机GPS状态异常,所以无法正常起飞。把.ros下面的那些无人机参数文件清理一下重启一下试一试。
2、
问题:这种情况怎么解决?(下附图)
回答:你想运行普罗米修斯-v1,请将普罗米休斯切换到v1.1分支,并将prometheus_px4切换到1.11.1分支。
3、
问题:我想让无人机自主飞一个圆,仿真中的程序使用的是模拟遥控器以及控制的是gazebo中的飞机,请问怎么适配才能在真机中飞行?
回答:真实飞机使用遥控器开关,开关设置要和仿真保持一致的设置。
4、
问题:问题如下,下附图。
回答:你使用的遥控器和推荐的遥控器不一致,如果要使用需要修改遥控器的信号输出和软件代码进行适配,建议你看一下uav_control子模块的源码。我们推荐的富斯I6S遥控器是没有问题的,代码是和这个遥控器配套的,并且在Prometheus使用手册里面有教程。
5、
问题:自动飞行遇到arm reject by px4是什么问题呢?有时候重启一次就好使了。然后遥控器控制无人机起飞也好使。
回答:把.ros下面的无人机配置文件删掉试看看。
6、
问题:请问有没有人调机载pc和飞控的通讯时,运行 roalaunch mavros px4.launch,只要飞控和pc连接了,就会报这个错,或者一开始就会报这个错。
回答:串口配置出错。
问题:运行astar-3dlidar.launch输入1解锁后在rviz界面用3dnav goal设置目标点后,无人机不动,这是哪里的问题?(下附图)
回答:看一下官网的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、
问题:这个情况怎么解决呢?(下附图)
回答:重新启动一下仿真看一下能不能正常运行,如果可以就没啥问题。https://wiki.amovlab.com/public/prometheus-wiki/
11、
问题:创建有GPU的conda虚拟环境,创建没问题,pip出错,网上搜这个版本也搜不到。请问有人知道这怎么解决吗?
回答:具体的版本号可以在requirements.txt将其删除,自动下载匹配的版本号。
12、
问题:请问如果安装了v1版本,也安装了v2版本,环境之间会影响吗?
回答:会,mavros不一样。
13、
问题:激光点云发布话题是一帧一帧发布的吗?
回答:是的。大部分信息都是。
14、
问题:请问仿真的遥控器通道功能可以自主修改吗?
回答:可以修改。
15、
问题:这个启动节点没反应,也不报错,谁知道是因为什么吗?
回答:你看你程序是怎么写的,看着像什么都没操作就结束了。
16、
问题:在真机飞行时,SWD拨到下面,这时无人机处于什么COMMAND_CONTROL还是 RC_POS_CONTROL模式呢?仿真中SWD是Land模式,真机中SWD应该是OFFBOARD模式吧?
回答:处于land,那是最高优先级。仿真和真机逻辑一致,wiki中都有写。
17、
问题:高度不起作用是什么原因呢?(下附图)
回答:这是海拔高度,你要的应该是相对高度。
1、
问题:激光点云发布话题是一帧一帧发布的吗?
答:是的
2、
问题:相机能看到红色的圈,无人机这样是错的方向吗?
答:使用v1版本,请注意版本切换,目前v1版本圆框穿越demo是正常的。
3、
问题:Pixhawk4飞控怎么控制舵机?
答:可以用遥控器控制飞控的辅助通道,搜索px4的aux。
4、
问题:Prometheus 这个镜像能给jetson nano用吗?
答:仿真镜像是针对x86架构的,nano是arm架构,无法仿真。
5、
问题:输入999后终端报的警告,无法解锁?
答:一般情况下都是px4插件列表中黑名单里面有global_position,把这个去掉就好了。