
ArduSub SITL Ubuntu mavros环境搭建
发布日期:2021-05-08 01:21:00
浏览次数:39
分类:精选文章
本文共 2541 字,大约阅读时间需要 8 分钟。
ArduSub SITL Ubuntu环境搭建指南
第一章 ArduSub SITL Ubuntu环境搭建
1.1 安装过程
第一步:获取源代码
如果你已经安装了Git,可以跳过页面中关于Git的相关步骤。
git clone https://github.com/ArduPilot/ardupilotcd ardupilotgit submodule update --init --recursive
第二步:安装前置依赖
运行安装脚本并根据提示进行权限授予。
./Tools/environment_install/install-prereqs-ubuntu.sh -y
注意:安装时间较长,请耐心等待完成。
第三步:设置环境变量
根据你的路径修改~/.profile
文件,例如:
export PATH=$PATH:/home/yourusername/ardupilot/Tools/autotestexport PATH=/usr/lib/ccache:$PATH
第四步:安装交叉编译工具
进入目标目录并解压工具包:
cd TARGET_DIRtar -xjvf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
然后更新路径:
export PATH=$PATH:TARGET_DIR/gcc-arm-none-eabi-4_9-2015q3/bin
安装ccache:
sudo apt-get install ccache
创建符号链接:
cd /usr/lib/ccachesudo ln -s /usr/bin/ccache arm-none-eabi-g++sudo ln -s /usr/bin/ccache arm-none-eabi-gcc
1.2 启动SITL
第一步:启动仿真
$ sim_vehicle.py -v ArduSub
当你看到以下信息时,说明仿真已成功启动:
APM: EKF2 IMU0 is using GPSAPM: EKF2 IMU1 is using GPSFlight battery 100 percent
按下Ctrl+C然后重新启动仿真。
第二步:配置高级参数
你可以使用以下命令启动带有自定义参数的仿真:
$ sim_vehicle.py -L RATBeach --out=udp:0.0.0.0:14550 --map --console -v ArduSub
1.3 安装mavros相关软件包
安装mavros组件:
sudo apt-get install ros-kinetic-mavros*
1.4 修改apm.launch配置文件
根据需求修改apm.launch
文件中的参数,确保路径正确:
运行修改后的配置文件:
rosrun mavros mavparam set SYSID_MYGCS 1
1.5 错误处理
如果遇到如下错误:
File not readable /usr/share/GeographicLib/geoids/egm96-5.pgm
运行以下脚本以安装地理库数据集:
sudo ./mavros/scripts/install_geographiclib_datasets.sh
注意:安装时间较长,完成后再次尝试运行。
第二章 SITL仿真笔记
2.1 修改ardusub代码并重新编译
在仿真环境中修改代码并编译:
// 修改AP_NavEKF2_Control.cpp第303行gcs().send_text(MAV_SEVERITY_INFO, "EKF2 IMU%u is using 9999 GPS", (unsigned)imu_index);
编译后运行仿真:
$ sim_vehicle.py -v ArduSub -w
此时你应看到以下信息:
APM: EKF2 IMU0 is using 9999 GPSAPM: EKF2 IMU1 is using 9999 GPSFlight battery 100 percent
说明日志已生效。
切换至稳定版本分支:
git checkout ArduSub-stable
2.2 发送mavros指令进行控制
启动mavros并进入仿真环境:
$ roslaunch mavros apm.launch
发送控制指令:
$ rosrun mavros mavparam set SYSID_MYGCS 255
2.3 mavros控制配置
修改频率
编辑/etc/rc.local
文件,注释掉APWeb启动命令:
# /etc/rc.local文件内容:# ...# @primehouse:~ .local/bin$ echo "APWeb" >> /etc/rc.local# ...
这样可以解决APSync数据流速率重置问题。
操控权限设置
设置mavros控制权限:
rosservice call /mavros/cmd/arming 1
检查服务状态:
rosservice call /mavros/param/set "param_id: 0, value: 255"
发送RC指令
发布RC指令:
rostopic pub -1 /mavros/rc/override mavros_msgs/OverrideRCIn "[1500, 1500, 1500, 1500, 1500, 2000, 1500, 1500]"
更换控制模式
切换至指引模式:
rosservice call /mavros/set_mode "base_mode: 0 custom_mode: 'GUIDED'"
以上步骤均需在仿真环境中进行,确保所有设备已正确连接并拥有相应权限。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月09日 12时37分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《抗糖化书》总结
2019-03-06
apache虚拟主机配置
2019-03-06
PHP官方网站及PHP手册
2019-03-06
mcrypt加密以及解密过程
2019-03-06
go等待N个线程完成操作总结
2019-03-06
ReactJs入门教程-精华版
2019-03-06
Python 之网络式编程
2019-03-06
MySql5.5安装步骤及MySql_Front视图配置
2019-03-06
Java内存模型(JMM)
2019-03-06
AQS相关
2019-03-06
WCF学习之旅—第三个示例之一(二十七)
2019-03-06
java ThreadPoolExecutor初探
2019-03-06
快速指数算法
2019-03-06
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
2019-03-06
SpringCloud微服务(03):Hystrix组件,实现服务熔断
2019-03-06
Spring 框架基础(01):核心组件总结,基础环境搭建
2019-03-06
Cassandra数据建模
2019-03-06
Internet Explorer 10 专题上线
2019-03-06