PX4软件在环仿真(SITL)通信问题

问题描述

依照XTdrone进行仿真平台基础配置,进行至软件在环仿真,运行以下两行命令:

roslaunch px4 mavros_posix_sitl.launch
rostopic echo /mavros/state

倘若connected: True,则说明MAVROS与SITL通信成功。

但是笔者在运行完这两行命令之后显示如下:

header: 
  seq: 0
  stamp: 
    secs: 0
    nsecs:         0
  frame_id: ''
connected: False
armed: False
guided: False
manual_input: False
mode: ''
system_status: 0

也就是说,MAVROS与SITL并没有建立有效的通信,而且第一行命令有以下警告:

[ WARN] [1720620938.388903113]: Could not retrive negate_measured_roll parameter value, using default (0)
[ WARN] [1720620938.389277172]: Could not retrive negate_measured_pitch parameter value, using default (0)
[ WARN] [1720620938.389597722]: Could not retrive negate_measured_yaw parameter value, using default (0)
[ WARN] [1720620938.390793007]: Could not retrive debounce_s parameter value, using default (4.000000)
[ WARN] [1720620938.391165733]: Could not retrive err_threshold_deg parameter value, using default (10.000000)




[vehicle_spawn_ubuntu_38705_2814855972253643906-5] process has finished cleanly
log file: /home/liu/.ros/log/09073686-3daa-11ef-8849-9b3a3cf41928/vehicle_spawn_ubuntu_38705_2814855972253643906-5*.log

libcurl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to fuel.ignitionrobotics.org:443 

而且启动的GAZEBO仿真界面内的四旋翼无人机的旋翼是转动的,笔者并未解锁四旋翼无人机也并未使四旋翼无人机进入OFFBOARD模式,四旋翼无人机的旋翼是不应该转动。

问题解决

在XTdrone的官方文档中,推荐PX4版本号为1.13、Ubuntu版本为18.04、GAZEBO版本为9。但是由于需求,我需要使用1.15版本的PX4,该版本的PX4在进行源码安装时,默认安装GAZEBO11,这两项均不满足官方文档的要求。

官方文档有提示:

如果是FALSE,一般是因为.bashrc里的路径写的不对,请仔细检查。

 在设置路径时,主要是在.bashrc中添加以下路径:

source ~/catkin_ws/devel/setup.bash
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo

但是需要注意的是,最后一行,由于PX4源码更新,已经变为:

~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic

另外,设置的GAZEBO路径也要相应变为:

# Gazebo 11 paths
export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:/usr/lib/x86_64-linux-gnu/gazebo-11/plugins
export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:/usr/share/gazebo-11/models
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/x86_64-linux-gnu/gazebo-11/plugins
export PATH=${PATH}:/usr/share/gazebo-11

另外,也要检查文件mavros_posix_sitl.launch中端口号是不是以下:

<arg name="fcu_url" default="udp://:14540@localhost:14557"/>

在设置好以上以后再运行,即可建立通信,也就是以下界面:

另外,对于报错

libcurl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to fuel.gazebosim.org:443

原因在于VPN节点问题,更换一个节点即可。

倘若连接失败后进行以上操作,仍然无法连接,可能是之前打开的GAZEBO或者节点未能正确关闭,重启虚拟机试一下。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值