PX4安装以及使用offboard的力矩控制actuator问题记录

配置环境

OS: Ubuntu 18
ROS: Melodic
Gazebo: 9

ROS 安装

推荐使用小鱼的一键安装系列,可以快速安装ros.

wget http://fishros.com/install -O fishros && . fishros

MAVROS 安装

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh

sudo ./install_geographiclib_datasets.sh

PX4 安装

  1. 选择px4的版本:进入官方的Github,下载源码并编译。
git clone -b v1.13.0-beta1 https://github.com/PX4/PX4-Autopilot.git

(测试多个版本,这个版本v1.13.0-beta1的力矩控制可以用且不会出现问题,其他稳定版都出问题)
更新子模块

cd PX4-Autopilot
git submodule update --init --recursive

安装相关依赖环境

bash ./Tools/setup/ubuntu.sh

注意:不要要添加sudo,使用sudo会导致后面编译找不到依赖
编译

make px4_sitlgazebo

修改 ~/.bashrc

source ~/PX4-Autopilot/Tools/setup_gazebo.bash ~/PX4-Autopilot/ ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/sitl_gazebo

以上代码处于github中,下载速度过慢。gitee上有国内镜像https://gitcode.net/mirrors/px4/firmware.git ,能下载源码,但子模块还是在github上,依旧很慢。
这里推荐使用XTDrone打包好的固件,可以下载下来直接使用https://www.yuque.com/xtdrone/manual_cn/basic_config
在这里插入图片描述

(备注:此版本仿真有时出现传感器错误,)

#问题汇总
1.在ubuntu里安装多个px4版本,roslaunch px4 mavros_posix_sitl.launch ,出现无法解锁/无法进入位置模式;
QGC报错如下:

[ WARN] [1665899025.446590008, 19.284000000]: CMD: Unexpected command 176, result 1
WARN  [PreFlightCheck] Preflight Fail: Gyro #0 uncalibrated
WARN  [PreFlightCheck] Primary gyro not found
WARN  [PreFlightCheck] system power unavailable

解决办法:
仿真中出现初始化传感器的错误,应该是之前的px4仿真留下的参数有错,删除掉即可

rm ~/.ros/eeprom/parameters*
rm -rf ~/.ros/sitl*

2.无法使用offboard模式控制,出现如下错误

ERROR [mavlink] SET_ACTUATOR_CONTROL_TARGET not supported with lockstep enabled
ERROR [mavlink] Please disable lockstep for actuator offboard control:
ERROR [mavlink] https://dev.px4.io/master/en/simulation/#disable-lockstep-simulation

解决方法:
进入PX4固件目录,找到文件default.cmake

cd Firmware/boards/px4/sitl
gedit default.cmake 

文本模式打开default.cmake,将 ENABLE_LOCKSTEP_SCHEDULER 修改为 no
修改前:
在这里插入图片描述
修改后:
将 ENABLE_LOCKSTEP_SCHEDULER 修改为 no
重新编译一次:

cd PX4_Firmware
make px4_sitl_default gazebo

在这里插入图片描述
其中 PX4 lockstep: disabled 代表修改成功
同时还需要修改无人机的sdf模型文件,默认使用的iris模型

 cd ~/Firmware/Tools/sitl_gazebo/models/iris
 gedit iris.sdf 

修改 enable_lockstep 修改为false:<enable_lockstep>0</enable_lockstep>
在这里插入图片描述

  1. 启动仿真roslaunch px4 ...localposition/pose无位置信息
    解决:重装ros

待更新

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值