5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
标题: UAV 地面站软件开发平台 CSS (LZ从火星滚回来了!!!!!409楼) [打印本页]
作者: scaple 时间: 2013-6-12 01:50
标题: UAV 地面站软件开发平台 CSS (LZ从火星滚回来了!!!!!409楼)
本帖最后由 scaple 于 2019-10-29 21:56 编辑
Control Station Studio (CSS)
让每个人都能够建造专属于自己的地面站
CSS 不是单纯的地面站,而是地面站开发工具。我们不对您进行演出,而是向您提供舞台
作者: wuyeliu 时间: 2013-6-12 06:29
看着很给力啊!
作者: Dukeczn 时间: 2013-6-12 06:44
关注什么时候出货和价格
作者: PIZZA_IFLY 时间: 2013-6-12 07:48
好手艺!非常强!
作者: saintxu 时间: 2013-6-12 07:55
mark it.备用。
作者: xinshou001 时间: 2013-6-12 08:28
强人
作者: wugongzi 时间: 2013-6-12 08:32
这个用什么编的。
作者: 翱翔的鹰 时间: 2013-6-12 09:02
厉害
作者: snowynight 时间: 2013-6-12 11:07
我擦!碉堡了!
作者: scaple 时间: 2013-6-25 01:37
本帖最后由 scaple 于 2013-6-25 12:52 编辑
Control Station Studio 是什么?
CSS 是一个地面控制站开发平台
CSS可用于快速搭建及实现无人机/车/船等等的控制终端
CSS可以实现操作界面的编辑和定制
CSS可以实现通信协议以及数据总线的编辑和定制
CSS可以实现地面站及被控制目标操作控制逻辑的编辑和定制
CSS可以对数据总线上的任意数据进行加工、处理、变换
上述编辑定制特性并不需要操作用户具备任何软件程序开发能力
只需要以所见即所得的方式通过简单的鼠标操作即可
作者: scaple 时间: 2013-6-25 01:41
本帖最后由 scaple 于 2013-6-25 11:33 编辑
快速搭建的飞行控制页面
通过上周的首飞测试,针对飞行中出现的问题,对操作控制界面进行了重新搭建及调整,同时对程序自身进行了相应改进,更加方便实际飞行控制。
α测试版已经是呼之欲出了,呵呵
目前,整套系统要素均已完备,系统框架设计实现基本完成。按照目前状态,仅仅使用了预计设计方案中40%不到的控件种类就实现了基本的飞行控制、航迹规划等功能。可以期待,等全部仪表控件开发完毕后,CSS将具备更加强大的功能。
(, 下载次数: 180)
快速搭建的航迹规划页面
(, 下载次数: 218)
作者: scaple 时间: 2013-6-25 01:43
本帖最后由 scaple 于 2013-6-25 11:44 编辑
可视化仪表控件编辑界面
进入界面编辑状态后,在界面编辑器中通过简单的鼠标操作,即可进行控件的创建、调整位置及大小、剪切、复制、粘贴,以设定控件属性等各项操作。
以所见即所得的方式快速搭建起控制站的人机交互操作界面。
同时,CSS还允许用户在系统在线运行的状态下,对控制界面进行任意修改。
(, 下载次数: 200)
作者: scaple 时间: 2013-6-25 01:47
本帖最后由 scaple 于 2013-6-25 12:44 编辑
基于 mavlink 1.0 协议的通讯协议编辑器,也可以称之为 mavlink 数据帧编辑器。
为何在mavlink协议相当成熟的情况下,还需要专门设计一个编辑器对其进行编辑设定呢?主要还是是通用性的要求,在此要求之下,mavlink 帧内字段所承载的数据,其的使用表达方式是不确定的,比如说飞机航向角这个数据,既可能由控件A圆形指针仪表来显示,也可能由数字显示控件B来显示,还可能由刻度仪表控件C来显示,数据的具体表现形式在不同的使用环境下是各不相同的。
所以,在通用性需求的驱动下,必须为mavlink协议开发一个编辑设定工具。
mavlink 数据帧编辑器的主要功能如下:
1、可以将帧内字段与某一个或多个数据总线上的数据建立起关联关系
2、可以将某个帧内字段设置为常量(例如表示状态的常量数值)
3、可以重新设定每个数据帧的发送目标(多说一句,mavlink协议在这个方面不是很严谨,在帧目标的处理上显得有些随意和缺乏规律性,最典型的例子就是 HEARTBEAT 消息)
4、可以对已有的 mavlink 数据帧进行重载复用
5、可以将mavlink协议中空白的数据帧设定成为用户自定义的数据帧,供进一步扩展升级使用
(, 下载次数: 192)
(, 下载次数: 190)
作者: wxmaggie 时间: 2013-6-25 03:14
厉害,。
作者: scaple 时间: 2013-6-25 12:49
CSS当中自带的控件外形编辑器,能够为具备自定义外形特性的仪表控件创建及编辑外形图形。
(, 下载次数: 197)
有了上述编辑器的支持,偶尔恶搞一下也是可以的,呵呵
(, 下载次数: 175)
作者: scaple 时间: 2013-6-26 01:28
看顶楼的视频,在航迹显示上有一个bug,曲线的航迹显示在某个时刻会被拉成直线。
一开始以为是用于容纳航迹的环形数组操作有问题,好好查了一下,原来是一个自作聪明,原本用于提高绘图效率的判断出问题了。
这个判断取消后bug解决。但是接着另一个bug来了,系统初始首次加入航迹点的位置与当前飞机位置可能会相差很远,这样就可能出现绘制轨迹初始错误的问题。
这个bug的成因还比较复杂,涉及到了数据总线工作机制的问题。
解决:丢弃系统初始时的前10个航点位置
以下是由于gps漂移而记录的航迹。当然,秉承凡事可编辑的传统,航迹点数量和记录间隔时可以编辑设定的,呵呵
(, 下载次数: 190)
上次试飞,降落前一瞬间的录像视频截图,可惜摄像头不大给力
(, 下载次数: 184)
作者: scaple 时间: 2013-6-28 01:11
更新三大编辑器之一的数据总线编辑器
(, 下载次数: 194)
以及数据处理通道公式编辑器.
(, 下载次数: 185)
本来打算写一下数据帧编辑器的使用说明的,现在太晚了,只能等到以后再说了
再次无动力手抛试飞了新飞机,小炸无数,还好没伤太严重.看来调试飞机也和调程序差不多,也是个不断发现bug和解决bug的过程.今天基本确定了重心位置,继解决推力线bug之后,今天又发现了一个安装方面的bug.
期待正式首飞.(其实已经飞过几次了,都是以头抢地,鼻青脸肿,呵呵)
(, 下载次数: 177)
作者: scaple 时间: 2013-6-28 01:20
还有以前弄过的一架好小子1000双翼改(下翼是用别人炸掉的天行者2013水平尾翼)
首飞回来才发现,垂直尾翼竟然歪成这样也能飞,呵呵,只不过是飞的歪歪扭扭的
更搞笑的是,过了两三个星期才发现,螺旋桨给装反了,自然,电机转动方向也是反的,就这,也能飞,哈哈哈哈哈哈哈
作者: scaple 时间: 2013-6-29 00:11
apm 2.5 机载参数/mavlink1.0 协议参数设置界面
(, 下载次数: 173)
作者: scaple 时间: 2013-6-29 09:04
CSS作为无人机/车/船控制软件的开发平台,其诸多的编辑设定功能由一系列编辑器组成,它们分别为:仪表编辑器、数据总线编辑器、数据帧编辑器、“条件触发-动作响应”编辑器、数据处理通道编辑器、遥测数据编辑器、控件外型编辑器构成。
其中,核心的编辑器为仪表编辑器、数据总线编辑器、数据帧编辑器、“条件触发-动作响应”编辑器。
仪表编辑器实现了用户交互控制界面的可编辑性。数据总线编辑器协同数据帧编辑器实现了控制站与控制目标之间通信协议的可编辑性。“条件触发-动作响应”编辑器实现了控制站内部,以及控制站与被控目标之间控制逻辑的可编辑性。
CSS当中引入了数据总线概念,在整个“控制站-控制目标”系统当中生成、变化、流动的数据均可作为数据总线的成员,在数据总线当中进行传输、处理,以及在数据源(例如发送下行数据的apm飞控板)及数据使用者(例如显示数据的仪表控件)之间建立联系。
数据总线编辑器的功能就在于根据用户的实际使用需求,创建、修改,或删除特定数据以及它们的属性,并将其组合成为数据总线,供“控制站-控制目标”系统使用。
下图即为数据总线编辑器
在CSS当中数据总线划分为三种类型:数值总线、状态总线以及内建系统总线。
数值总线用于存储数值类数据、例如飞行速度、高度、GPS位置数据等。
状态数据用于存储用于表示某个状态的数据,例如飞行模式、当前状态等。数值型数据和状态数据没有特殊硬性的划分标准,而是根据用户的使用需求来确定。需要注意的是,状态型数据可以与APM2.5当中的机载参数,例如SERIAL_0、RC_MIN、THR_MIN等等(CSS当中称其为mavlink内部参数总线)相关联,关联后可以对上述参数进行读写控制,从而达到读写设置及使用机载参数的目的。
内建系统总线则是指“控制站-控制目标”系统当中一些基本、关键和只读的常用数据。
作者: scaple 时间: 2013-6-30 00:48
俺摊上事了,俺摊上大事了...
什么秒炸的多没技术含量,看我的螺旋藻,不,是螺旋炸
http://bbs.5imx.com/bbs/forum.ph ... &extra=page%3D1
初步分析原因,升力中心与重心不一致,导致俯仰变化时飞机重力升力形成非常复杂的耦合关系,控制规律发散,最终进入螺旋...
可惜了,这个气动布局的升力特性非常优良,2212电机、6寸桨、后推,800g起飞重量,起飞简直轻松得跟啥一样
如果在apm的增稳控制下不知如何,值得一试
作者: 虱子 时间: 2013-7-2 16:46
碉堡了,带个徒弟介意不?
作者: scaple 时间: 2013-7-2 22:53
虱子 发表于 2013-7-2 16:46
碉堡了,带个徒弟介意不?
赫赫,那可不敢,共同学习呗
作者: 瑞云和风 时间: 2013-7-3 13:54
Control Station Studio 没见过啊,再详细介绍下吧,是哪里开发的?哪里能下到呢
作者: scaple 时间: 2013-7-4 00:58
瑞云和风 发表于 2013-7-3 13:54
Control Station Studio 没见过啊,再详细介绍下吧,是哪里开发的?哪里能下到呢
呵呵,是俺开发的
详细介绍正在陆续编写中...
下载可能还需要再等一段时间,等我们内部测试得差不多了再拿出来供大家下载。
作者: 自由狂飞 时间: 2013-7-4 23:19
太强悍了哥们!一定要大力支持!
作者: 416786163 时间: 2013-7-5 16:23
话说,楼主你摊上嘛事了?
作者: scaple 时间: 2013-7-6 00:26
416786163 发表于 2013-7-5 16:23
话说,楼主你摊上嘛事了?
菱形联翼试飞失败,这个可是寄托了很多憧憬在里面的. 而且,造成失败的原因非常复杂,我想这已经超出了了我的能力范围。
作者: scaple 时间: 2013-7-6 00:42
本帖最后由 scaple 于 2013-7-6 00:53 编辑
起飞后失控、无动力、滑翔迫降,借助GPS 800米外寻得,无损失
几乎同样杯具又重复上演了,上一次是一个很大的灰机、很大很大的......
(, 下载次数: 119)
(, 下载次数: 131)
重新使用界面编辑器搭建的 ArduPlane 机载参数设置页面
(, 下载次数: 108)
作者: scaple 时间: 2013-7-8 00:52
本帖最后由 scaple 于 2013-7-8 01:07 编辑
CSS 遥测记录回放
本来想找个屏幕录像软件的,结果找到的帧速率太低,还是拿手机拍吧,中间一段剧烈变化是用鼠标拖动播放游标
我该换个好点的摄像头和图传了
(, 下载次数: 111)
作者: scaple 时间: 2013-7-8 00:59
今天的超级低级错误,apm 增稳状态下的滚转、俯仰输出设置反了,相当于飞控输出是反舵,明明是已经低头俯冲了,飞控却仍然输出加大俯角的指令。
就这,在频繁大幅度的手动控制介入下,1720飞出了筋斗、横滚等动作,万幸没有出现任何失速螺旋的迹象,最后勉强粗暴着陆了。
不过第二次就没这么幸运了,6-8米高度直接全油门垂直坠地.机头严重撕裂损毁,加强用碳杆折断,玻纤布撕裂.
之后用502, 泡沫胶紧急修复后重上蓝天.
下一步准备用芳纶/凯夫拉进行加强,明天上炸机图
作者: 神舟100 时间: 2013-7-8 16:11
很高技术贴,关注!
作者: scaple 时间: 2013-7-9 01:37
如何将一个Mavlink Message/Frame 字段的数据解析并显示出来?
CSS当中只需要三个步骤
1、通过数据总线编辑器,在数据总线当中创建一个与该字段对应的总线数据项(以当前飞行模式为例)。
至于说这个数据总线条目是定义为数值总线还是状态总线完全由用户确定,唯一的区别是,状态总线可以进行 mavlink 机载参数二次动态关联(这个以后会说到)。
(, 下载次数: 119)
2、在数据帧编辑器中,将表示当前飞行状态的字段关联到上一步所创建的数据总线项上。
至于说表示当前飞行模式的数据位于哪个字段,在哪一个 Mavlink Message/Frame 当中,呵呵,关于这个问题,请参见 Mavlink 协议。
(, 下载次数: 113)
3、进入仪表编辑器当中,从控件工具栏当中拖一个合适的控件过来,设置好它的诸如颜色、大小、形状等等其它属性后,最关键的,把这个控件的关联数据设置到用于表示当前飞行状态的那条总线数据项上。
(, 下载次数: 101)
OK,保存,收工。
作者: scaple 时间: 2013-7-9 10:51
Mavlink Message/Frame 的重载复用
这里我借用一下C++当中重载复用的概念,就相当于是按照已有 mavlink 数据帧的格式,复制出一个格式相同,但字段数值或字段关联对象不同的数据帧出来。并且将这个新创建的(标准Mavlink协议之外)的数据帧融入到整个CSS体系当中。
Mavlink Message/Frame 的重载复用可以提高CSS在搭建通讯协议过程中的灵活性,改善 Mavlink 协议本身通用型不足的问题
例如下面,Mavlink 协议中 REQUEST_DATA_STREAM 消息, req_message_rate 字段确定下行遥测速率,如果我们要构造出可以对下行速率进行调整的机制,一种方法是将该字段关联到某条总线数据,再使用一个具备输入特性的控件来改变该总线数据的数值。
另外一种更简便的方式是,直接把 req_message_rate 的数值设定为一个常量,并且对 REQUEST_DATA_STREAM 消息进行复用,通过复用方式创建出具有不同下行数据传输速率的复用帧。在需要的时候,直接上行发送这些数据帧即可。
(, 下载次数: 111)
作者: scaple 时间: 2013-7-9 11:02
在开发自己的飞控程序过程中,当采用了 mavlink 协议,但已有 mavlink message/frame 不能满足自己的需求(比如说俯冲攻击、自毁指令等等,哈哈,随便举个例子),咋整?
幸好,Mavlink协议本身留下了大量的空白数据帧可供自定义使用,而且CSS也提供了创建 Mavlink 自定义数据帧的途径。如下图所示:
通过数据帧编辑器选择对哪个空白数据帧进行自定义,确定数据帧内每个字段的名称、长度,以及部分属性即可
至于说收发过程中自定义帧的合成、解析全部在CSS内部自动完成,用户无需任何介入。
(, 下载次数: 116)
作者: scaple 时间: 2013-7-9 12:18
本帖最后由 scaple 于 2013-7-9 12:22 编辑
系统组成框图
作者: hongfeng 时间: 2013-7-9 18:19
scaple 发表于 2013-7-9 10:28
谢谢啦!您的分析很有道理,下一步我增加个垂直尾翼试一试。现有飞机的垂直安定面的面积应该是够了,但是 ...
这种构型飞机的升力由前后翼共同提供,根据前后翼提供升力的大小和位置可以确定总升力的大小与作用点,然后布置飞机重心在总升力作用点之前就能保证纵向稳定性了。
作者: scaple 时间: 2013-7-18 12:53
费半天功夫,终于把 Home 的指示图标做好了,一个小动画。悲了个催的,俺最拿手的图像处理软件就是画板了,一个像素一个像素来点的孩纸伤不起啊
apm的航点设定有点特殊,home的信息是作为第一个航点进行上行发送,和俺们以前的规矩不大一样
(, 下载次数: 106)
作者: scaple 时间: 2013-7-23 02:09
增加UAV方位角和斜距计算,这个主要是要将GPS坐标系转换为站心坐标系方便计算。还好没有使用国内测绘的地图,否则又要在gps84系和80系间进行转换,头都乱晕掉了。
本来打算把斜距和方位角计算用公式编辑器来实现的,但是公式编辑器中没有实现 if...else 的逻辑判断功能(cao, 写到这里突然想起来,公式编辑器里是有 if(数值表达式) 的判断功能的)。所以单独内置了斜距和方位角的计算。
另外重新搭建了下飞控界面,就下面这个,用了120多个控件来实现,呵呵
(, 下载次数: 202)
作者: scaple 时间: 2013-7-23 02:16
X宝上专门买了个松下的三防本作为外场飞行使用。拿俺开发用的本子去外场风险太大,呵呵。
之所以选择三防本,1、屏幕亮度;2、触摸屏;3、电池。
现在试用下来感觉还可以,cpu稍微弱了点,不过够用了。
(, 下载次数: 221)
作者: 东方弥勒佛 时间: 2013-7-23 06:39
技术贴,顶
作者: Caballer 时间: 2013-7-24 14:52
感觉CSS比APM的功能更强大~
作者: scaple 时间: 2013-7-26 01:10
CSS 在人机交互界面上的最大特点在于:通过不同类型控件在不同属性设置下各式各样的组合,就可以构建出千变万化,具有较强针对性的用户界面。
而且,上述功能的实现只需要通过鼠标拖动,辅以简单键盘操作的方式既可完成。
接下来俺就将简单介绍目前已实现控件的属性设置,首先是最简单和最基本的“按钮/指示灯”控件,其表现形式如下图所示:
(, 下载次数: 227)
作者: scaple 时间: 2013-7-26 13:20
本帖最后由 scaple 于 2013-7-26 15:02 编辑
圆形仪表控件的不同表现形式
(, 下载次数: 207)
作者: scaple 时间: 2013-7-26 15:02
姿态指示控件的不同表现形式
(, 下载次数: 199)
作者: scaple 时间: 2013-7-26 16:18
移动刻度控件的不同表现形式
(, 下载次数: 176)
作者: scaple 时间: 2013-7-26 17:40
本帖最后由 scaple 于 2013-7-26 17:45 编辑
地图与航迹规划控件,CSS 当中目前最多允许使用2个地图控件,每个地图控件可以同时使用两条航线,上述限制可根据需要而改变。
(, 下载次数: 183)
作者: cike1944 时间: 2013-7-28 17:32
Control Station Studio 怎样下载啊,感觉很好用……分享一下吧……
作者: scaple 时间: 2013-7-29 12:27
cike1944 发表于 2013-7-28 17:32
Control Station Studio 怎样下载啊,感觉很好用……分享一下吧……
现在正在进行试飞测试,俺也想早点发布啊...
天黑了都还在飞啊
(, 下载次数: 178)
(, 下载次数: 164)
作者: tedeum 时间: 2013-7-29 14:56
膜拜 照片和发帖日期对不上啊
作者: powergege 时间: 2013-7-29 17:52
楼主威武~ 期待 发布~ 准备用于 电力线路巡线 看看给力不
作者: scaple 时间: 2013-7-29 18:17
tedeum 发表于 2013-7-29 14:56
膜拜 照片和发帖日期对不上啊
录像的DVR每次断电时间都重置了,上次飞行没有调整时间,所以...
作者: scaple 时间: 2013-8-1 12:37
仪表控件组合示例
(, 下载次数: 170)
作者: 349516385 时间: 2013-8-10 12:41
Control Station Studio 还没好么
作者: 瑞云和风 时间: 2013-8-10 14:32
scaple 发表于 2013-7-9 01:37
如何将一个Mavlink Message/Frame 字段的数据解析并显示出来?
CSS当中只需要三个步骤
仔细看完了楼主的这个帖子,对楼主无比佩服啊,能自己做地面站真是强人啊,相信你应该是个团队吧,我最近也在研究mavlink协议,感觉资料好少,有些细节问题不怎么清楚,入手较慢,不知能否加楼主个qq,请教下相关问题,我qq:475203235
作者: scaple 时间: 2013-8-16 11:42
本帖最后由 scaple 于 2013-8-16 11:45 编辑
Mavlink 硬解析代码已经发布:http://blog.csdn***/ss15/article/details/9998745
(, 下载次数: 165)
只所以称为“硬解析”,是因为解析mavlink的字段信息是根据mavlink帧格式来进行解析的,没有用到mavlink sdk 当中现成的函数。此段代码已用于 MavlinkRelay 当中,用来实现对 tlog 格式数据的解析。
需要注意的是,该解析代码没有实现 CRC 校验,因为在 tlog 数据的读取中不需要。
该段代码中用到的很多常量定义位于 mavlink_types.h 中。
此外,以为该代码 copy/paste 后就能编译运行的同学肯定要失望的,因为这只是一个核心的代码实现,至于其他结构、变量等等的定义现在我暂时还没有加上,等有空余时间的时候我会慢慢加上的。
作者: zhaoarthur 时间: 2013-8-17 23:08
支持,自力更生
作者: scaple 时间: 2013-8-18 01:38
本帖最后由 scaple 于 2013-8-18 01:50 编辑
瑞云和风 发表于 2013-8-10 14:32
仔细看完了楼主的这个帖子,对楼主无比佩服啊,能自己做地面站真是强人啊,相信你应该是个团队吧,我最近 ...
您有什么具体问题在论坛里提出来吧,我会尽量解答的,大伙一块研究恐怕效果更好一些。
问题最好具体一点,这样比较有针对性。
作者: scaple 时间: 2013-8-24 02:04
麻烦事情,arduplane升级更新太快,2.71版的时候还只有260多个机载参数,到了2.74b版就增加到了290多个。这还不算,仅仅是mavlink_request_data_stream_t消息似乎就发生了改变。请求消息的Id变了,而且下行速率更新数据没有以前高了,明显一卡一卡的,无论是MP还是我的CSS都是如此。以前的版本下行速率能到4kb/s,60多fps,现在大概只有一半了。
作者: scaple 时间: 2013-8-27 01:37
悲了个催的,大半年没摸电络铁手生了,修xbee底座焊个5pin的排针花了一晚上,先是焊反了,然后又拆,然后再焊...
整理了一下地图包,5、600平方公里,1m的卫片竟然有2G多,当然,还包含了8级的全国地图...
作者: liangdyc 时间: 2013-8-27 11:04
scaple 发表于 2013-6-29 09:04
CSS作为无人机/车/船控制软件的开发平台,其诸多的编辑设定功能由一系列编辑器组成,它们分别为:仪表编辑器 ...
您好,有些问题需要请教您下,能加下我Q吗?451290891.谢谢了
作者: scaple 时间: 2013-8-27 12:28
liangdyc 发表于 2013-8-27 11:04
您好,有些问题需要请教您下,能加下我Q吗?451290891.谢谢了
有什么问题在论坛里面提吧,大家一块讨论效果会更好。俺的QQ经常是想起来才偶尔上来看看,平时一般不在线。
您的问题:
你好,谢谢你的解答,其实可能是我没说明白。在我的理解中,就是地面站软件通过发送mavlink协议里面的相关命令,然后飞控会根据不同的命令做出不同的反应。那么这个命令怎么发?比如前面说到要得到姿态数据,那么用66号命令。这个命令怎么发出去?难道用串口助手我打一个66,然后发出去?我现在需要的不是具体哪个指令是什么意思,而且这些指令怎样发出去。
直接把合成好的数据帧写入串口就行了,比方说将 req_stream_id 为 3 的下行数据传输速率调整为 0,合成后的数据帧内容为 FE 06 36 FF BE 42 00 00 01 01 03 01 3D 94,把这14个字节的数据写入串口就ok了
-------------------------------------------------------------------------------------
>>> GCS Msg: MAVLINK_MSG_ID_REQUEST_DATA_STREAM ( 66/0x42)
>>> FE 06 36 FF BE 42 00 00 01 01 03 01 3D 94 , W:1
>>> req_message_rate=0; target_system=1; target_component=1; req_stream_id=3; start_stop=1;
作者: liangdyc 时间: 2013-8-28 18:06
scaple 发表于 2013-8-27 12:28
有什么问题在论坛里面提吧,大家一块讨论效果会更好。俺的QQ经常是想起来才偶尔上来看看,平时一般不在线 ...
你好,看到你的解释了。我用串口助手把你说的那几个字节发送出去,没有反应。具体情况我现在也弄不清楚了。
作者: liangdyc 时间: 2013-8-28 18:07
本帖最后由 liangdyc 于 2013-8-28 18:09 编辑
scaple 发表于 2013-8-27 12:28
有什么问题在论坛里面提吧,大家一块讨论效果会更好。俺的QQ经常是想起来才偶尔上来看看,平时一般不在线 ...
而且,通过这几天的测试,我发现,地面站与APM连接的时候,好像之间还需要进行通信,才能正式启动。另外我是用的那个USB线直接和APM连接的。不是走的数传模块或者其他的。
作者: scaple 时间: 2013-8-28 20:49
liangdyc 发表于 2013-8-28 18:06
你好,看到你的解释了。我用串口助手把你说的那几个字节发送出去,没有反应。具体情况我现在也弄不清楚了 ...
>>> GCS Msg: MAVLINK_MSG_ID_REQUEST_DATA_STREAM ( 66/0x42)
>>> FE 06 36 FF BE 42 00 00 01 01 03 01 3D 94 , W:1
>>> req_message_rate=0; target_system=1; target_component=1; req_stream_id=3; start_stop=1;
这条指令当中req_message_rate 字段的数值为0,表示请求下行发送的数据刷新率为0,也就是说这条指令实际上是关闭了req_stream_id=3的数据下行传输。你把req_message_rate改成大于0的数值,应该就有数据下来了,具体是哪类数据我记不清楚了。当然,你也可以把req_stream_id改为10,这个我记得好像是姿态数据。具体字段数值与字节位置的对应关系,看我前面贴过的图。
还有要注意的是,写入串口的必须是16进制的数据,而非 FE 06 36 FF BE 42 00 00 01 01 03 01 3D 94 这个字符串
作者: scaple 时间: 2013-8-28 20:54
本帖最后由 scaple 于 2013-8-28 21:00 编辑
liangdyc 发表于 2013-8-28 18:07
而且,通过这几天的测试,我发现,地面站与APM连接的时候,好像之间还需要进行通信,才能正式启动。另外我 ...
MP与apm建立连接的时候,MP上行发送了一个请求机载参数下行发送的msg上去,APM接受并响应该消息后,下行传送ArduPlane的200多个参数。MP必须完整接收这些参数后,才能继续运行。
实际上,无论MP是否请求下行参数传送,只要连接建立后,MP都在接收并处理APM的下行数据了。这只不过是MP的一个强制措施罢了。
USB连接是最可靠的数据通讯方式,相对其他无线数传。
作者: liangdyc 时间: 2013-8-29 18:54
scaple 发表于 2013-8-28 20:54
MP与apm建立连接的时候,MP上行发送了一个请求机载参数下行发送的msg上去,APM接受并响应该消息后,下行传 ...
非常感谢你啊,这么耐心详细的解释。
作者: liangdyc 时间: 2013-8-31 14:43
scaple 发表于 2013-8-28 20:54
MP与apm建立连接的时候,MP上行发送了一个请求机载参数下行发送的msg上去,APM接受并响应该消息后,下行传 ...
不过还是不好意思。。。还是没反应。嘿嘿。可能是我不怎么会弄吧
作者: scaple 时间: 2013-9-1 00:42
liangdyc 发表于 2013-8-31 14:43
不过还是不好意思。。。还是没反应。嘿嘿。可能是我不怎么会弄吧
前面说漏了一点,如果您需要对例子当中某个字段数值进行更改的话,相应的,最后两位CRC校验码也必须随之改变。否则,APM肯定不会有什么响应动作。
先用mp把apm的下行数据关掉,然后关闭MP,用串口助手打开apm,发送如下图所示的 请求机载参数下行传送 message 上去,机载参数就源源不断地下来了...
(, 下载次数: 133)
作者: liangdyc 时间: 2013-9-1 16:44
scaple 发表于 2013-9-1 00:51
终于把 tlog 格式遥测数据的记录、回放搞定了。记录简单,很容易就弄完了。回放有点啰嗦,一方面原有的遥测 ...
膜拜大神,膜拜大神。出来了。啊哈哈哈。太感谢了。
作者: liangdyc 时间: 2013-9-1 18:54
本帖最后由 liangdyc 于 2013-9-1 21:33 编辑
scaple 发表于 2013-9-1 00:42
前面说漏了一点,如果您需要对例子当中某个字段数值进行更改的话,相应的,最后两位CRC校验码也必须随之改 ...
非常感谢你的帮忙,现在已经收到数据了。正在做数据校验。但是5555,又遇到问题了。 1、比如发送的命令为:FE 06 36 FF BE 42 00 00 01 01 03 01 3D 94。各数据位的含义我已经懂了。3D 94是校验和。我用CRC-16-CCITT校验软件对上面数据进行处理,却获得的不是3D 94,而是44 2F。对FE 02 91 FF BE 15 01 01 78 9B 进行校验,获得的校验和为:FA 7F而不是78 9B。这是怎么一回事?是不是还有其他的问题呢?(刚才又仔细研究下资料,好像是需要校验的数据+ crc_extra )。这个CRC_extra在它那个mavlin库里面可以查到。查到的是: #ifndef MAVLINK_MESSAGE_LENGTHS
#define MAVLINK_MESSAGE_LENGTHS {9, 31, 12, 0, 14, 28, 3, 32, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 20, 2, 25, 23, 30, 101, 22, 26, 16, 14, 28, 32, 28, 28, 22, 22, 21, 6, 6, 37, 4, 4, 2, 2, 4, 2, 2, 3, 13, 12, 19, 17, 15, 15, 27, 25, 18, 18, 20, 20, 9, 34, 26, 46, 36, 0, 6, 4, 0, 21, 18, 0, 0, 0, 20, 0, 33, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 56, 42, 33, 0, 0, 0, 0, 0, 0, 0, 26, 32, 32, 20, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 8, 4, 12, 15, 13, 6, 15, 14, 0, 12, 3, 8, 28, 44, 3, 9, 22, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 30, 18, 18, 51, 9, 0}
#endif
#ifndef MAVLINK_MESSAGE_CRCS
#define MAVLINK_MESSAGE_CRCS {50, 124, 137, 0, 237, 217, 104, 119, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 214, 159, 220, 168, 24, 23, 170, 144, 67, 115, 39, 246, 185, 104, 237, 244, 222, 212, 9, 254, 230, 28, 28, 132, 221, 232, 11, 153, 41, 39, 214, 223, 141, 33, 15, 3, 100, 24, 239, 238, 30, 240, 183, 130, 130, 0, 148, 21, 0, 52, 124, 0, 0, 0, 20, 0, 152, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 183, 63, 54, 0, 0, 0, 0, 0, 0, 0, 175, 102, 158, 208, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 219, 208, 188, 84, 22, 19, 21, 134, 0, 78, 68, 189, 127, 111, 21, 21, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 49, 170, 44, 83, 46, 0}
#endif
这个里面具体是怎样定义的?仔细看了一下长度为9的就可以看到CRC_extra有50,46两个值。具体怎么选啊?能仔细说明下吗?最好举个例子。非常感谢
刚刚又查看了地面站源代码程序,发现他里面做了这个定义:const int X25_INIT_CRC = 0xffff; const int X25_VALIDATE_CRC = 0xf0b8; 好像是0xffff作为CRC—extra的值。但是还是不对。WHY?
(, 下载次数: 125)
2、另外对命令的生成自己也有一些疑问。例如你前面教给我的发送FE 02 91 FF BE 15 01 01 78 9B 可以获得数据,非常成功哦。的确是大神,但是疑问来了。对于这已组数据每一位的含义我基本了解了。FE为头,02表示有两个有效数据,91为数据包序列号,FF为系统ID,BE 为组件ID,15为消息ID,01 01两个为数据, 78 9B为校验和。可是如果我现在想写一条让APM发送姿态数据的消息,除了FE以及校验和可以最后确定。那么其他数据位的数据是怎样确定的呢?我也查看了MAVLINK协议说明,很多只是说了某个命令的含义。至于发送命令时,每一位是怎样确定的,却没有说明。您能详细解释下吗?或者举个详细的例子说明下,谢谢了,。 (刚查了资料,总不能什么都让您帮解答吧嘿嘿。消息ID 是固定在协议里的 ,可变化的。组件ID ,系统ID 都是可变得 是根据飞行器类型,模式所定的。这一点自己可以理解了。对了我用的是四旋翼飞行器。)
3、 还有我通过发送那条指令,从APM获取了一些数据,其中一条为:FE 19 58 01 01 16 00 00 00 00 10 01 01 01 4D 4E 54 5F 52 43 5F 49 4E 5F 50 41 4E 00 00 00 02 3E 4B。根据这包数据,我知道其中00 00 00 00 10 01 01 01 4D 4E 54 5F 52 43 5F 49 4E 5F 50 41 4E 00 00 00 02这些为有效数据。但是怎样把他合成有效的或者说我们能够看懂的数据,这里就不大清楚了。比如多少个数据表示的是同一个数,或者哪一个数是表示的正负?因为我们平时在实验室,通信协议和格式都是自己规定的,很少用其他的,所以,这里自己就遇到难题了。
再次对你前面对我的帮助表示感谢啊。
作者: scaple 时间: 2013-9-1 22:12
本帖最后由 scaple 于 2013-9-1 22:18 编辑
liangdyc 发表于 2013-9-1 18:54
非常感谢你的帮忙,现在已经收到数据了。正在做数据校验。但是5555,又遇到问题了。 1、比如发送的命令为 ...
祝贺你!你已经一步步接近问题的实质了。
1、你说得对,在校验的过程中确实要加上 crc_extra(好像是最后,我记得)。
宏定义 MAVLINK_MESSAGE_LENGTHS 和 MAVLINK_MESSAGE_CRCS 简单的说就是两张表,mavlink在这里用简单查表的形式获取其需要的数据。MAVLINK_MESSAGE_LENGTHS 表示mavlink message的长度(准确的应该是载荷长度,如果我没记错的话),MAVLINK_MESSAGE_CRCS表示mavlink message 对应的附加校验码。这2个表当中的元素的索引,就是 mavlink msg 的id(即序号),这样,通过message的序号,马上就可以得到message的载荷长度与附加校验码。哈哈,简单吧?
const int X25_INIT_CRC 这个应该是CRC校验迭代运算的初始值,至于其他....Sorry 我现在好想念当年给我上《通信原理》的老师,好多东西又还给他了....5555555
3、4,两个问题的实质其实就是一个:mavlink message,或者我称其为 mavlink 数据帧的帧格式是如何定义的?赫赫,你仔细看下mavlink的源代码去,所有所有mavlink message的帧格式定义及其他信息都定义在程序当中了。是哪个文件我记不得了,得回头看下我的源程序去。
现在真羡慕你们,学习mavlink的时候有那么资源。当初我啃mavlink的时候,几乎连可用可信的数据帧例子数据都没有。
另外说一句,西工大和北航的类似通讯协议我接触过一点,从通讯协议的角度上来说 mavlink 协议还是不错的,考虑得比较周全。可以看出 mavlink在设计的时候是想做为一个海陆空天的通用协议来进行设计的。但是在实现的过程中,mavlink 的通用性并不是太优秀,具体的说就是不同类型的数据帧之间的规律性不是很强,包含了一定数量的特殊规则在里面,这样就给通用化的实现带来一定麻烦。
作者: liangdyc 时间: 2013-9-1 22:16
本帖最后由 liangdyc 于 2013-9-1 22:18 编辑
scaple 发表于 2013-9-1 22:12
祝贺你!你已经一步步接近问题的实质了。
1、你说得对,在校验的过程中确实要加上 crc_extra(好像是最 ...
5555555555,激动啊。刚刚也是在看源代码,发现真的越来越接近实质问题了。哈哈。还好自己用了一个星期疯狂学习C#,现在部分源代码也能看懂了。激动啊。您能仔细帮我解释下FE 02 91 FF BE 15 01 01 78 9B这个里面的校检码是用的哪个CRC_extra算出来的吗?尤其是怎样通过那个表查到相应的CRC_extra 。现在这里稍微还有点晕。
作者: scaple 时间: 2013-9-1 22:21
liangdyc 发表于 2013-9-1 22:16
5555555555,激动啊。刚刚也是在看源代码,发现真的越来越接近实质问题了。哈哈。还好自己用了一个星期疯 ...
您能仔细帮我解释下FE 02 91 FF BE 15 01 01 78 9B这个里面的校检码是用的哪个CRC_extra算出来的吗
俩字:查表
表当中索引为 0x15 的信息就是你所需要的咚咚
作者: liangdyc 时间: 2013-9-1 22:25
scaple 发表于 2013-9-1 22:12
祝贺你!你已经一步步接近问题的实质了。
1、你说得对,在校验的过程中确实要加上 crc_extra(好像是最 ...
恩,通信协议这里就是需要通用化,标准化,简单化,发现mavlink这里好像有点太繁琐了。而且他还设定了包的序列号,我个人认为,无非就丢包了,数据传输过程中肯定会有偶尔的几个数据包丢失,这个比较正常,且有误码率的存在。一般我们实验室在不大的工程上一般不设定序列号,只是校检下数据正确与否,不过暂时还从来没有出现过数据错误或者其他情况。也可能我们现在有的项目工作频率比较低的原因吧。
作者: scaple 时间: 2013-9-1 22:26
今天的测试飞行堪称完美,但是也有存在个重大事故隐患,差点出大事了!
(, 下载次数: 171)
(, 下载次数: 177)
(, 下载次数: 142)
(, 下载次数: 187)
(, 下载次数: 162)
(, 下载次数: 160)
(, 下载次数: 166)
(, 下载次数: 158)
(, 下载次数: 164)
(, 下载次数: 171)
作者: liangdyc 时间: 2013-9-1 22:31
scaple 发表于 2013-9-1 22:21
俩字:查表
表当中索引为 0x15 的信息就是你所需要的咚咚
55555555555,还是不行哦。嘿嘿。在#define MAVLINK_MESSAGE_CRCS {50, 124, 137, 0, 237, 217, 104, 119, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 214, 159, 220, 168, 24, 23, 170, 144, 67, 115, 39, 246, 185, 104, 237, 244, 222, 212, 9, 254, 230, 28, 28, 132, 221, 232, 11, 153, 41, 39, 214, 223, 141, 33, 15, 3, 100, 24, 239, 238, 30, 240, 183, 130, 130, 0, 148, 21, 0, 52, 124, 0, 0, 0, 20, 0, 152, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 183, 63, 54, 0, 0, 0, 0, 0, 0, 0, 175, 102, 158, 208, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 219, 208, 188, 84, 22, 19, 21, 134, 0, 78, 68, 189, 127, 111, 21, 21, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 49, 170, 44, 83, 46, 0}
#endif里面查?具体怎么查还是不懂哦。因为没用计算机查,只是自己手动查的。。。。嘿嘿。有点笨
作者: scaple 时间: 2013-9-1 22:34
第一个起落降落的不是太好,落远了点,捡飞机的时候发现少了两根橡筋,怪哉,也不是很粗暴的降落阿,怎么橡筋就断了,还两根?
拿回飞机来才突然想起:不是断了两根橡筋,而是上天的时候就只绑了两根橡筋
1.6-1.8公斤,1.7米翼展的飞机啊,简直是黑死人喽.....
作者: scaple 时间: 2013-9-1 22:36
飞行数据回放,youku会吃清晰度阿,明明上传的是高清
作者: liangdyc 时间: 2013-9-1 22:42
scaple 发表于 2013-9-1 22:36
飞行数据回放,youku会吃清晰度阿,明明上传的是高清
帅气。哈哈。我们的四旋翼飞行器前天也稳定起飞航行了。惊动学校了。我们学院院长给我来了一句“经费没白费。”。。。。狂汗。我们导师居然让我加上图像识别,自动跟踪羊群。。。。。
作者: scaple 时间: 2013-9-1 23:10
liangdyc 发表于 2013-9-1 22:42
帅气。哈哈。我们的四旋翼飞行器前天也稳定起飞航行了。惊动学校了。我们学院院长给我来了一句“经费没白 ...
自动锁定跟踪的玩艺儿几年前见过,愣是没搞清楚原理是什么,锁定的还是快速运动物体...
犹豫了好几周了,四旋翼神马的,上?还是不上?飞固定翼找场地太费事了,而且飞起来后速度太快,轻轻松松就是50-60km/h,实验当中出个什么状况来都来不及。
但是四旋翼也不是省油的灯,四个旋翼那不是一般的危险。弄个小的?问题是载荷够不够?抗风怎么样?留空时间够不够?飞行起来好不好控制?
头大啊
作者: scaple 时间: 2013-9-1 23:22
今天的测试项目:
Manual
Stabilize
RTL
AUTO
现场使用arduino编译器烧录ArduPlane
飞行过程中重新规划航迹
顺带拍了点渣画质的录像
现在俺的手丢飞机技术已经很娴熟了,哈哈
单人独自飞行
CSS搭建的操控界面基本定型了,该写使用说明啦...
(, 下载次数: 156)
作者: liangdyc 时间: 2013-9-2 15:16
本帖最后由 liangdyc 于 2013-9-5 10:13 编辑
scaple 发表于 2013-9-1 23:22
CRC校检已经做好了。原来这里虽然在文档上说用的是CRC-16-CCITT校验,实际上和通用的是不一样的。最后逼着我看了下源代码,利用源代码的校验方法才成功。无奈啊。
现在正在摸索着自己合成命令,通过串口发送,获取姿态数据。不是很成功。遇到了很多问题。文档上面都说的稀里糊涂,mavlink文档资料和源代码里面以及其他的一些发现好多有出入的地方。可能是我还没理解透吧
作者: upym 时间: 2013-9-2 22:51
楼主加油
作者: 416786163 时间: 2013-9-3 00:33
高手,挺一下
作者: richchan 时间: 2013-9-5 00:57
强悍,有时间玩玩
作者: scaple 时间: 2013-9-6 00:16
liangdyc 发表于 2013-9-2 15:16
CRC校检已经做好了。原来这里虽然在文档上说用的是CRC-16-CCITT校验,实际上和通用的是不一样的。最后逼着 ...
建议你好好看看,mavlink的文档结合源代码看效果会很好的。应该说 mavlink 的文档(文档+源代码+代码注释)是非常优秀和精炼的。它的源代码本身就是个自说明的东西,而且做得很好。
这个就是开源软件的一大特点了:源代码我公开,无偿提供给大家,ok 没问题。但是要想我手把手来一点点教会你,Sorry,你自个研究去。有那么点放马过来的味道,呵呵。
不过开源软件的版本控制很多都有点问题,不如商业软件那么严谨。不过话说回来,人家都开源了,还能要求人家什么呢。
对这些开源软件的作者或团队,俺一直都是敬重有加的。
作者: liangdyc 时间: 2013-9-6 10:23
scaple 发表于 2013-9-6 00:16
建议你好好看看,mavlink的文档结合源代码看效果会很好的。应该说 mavlink 的文档(文档+源代码+代码注释) ...
恩好的。自己一直在看源代码和文档。看来还是我看的不够深。我继续看看
作者: mychina007 时间: 2013-9-7 11:05
值得期待完善
作者: 237166589 时间: 2013-9-7 11:23
控制站-控制目标
作者: scaple 时间: 2013-9-7 15:12
本帖最后由 scaple 于 2013-9-7 15:18 编辑
本地总线的远端参数装订功能基本完成,这就意味着系统数据总线与机载参数总线之间建立起了双向联系。而本地数据总线当中的任何数据都可在数据处理通道当中进行运算处理。
这样的话就为机载参数的自适应设置提供了条件。
传说中的高端产品 PPZ 到货了,没想到这玩艺儿只有APM的一半大...
(, 下载次数: 148)
作者: scaple 时间: 2013-9-7 19:30
本帖最后由 scaple 于 2013-9-7 19:31 编辑
liangdyc 发表于 2013-9-7 19:18
您好,我已经可以自己写命令获取数据了。还得谢谢你哦。
这是我获取的一段数据
我可以知道哪几位是哪些数据。查了一下MAVLINK协议文档。是利用的IEE745表示浮点数。所以想转换到浮点数来看,可是发现转换后的数据不对。
例如roll为: 6A 44 73 BB。转换后为:59373995582784778000000000.000000
你直接用 memcpy() 把 6A 44 73 BB 复制到一个 float 变量中去看看是不是以弧度表示的滚转角,如果不是的话,说明是别的地方错误。等我吃晚饭给你看看代码去。
另外说一句,你这种解析数据的方法是“硬解析”,前面我也贴过代码的,但这个不是简单的方法。你可以研究下 mavlink 里面是如何解析msg的。
作者: NeoLu 时间: 2013-9-8 00:14
不错 开源还是闭源?
作者: scaple 时间: 2013-9-8 00:41
NeoLu 发表于 2013-9-8 00:14
不错 开源还是闭源?
哈哈哈,你的问题和 3D Robotics Inc 的软件总监 Craig Elder 问我的问题一样。
因为这个是集体的项目,所以我无法决定它开源与否,但我可以肯定的是,合适的时候,会有一个免费版推出。
作者: 阿咕 时间: 2013-9-8 09:38
师兄威武,飞场不错啊,通用性地面站是个很大的工程
作者: scaple 时间: 2013-9-8 11:33
本帖最后由 scaple 于 2013-9-8 11:39 编辑
阿咕 发表于 2013-9-8 09:38
师兄威武,飞场不错啊,通用性地面站是个很大的工程
近期阴雨连绵,里面路是越来越烂,水坑是越来越深,就怕那天一个不小心就陷在里面了。
(, 下载次数: 176)
你要早回来一天我就可以带你进去了,不过这个要求对你有点残酷阿,你还是老实呆着吧。
等软件整利索了就可以整硬件了,不过任何简单的问题放到通用化的环境下面就都不是简单的问题了。一个功能,专用地面站里面可能1、2小时就能搞定,CSS里面得1、2天甚至一周。
作者: 阿咕 时间: 2013-9-8 12:16
scaple 发表于 2013-9-8 11:33
近期阴雨连绵,里面路是越来越烂,水坑是越来越深,就怕那天一个不小心就陷在里面了。
LABVIEW我的没合适的用,安不上,下次找你拷个
作者: NeoLu 时间: 2013-9-8 13:57
scaple 发表于 2013-9-8 11:26
您这个问题问得非常好。
简单的说,MP提供的是鱼,而CSS提供的是渔。MP是现成GCS,而CSS是用于构建各 ...
不是太理解 这个想要如何玩. (开放使用? 开放code? 封闭商业授权?)
MP 算是开源的 也是给你渔 呀, CSS 我现在只能看到鱼 . (昨晚刚下了 mp 的code ,刚编译过了)
作者: scaple 时间: 2013-9-8 16:25
NeoLu 发表于 2013-9-8 13:57
不是太理解 这个想要如何玩. (开放使用? 开放code? 封闭商业授权?)
MP 算是开源的 也是给你渔 呀, CSS ...
要证明渔的有效性和高效性,那我就得首先自己抓几条活蹦乱跳的鱼才行。
遥控器校准操作,MP大概用了不到不到一页的篇幅来说明。我这里了6页来讲述(见99楼开始的教程),而且还有很多细节上的问题没有涉及。区别就在于MP是告诉你如何进行校准操作。而我是讲述如何利用CSS提供的机制来构建和实现校准操作这个功能,呵呵。
因为遥控器校准操作比较有代表性,CSS最主要的数据帧编辑器、总线编辑器、仪表控件编辑器、公式编辑器、条件-动作编辑器都用到了。
这么说吧:
MP 或是 QGCS 等开放的源代码,是让你从如何结网,如何砍木头做小船等开始一步步教你捕鱼。
CSS 是直接把小船、渔网什么的一并提供给你,教你如何捕鱼。
MissionPlanner 、QGroundStation、HK GCS 等等等等,是直接把抓到的鱼给你,至于是不是合乎口味,各人自己看着办吧...
作者: 四书五经008 时间: 2013-9-10 11:31
强人 如果zf对一些品牌加以限制的话 就只能这样玩了 能个性化是最好的
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) |
Powered by Discuz! X3.3 |