【ros+movros安装与飞控连接测试,pixhawk2.4.8】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

记一下装ros和movros的过程顺便把一些重要的链接保存一些。


提示:以下是本篇文章正文内容,下面案例可供参考

一、ros安装

ros主要是跟着官网上的就行了,装之前科学上网,改好源,用古月居21讲(b站搜索ros21讲讲ros安装那一节)配合官网教程就可以。
官网链接m版本ros官方安装地址
qgc按照官网安装比较简单,安装地址:QGC

二、mavros

下面主要是参考这个博客参考博客源地址
另外放一个官方地址在这里参考movros官方安装链接注意这个官方里面是以k版本ros的为例子注意修改版本名称

  1. 安装依赖项工具
 sudo apt-get install python-catkin-tools python-rosinstall-generator -y
  1. 创建mavros的工作空间(安装目录)并初始化
mkdir -p ~/mavros_catkin_ws/src
cd ~/mavros_catkin_ws
catkin init
wstool init src
  1. 在根目录下安装Mavlink(指在直接打开的终端里输入如下命令)
 rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall

此除可能会提示网络问题,解决办法参考参考网址内容。
接着,进入mavros_catkin_ws/src执行:

rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall
git clone https://gitee.com/zhuleilei33/mavros.git
  1. 创建工作区和部门
    回到mavros_catkin_ws目录下:
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j4
rosdep install --from-paths src --ignore-src -y
  1. 安装GeographicLib数据集:
    在mavros_catkin_ws目录下运行:
sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh

6.构建源

catkin build

这里要有耐心

7.添加环境变量

gedit ~/.bashrc
  1. 测试mavros
    要注意这里是把movros安装在mavros_catkin_ws这样一个ros工作空间下面,打开之前要先source一下否则没办法找到命令:
    在mavros_catkin_ws下运行,
source devel/setup.bash

这是为了让系统能够知道你的moros功能包安在哪里。

之后运行

roslaunch mavros px4.launch

列出mavros信息就是安装成功!!!

如果此时你打开qgc,movros终端就会中止,这是因为一个串口无法与两个进程通信,可以通过下面的办法解决。
9. 如果直接用usb链接飞控的话可以运行

roslaunch mavros px4.launch fcu_url:=/dev/ttyACM0:57600 gcs_url:=udp-b://@

可以同时让movros和qgc与飞控通信,这条命令是在让movros通过ttyACM0这个串口与飞控板子通信,后一句是让qgc桥接movros的通信链路。
值得注意的是如果你换成用数传链接飞控,这个时候串口变成了默认的ttyUSB0应当使用下面命令来启动movros否则链接不到飞控。之所以说是默认的ttyUSB0,是因为我每次插上数传都会是这个。

具体的你可以查看dev里面的文件确定插入设备后产生的串口文件是什么。
重新打开一个终端

cd /dev/
ls

查看是否有ttyACM0或者ttyUSB0
可以理解为你只要插上串口硬件设备系统就会自动产生串口名,你可以查看串口名来决定你的movros和飞空链接时通过哪个串口,并在命令后面修改就可以。
把上面的换成:

roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:57600 gcs_url:=udp-b://@

到这里你就可以通过movros链接飞控了同时你可以打开qgc辅助查看信息
要注意的是你需要把qgc设置到不可自动连接,打开设置设置如下
在这里插入图片描述
之后再打开qgc
同时打movros和QGC效果:
在这里插入图片描述


总结

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在ROS中控制PX4飞控上的舵机,你可以使用PX4的ROS接口来实现。首先,你需要在你的ROS工作空间中安装px4_ros_com软件包。你可以使用以下命令从GitHub上克隆px4_ros_com软件包: ``` git clone https://github.com/PX4/px4_ros_com.git ``` 安装完成后,进入你的工作空间并编译这个软件包。然后,你可以运行`roslaunch px4_ros_com px4_ros_com.launch`命令来启动PX4 ROS节点。这将建立与PX4飞控的通信,并将舵机控制命令传递给飞控。 在ROS中,你可以使用[mavros](https://github.com/mavlink/mavros)软件包来向PX4发送舵机控制命令。Mavros提供了一个ROS接口,使你能够通过ROS消息与PX4通信。你可以使用mavros的`mavros_msgs`中的`ActuatorControl`消息来控制舵机。通过发布一个`ActuatorControl`消息,你可以指定每个舵机的角度或速度。 例如,你可以使用以下代码来发布一个`ActuatorControl`消息,以将舵机1的角度设置为0.5弧度: ```python import rospy from mavros_msgs.msg import ActuatorControl rospy.init_node('servo_control_node') pub = rospy.Publisher('/mavros/actuator_control', ActuatorControl, queue_size=10) rate = rospy.Rate(10) # 发布频率为10Hz while not rospy.is_shutdown(): msg = ActuatorControl() msg.group_mix = 0 msg.controls = 0.5 # 设置舵机1的角度 pub.publish(msg) rate.sleep() ``` 通过运行上述代码,你可以在ROS中控制PX4飞控上的舵机。 请注意,这只是一个简单的示例,你可以根据你的需求修改`ActuatorControl`消息中的参数来控制舵机的行为。此外,确保你已经正确配置了PX4飞控ROS系统之间的连接,以确保正常通信 。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ROS学习笔记之——PX4开发初入门](https://blog.csdn.net/gwplovekimi/article/details/118569078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值