![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
无人机开发
文章平均质量分 74
集智飞行
机器人,无人机,集群协同控制领域,软硬件经验分享
展开
-
PX4经纬度转东北天坐标c++代码
附上geo.h和geo.cpp,编译的时候可以把geo.cpp编译成一个library再链接到你的程序,或者和你的程序一起编译。float的精度是不能满足小数点后七到八位的要求的。原创 2024-01-25 22:30:52 · 529 阅读 · 0 评论 -
mavros和PX4中的海拔高与椭球高转换
同一个位置的两种高度值一般可以相差几十米,只是因为当地平均海平面是和地形有关的,凹凸不平没有规律。而ellipsoid height采用的基准是地球标准椭球模型,它的高度值和地形没有关系,只和到地心的距离有关。下文的mavros指ros1 noetic版本的,ros2版本的我还没研究。原创 2024-01-25 22:13:40 · 1237 阅读 · 0 评论 -
旋翼无人机常用仿真工具
可能需要运行在gazebo上,和无人机的接口也是个问题,可以参考PX4和Ardupilot中关于airsim仿真的描述。简单的质点(也可以加上动力学姿态),用urdf模型在rviz中显示无人机和飞行轨迹、地图等。由于每架飞机真的在运行PX4飞控固件仿真,因此比较占用cpu,一般一台电脑顶多仿真10架(这也是PX4 SITL支持的上限)。支持gazebo、flightgear、jMAVSim、AirSim等仿真软件。利用gazebo仿真,提供gazebo中的简单四旋翼模型。采用虚幻引擎,戴博士搭建的?原创 2023-05-24 18:30:59 · 1613 阅读 · 0 评论 -
xubuntu安装VNCviewer远程桌面开机自启
树莓派cm4安装了ubuntu20.04(xubuntu桌面,不是gnome桌面),需要实现vnc远程桌面登录树莓派。此处选择tigervnc,其他的vnc比如tightvnc和vnc4server貌似不好用。原创 2023-05-15 23:21:35 · 1084 阅读 · 0 评论 -
ubuntu20安装electron并用electron-packager打包
这是一个用javascript写的,基于electron和nodejs的可以用浏览器打开的gui界面,其中3d显示的部分用的是Three.js。electron有一个好处是可以跨平台。原创 2023-05-02 19:49:12 · 1916 阅读 · 0 评论 -
多机器人集群网络通信协议分析
本文讨论的是多机器人各层的情况和协议。每个机器人连接一个数据传输通信模块(以下简称为,也泛指市面上的图传或图数一体的通信模块),数传之间进行组网来传递信息。根据ISO的划分,网络通信的OSI模型分为从低到高的7层。电气接口、线缆连接。如网口(RJ45)、RS232串口等。这一层只和硬件有关,传输的是0和1的。数传一般提供串口,但有的数传也同时提供多个串口和网口。对于单片机飞控来说,连接和使用数传的串口是比较容易的。原创 2023-03-07 16:28:43 · 2738 阅读 · 1 评论 -
APM飞控使用动捕等外部定位
机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的无人机定位数据(x,y,z+四元数),然后通过 /mavros/vision_pose/pose 的ROS话题发送给APM飞控。/mavros/local_position/pose 中的四元数可能和 /mavros/vision_pose/pose 中的四元数并不相同,比如可能转了180°。机头朝向动捕坐标系y轴正向时,mission planner上显示偏航角是0°或者360°,方向是正北。原创 2023-03-03 21:04:44 · 1622 阅读 · 1 评论 -
ubuntu Ad-Hoc组网通信
ad-hoc。无中心,自组网,不需要路由器。各个节点即是client,也都具有路由功能。配置表现为所有节点都是一个“热点”,“热点”名称相同的节点自动连接。断开WIFI,再重新打开即可自动连接到my-ad-hoc。(edimax 7811Un,7822UAn都可以)。设置手动IPv4(网关可以不设置)实测相互ping延迟均只有1ms。原创 2023-01-06 19:50:41 · 2131 阅读 · 1 评论 -
集群多机ROS通信中间件:swarm_ros_bridge
最近写了一个无线网络环境下(比如WIFI)多机ROS通信的项目swarm_ros_bridge原创 2023-01-06 15:45:03 · 3778 阅读 · 10 评论 -
win10找不到d3dx9_43.dll,无法正常启动0xc000007b
Win10电脑,安装PhoenixRC时,安装好后点击运行,报错找不到d3dx9_43.dll按照网上的一些教程下载d3dx9_43.dll并放到C:\Windows\System32\下再运行regsvr32 d3dx9_43.dll 并没有作用。正确解决办法:1、腾讯电脑管家--工具箱--电脑诊所--软件硬件--丢失dll文件--丢失d3dx**.dll--立即修复。 然后它会帮你安装好DirectX2、之后点击运行PhoenixRC可能会报错“无法正常启动0xc000007b”原创 2022-05-05 22:13:57 · 4137 阅读 · 0 评论 -
crazyswarm下载编译和使用问题整理
crazyswarm下载和编译问题整理原创 2021-12-06 13:39:05 · 1797 阅读 · 1 评论 -
四旋翼利用mavros进行GPS坐标指点飞行
先介绍一般px4飞控的xyz坐标指点飞行:利用mavros的 /mavros/setpoint_raw/local 话题可以发送东北天(ENU)坐标给px4飞控进行指点飞行。ENU坐标原点在起飞点,东向为x坐标,北向为y坐标,天向为z坐标。z坐标高度对应/mavros/local_position/local 中的z坐标,根据px4设置的不同可能是气压计、高度传感器或者差分GPS高度。下面介绍如何进行gps坐标指点飞行:户外我们往往希望给定一个gps坐标让四旋翼飞过去,而不是给定一个相对于起..原创 2021-11-23 17:34:13 · 5845 阅读 · 2 评论 -
大广角USB摄像头选用指南
起因是我要做一个二维码引导无人机降落的实验。四旋翼无人机搭载单目下视摄像头,用于识别地面的二维码。我选择摄像头的标准基本上只有一个:视场角越大越好。为此查阅了很多资料,买了很多镜头和底板,有了一些选购心得。...原创 2021-06-12 17:58:48 · 3087 阅读 · 2 评论 -
阿木p200四旋翼配置经验笔记
本文初次写于2021/06/09我做编队试验用的阿木P200四旋翼,完成了机载计算机控制的编队飞行以及二维码引导降落。记录一下对到手的P200飞机仍需要更改调试的配置:原创 2021-06-09 18:21:47 · 2488 阅读 · 8 评论 -
创建多个带有摄像头的四旋翼gazebo模型
1、启动多个iris四旋翼模型PX4源码里有iris.sdf等四旋翼模型文件,但是如果要启动多个iris模型和mavlink流,则需要用到PX4源码launch文件夹里的single_vehicle_spawn.launch或者single_vehicle_spawn_sdf.launch去读这两个launch文件就会发现它们启动多个sdf四旋翼模型的思路不同。前者是用px4源码中的python脚本去修改jinja的mavlink端口号等,这个我没仔细研究;后者single_vehicle_spaw原创 2021-05-06 20:33:32 · 1586 阅读 · 3 评论 -
pixhawk无法校准加速度计解决-震动太大
pixahwk4 报错accelemeter inconsistent,校准加速度计时也没反应无法校准,一直停在下面这个界面无法自动识别校准。等很长时间后,就显示calibration failed: reading sensor除了加速度计,其他校准都正常。最后发现是因为机载tx2风扇震动太大导致的,tx2关机后就能正常校准了。...原创 2021-04-24 21:29:45 · 1727 阅读 · 0 评论 -
Ros-gazebo xacro文件命名空间
xacro是urdf模型文件的升级版。如果想要在gazebo中用ros的spawn-model以<group ns="$arg(namespace)">同时打开多个这个xacro模型,要注意xacro文件中不要设置绝对的命名空间! <gazebo> <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"> <legacyModeNS>true</l原创 2021-04-16 18:40:32 · 1190 阅读 · 3 评论 -
PX4 offboard模式能接收的mavros指令
px4 offboard模式下可以接收上位机发送来的setpoint值,可以利用ROS包mavros来发送这些setpoint(期望值)。ps: 如果只是要用上位机发送消息来切换px4模式、解锁等,不需要切换到offboard模式,因为上位机也是利用mavlink给px4发送这些指令,和地面站发送指令是一样的。本文暂时只讨论mavros中的/mavros/setpoint_raw/local话题,这个话题可以同时发送位置、速度、“加速度”指令,如果要发送姿态角和油门指令还是要用/mavros/set原创 2021-04-16 10:51:52 · 3930 阅读 · 1 评论 -
四旋翼与四元数学习笔记
为了实现四旋翼无人机的编队控制,重点学习了四旋翼加速度转换为姿态角和推力指令的具体手段,详细学习了四元数、旋转矩阵、欧拉角在四旋翼上的应用,学习了四旋翼的几何控制法、姿态角控制器设计,学习了mavros、c++中四元数有关内容。1、学习了四元数在四旋翼无人机上的应用常见的加速度指令并不是转换为姿态角来控制四旋翼,而是转化为四元数。在mavros的控制程序中,也没有使用欧拉角,而是采用了四元数。这是因为欧拉角存在多种表达方式难以统一定义,而且存在奇异点(俯仰角为90度时),无人机进行大机动时欧拉角容易原创 2021-03-22 17:52:11 · 3062 阅读 · 0 评论 -
pixhawk4 mini重启后死机
pixhawk4 mini通过供电口供电,telement1口连接数传,usb口连接树莓派(机载计算机)此时如果用QGC地面站数传发送reboot指令,pixhawk4 mini关机后就不会再开机了。这个问题可能是供电问题或者信号,因为usb口和供电power口同时连接着pixhawk,usb口和telement1口相当于连接了两个地面站。这是不行的,拔掉连接树莓派的usb线,再通过数传reboot,pixhawk就能正常重启了。因此建议机载计算机不要通过usb口连接pixhawk,尽量还是原创 2021-01-17 18:56:15 · 453 阅读 · 2 评论 -
树莓派4b ubuntu系统开启串口
树莓派4b安装ubuntu server18后如何开启串口?树莓派4b的引脚图如下:其中GPIO14和GPIO15是硬件串口。因为我安装的不是Raspian系统,因此无法用raspi-config打开该串口。ubuntu server raspi系统的/boot/firmware/config.txt里也说明了,enable_uart=1默认启用这个串口,linux里面名字叫/tttAMA0,但是默认是当串口控制台使用了(/boot/firmware/nobtcmd.txt里也写了c原创 2021-01-13 16:55:27 · 5292 阅读 · 6 评论 -
机载计算机控制APM固件飞控的缺点
APM固件:机载计算机通过mavlink控制apm飞控的能力有限。经过尝试,mavros控制apm飞控情况如下目前只支持:控制三个姿态角和推力(需要自己写姿态控制控制环),且所有姿态角和推力必须同时给出(setpoint_raw/attitude) 在飞机靠遥控飞起来后,控制三个方向的速度,且xyz速度需要同时给出(setpoint_velocity/cmd_vel) 也许还可以支持飞起来之后给三个方向的位置(没试成功)(setpoint_postition/local)不支持:ga原创 2020-12-13 23:40:47 · 1109 阅读 · 1 评论 -
树莓派4b安装ubuntu18.04并安装ros
ubuntu官方已经支持树莓派了,官方镜像如下https://ubuntu.com/download/raspberry-pi这是一个为树莓派准备的arm架构的ubuntu,而且是server版的(服务器版,没有桌面)可惜官网只能下载到最新的20版ubuntu,网上大量教程给出的18版ubuntu链接已经失效。20版目前有很多bug,而且对应的ros noetic版本用起来也是缺胳膊少腿,因此我还是找到了ubuntu18对应的树莓派版本,直接奉上链接:http://cdimage.u原创 2020-12-09 20:24:06 · 883 阅读 · 0 评论 -
ROS usb-cam无法打开USB摄像头
usb-cam是一个用来打开摄像头并输出图像话题的ros package,可以自己建立工作空间git clone项目自己编译,也可以直接用sudo apt install ros-melodic-usb-cam安装,这时这个ros包安装在/opt/ros的ros默认路径下,不需要再添加环境路径。我遇到的问题是roslaunch usb_cam usb_cam-test.launch 相机的灯只是闪了一下,然后报错,没法显示图像这多半是因为usb_cam-test.launch文件的参数设原创 2020-09-24 08:42:06 · 3286 阅读 · 4 评论 -
远程连接TX2的ubuntu系统(没有显示器):网线+路由器解决
我的到手TX2是没有显示器的,要么用HDMI线接上显示器,要么在一个wifi网络下使用nomachine远程桌面。我没有显示器也没有HDMI线,只能远程桌面连接。问题是想要远程连接就必须让TX2和我的电脑连接上同一个WiFi并下载好nomachine,可是没有显示器我怎么让TX2连上我家的WiFi并且下载nomachine???真是一个死循环,百度无果后我还是想到了解决办法:那就是用有线网络连接找一台路由器,一根网线。网线一头插TX2一头插路由器输出网口,自己电脑也连上这个路由器的WiFi,这样自己原创 2020-08-30 10:06:03 · 2051 阅读 · 2 评论 -
Prometheus阿木实验室开源项目下载与跑通 踩坑经验
Prometheus是阿木实验室提供的开源无人机开发项目,可以实现避障、激光雷达、自主降落等多种功能的gazebo仿真和配合P200无人机的真机实验。github上有完整的工程和Wiki讲解,链接:https://github.com/amov-lab/PrometheusPrometheus本质是个ROS package,它和上文“新手入门”中提到的px4_command项目是一个类型,但是含有的功能包更多,下载和安装方式也不大一样。上次下载px4_command项目以及配置px4、ros环境,我原创 2020-08-30 09:50:35 · 3703 阅读 · 5 评论 -
P200阿木无人机学习笔记--二维码引导着陆
我手上的阿木实验室的P200无人机配置TX2板载计算机(预装好ubuntu16.04系统和ROS、mvros等,amov_ws文件夹下载有px4_command开源项目代码、没有安装PX4编译环境、没有安装nomachine软件)Pixhawk4飞控(应该是预先刷好了阿木的Firmware V110中的v5版本的固件)单目USB摄像头一个、激光定高模块一个、wifi数传一个、遥控器。目前没有激光雷达和双目摄像头。现阶段目标:实现二维码引导着陆主要参考资料:新手入门:https:.原创 2020-08-15 16:15:20 · 5724 阅读 · 1 评论