5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
标题:
GPS 罗盘 四轴导航(这几天风大,做了个地面站界面)
[打印本页]
作者:
切风40.83
时间:
2011-11-28 05:53
标题:
GPS 罗盘 四轴导航(这几天风大,做了个地面站界面)
用GPS 和 罗盘 也许还会加上气压计 给四轴飞碟导航。 这些不算是什么新鲜玩意儿。市场上买的具备同种功能的导航模块 也非常便宜。
经常看我帖子的人应该对我很熟悉吧。
我最先开搞的是 超声波定高。
http://bbs.5imx.com/bbs/viewthread.php?tid=472214&extra=page%3D2
那时候我刚接触AVR 才两个星期。 一开始纯粹是在乱搞,最后的结果还凑活。 虽然不能像一块砖头掉在地上一样稳定,但是不会偏差目标高度3里面。
后来为了熟悉GPS。 我搞了个 GPS 导航小车。 这个是我搞过最为顺利的一个。
http://bbs.5imx.com/bbs/viewthread.php?tid=497415&extra=page%3D2
最后效果非常满意,小车可以自己开回来。 但是毕竟自动驾驶小车不是最终目标,而且也没什么挑战性。 所以没有继续优化下去。学到该学的知识就够了。
再后来搞了罗盘。 前后也比较曲折。
http://bbs.5imx.com/bbs/viewthread.php?tid=500271&extra=page%3D2
主要是为了学习怎么接受罗盘的信号,再进行一些计算,控制伺服电机。
再再后来 搞了 四轴飞碟红外线壁障
http://bbs.5imx.com/bbs/viewthread.php?tid=548570&extra=page%3D1
这个我就不多说了,主要是为了证明 我的算法 可以用来改变四轴的位置。
在搞这些项目的时候 遇到了很多困难, 但是我发誓 我头脑里从来没有一丝放弃的念头。
在之前的这些基础上,终于开始搞GPS 罗盘 四轴导航系统了。 希望一切都能和我预想的一样顺利。 更加希望能有更多的朋友加入我的行列,一起搞。这样会更加有意思。
[
本帖最后由 切风40.83 于 2011-12-26 11:37 编辑
]
作者:
NeoLu
时间:
2011-11-28 06:36
:em15:
作者:
luopeixuan
时间:
2011-11-28 07:08
高技术!
作者:
oppop
时间:
2011-11-28 11:03
我有兴趣,请问怎嘛合作?
作者:
切风40.83
时间:
2011-11-28 11:56
自己有什么特长就都拿出来 有什么建议都提出来 这就是最大的帮助了
作者:
javajtg
时间:
2011-11-28 14:19
强烈支持,
作者:
javajtg
时间:
2011-11-28 14:23
可以和MWC的合作一下,
弄个MWC中 国版,好像你的片子和MWC是一个平台的, 用户很多, 测试也方便
作者:
javajtg
时间:
2011-11-28 14:25
可以和MWC的合作一下,
弄个MWC中 国版,好像你的片子和MWC是一个平台的, 用户很多, 测试也方便
作者:
feng235
时间:
2011-11-28 17:26
楼主终于开新贴了,再来顶楼主,不知楼主怎么联系?想跟你学学!
作者:
切风40.83
时间:
2011-11-29 03:07
前两天 感恩节 学校放假,门不开。 今天一开门 我就做了这个测量单元。 上面有GPS 倾斜补偿罗盘 还有气压计。 暂时先不考虑气压计的问题。 应为要涉及到和超声波测距 数据融合的问题。 我的想法很简单, 读取GPS坐标→ 储存到单片机 → 读取接收机输出的 pitch and roll → 通过罗盘测出角度 → 磁偏角补偿 → 读取GPS 地理坐标 → 计算 → 输出 pitch and roll → 卡尔曼滤波 → 输出到YF90Q。 第四通道还是手动控制。
[
本帖最后由 切风40.83 于 2011-11-29 03:22 编辑
]
作者:
切风40.83
时间:
2011-11-29 05:02
回复楼上各位关于 合作的问题:
如果给位真有兴趣的话,不放买一些和我一样的板子 或者传感器。 帮我测试我的源代码。 我最希望听到的是各方面的意见。 这些板子和传感器都不贵 全部加起来 也不会超过 400 人民币。 甚至可以和我造一个差不多的四轴飞碟,然后进行像我这样的改造。
作者:
超音速
时间:
2011-11-29 09:41
标题:
关注
有时间我们试试:loveliness:
作者:
hammer11
时间:
2011-11-29 10:05
刚买了 GPS 模块还在路上
不过是打算做个OSD模块的
导航 自动控制 我等业余人士 等等再看哈
作者:
切风40.83
时间:
2011-11-29 11:45
我在这里简单的说明我的导航方法。非常非常简单,而且很容易理解。 只需要高中的数学知识就够了。
楼上说的OSD,我是根本不懂怎么通过单片机弄出来的。我觉得搞辅助飞行最简单也是最有效的办法,是把飞机的姿态和位置信息通过数传模块发送回来,而不是叠加在视频上。
过两天等不下雨了,我打算搞个简单的测试系统 来测试各方面的可靠性。测试系统包括几两个舵机,一个单片机 和 我做的这个测量单元。拿在手上,在外面走在,看看舵机的反应是否正确。如果有问题的话,可以便于排查。 确保地面测试没有问题之后,才会在空中测试。 同时我非常希望有热心人能够帮我进行单项测试。我这儿的冬天实在是太冷啦。
更正:
最后式子是错的,后来贴出来的源代码也有很多BUG。唉,当时犯糊涂了。
正确的式子如下:
r = cos(bearing)*(lat0-latc)-sin(bearing)*(lon0-lonc);
p = sin(bearing)*(lat0-latc)+cos(bearing)*(lon0-lonc);
[
本帖最后由 切风40.83 于 2011-12-6 11:54 编辑
]
作者:
ggggso007
时间:
2011-11-29 12:39
:em23: :em23: 我们这里也冷起来了,今天温度0度。。。
作者:
b57835o
时间:
2011-11-29 16:45
我也在自己研究楼主正在研究的东西,我的电邮通过消息给你了,希望可以一起交流。
作者:
hammer11
时间:
2011-11-29 20:56
标题:
回复 14楼 切风40.83 的帖子
其实OSD 也没什么难的 也就是现成的方案,使用MAX7456的方案,可以说什么都是现成的,只需要制版,焊接,烧程序就行。 不过我只是加一点自己的程序进去而已
作者:
mltttt
时间:
2011-11-29 23:01
不知道楼主手里有没有一个叫做9自由度的模板 是3轴陀螺仪+陀螺仪加速传感+气压+磁定 4合一的 几成的模块有:九自由度惯性测量传感器包括ITG3200三轴数字陀螺仪,BMP085气压传感器,BMA180数字三轴加速传感器,HMC5883L三轴磁感应传感器【电子罗盘】可以采集加速度,角速度,高度以及角度的信号。
现在还能实现Carefree
我也刚买的还在路上 测试完给你数据
[
本帖最后由 mltttt 于 2011-11-29 23:44 编辑
]
作者:
切风40.83
时间:
2011-11-30 00:35
回复楼上:
我几个美国同学手上有9自由度的测量单元。 陀螺(角速度传感器),加速度计 和 HMC5883(磁阻)。 如果你需要的话,我可借来测试,其实我也很想测试。 那几个美国同学是学电子工程专业的,大四,刚开始搞四轴飞控。他们PID算法都还没听说过呐。 :em14:
作者:
切风40.83
时间:
2011-12-1 09:15
准备等我的ARDUINO UNO 到了之后 对代码问题进行仔细排查
作者:
javajtg
时间:
2011-12-1 12:10
9自由度的好多人都有,
MWC 飞控的一个传感器, 国内、 玉兔,
mwc 都用的这个
作者:
切风40.83
时间:
2011-12-4 05:18
今天测试了下测量模块,效果非常好。得到了方向和地理坐标。这天气真是冷啊。
作者:
切风40.83
时间:
2011-12-4 05:23
下面室外导航就指日可待了啊。
作者:
切风40.83
时间:
2011-12-5 08:29
为了保证程序没有问题。 我专门做了这个导航测试台。 等到个好天气到外面测试。
[
本帖最后由 切风40.83 于 2011-12-5 08:34 编辑
]
作者:
切风40.83
时间:
2011-12-6 11:58
最新进展
我用ARDUINO 进行了 室内模拟计算。 也就是输入了伪坐标,让它试运行。
作者:
wmw
时间:
2011-12-6 13:36
:em26: 期待成品啊~
作者:
hammer11
时间:
2011-12-6 15:51
顶一下
楼主是想利用自己的板子控制四轴的导航
只需要接在接收机和飞控板之间吧
作者:
cqzk
时间:
2011-12-6 16:36
我准备下学期用单桨直升机加GPS做个自动飞的。暂时准备在平地,无障碍物的地方测试。
作者:
zengxushen
时间:
2011-12-7 13:51
我昨天才想到这个方法,没想到楼主已经实施了!支持一个!我认为是可行的。这样可以加装在任一个有自稳功能的四轴上面实现导航。
作者:
zengxushen
时间:
2011-12-7 22:46
顶楼主,进展如何
作者:
切风40.83
时间:
2011-12-8 02:39
今天打算到室外用真GPS信号测试下输出控制量。
基于大家经常问我设备的问题 我就把设备型号在这里统统报下:
单片机 ARDUINO UNO 一个 目前用于测试GPS和罗盘 输出控制量
单片机 auduino duemilanove * 2 目前用于 超声波定高 和 红外测距仪 壁障
超声波测距仪 最一般的 五个脚的那种
红外测距仪 夏普 GP2Y0A700K 就是测距范围最大的那种
GPS SKYLAB 目前淘宝上没有和我一摸一样的型号 但是大多数TTL的GPS都是通用的
罗盘 CMPS10 自带加速度传感器 和 倾斜补偿功能 输出的方向就是倾斜补偿过的, 不需要任何计算直接可以用。 同时还能输出 PITCH 和 ROLL。
数传模块 Xbee900 pro * 2 目前数传模块只是用来做定向天线用,还没有发挥它真正的作用。据说传输距离有15英里 也就是差不多28公里。
遥控系统 Futuba 10CG 和 7 通道接收机。 用7通道接收机是应为 它 1~5 通道信号不是同时发出的,而是按照顺序一个接一个发出的。
平衡仪 FY90Q 没什么好说的,带加速度传感器。 不错。
马达 950KV
电调 某杂牌电调,30A 效果还可以。 以后打算换上 好赢 FUNFLY 系列。
电池 某杂牌 5000mah 30c
就这些了,还有神马问题 可以到我群里去问。
作者:
切风40.83
时间:
2011-12-8 02:41
哦 忘记气压计了 BMP085 效果怎么样还不知到,我买来到现在还没测试过。
作者:
切风40.83
时间:
2011-12-8 05:52
刚才的室外测试不算很顺利,一个GPS不工作了。 幸好有一个备用的GPS。 测试结果是 运算速度很快,但是抓包很慢。 所以每次输出坐标信息, 都会用掉半秒钟的时间。:em22: 如果 FY90 平衡仪在接收不到 控制信号的状态下会出什么状况?
作者:
javajtg
时间:
2011-12-8 18:17
过来顶帖的
作者:
切风40.83
时间:
2011-12-11 05:36
今天进行了最后一项模拟测试。哈哈,快了。
[
本帖最后由 切风40.83 于 2011-12-11 05:39 编辑
]
作者:
qazwsx521521
时间:
2011-12-11 20:29
:em26:
作者:
feng235
时间:
2011-12-12 16:17
顶切风兄,希望切风兄能顺利完工!
作者:
切风40.83
时间:
2011-12-13 05:00
做个几号:下周是期末考 试,比较忙,暂停更新两周。 我会抽空看看 中断 怎么在这上面实现。
作者:
oppop
时间:
2011-12-18 22:37
楼主可以先在matlab上面先仿真。这样会少走弯路
作者:
切风40.83
时间:
2011-12-25 05:38
A#2 的程序 和接线方法。
目前程序还没有融入任何高度控制, 这个过两天再考虑。
预计的效果是这样的:
1. 通道六开关,关闭。
2. 启动后 等半分钟,给GPS充分的时间启动。
3. 手动起飞。
4. 通道六开关, 打开。
5. 这时候 飞碟是混控的, 你可以强行控制飞碟。 如果你放开操纵杆, 飞机会自动飞回到你拨开关时候的位置。( 这样也是为了安全考虑。 之前的红外壁障功能也是样的。第四通道也是手动控制的。但是不管飞碟头朝哪个方向,都能自己飘回来)
如果关闭开关,飞碟又回到手动控制模式
代码:
#include <Servo.h>
String readString;
Servo roll;
Servo pitch;
Servo throttle;
int mode = 0;
int R;
int P;
long ch1, ch2, ch3, ch6;
int p = 1500;
int r = 1500;
void autopilot();
void output();
void setup(){
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(11,OUTPUT);
roll.attach(7);
pitch.attach(8);
throttle.attach(9);
ch1 = pulseIn(3,HIGH);
ch2 = pulseIn(4,HIGH);
Serial.begin(9600);
}
void loop(){
if(ch6 > 1500){
digitalWrite(11,HIGH);
ch1 = pulseIn(3,HIGH);
ch3 = pulseIn(5,HIGH);
p = ch1;
output();
autopilot();
/*------------------------------------------------------------------*/
ch2 = pulseIn(4,HIGH);
ch6 = pulseIn(6,HIGH);
r = ch2;
output();
autopilot();
}
else{ //(else) lasts 40ms
ch1 = pulseIn(3,HIGH);
ch3 = pulseIn(5,HIGH);
r = ch1;
output();
/*------------------------------------------------------------------*/
ch2 = pulseIn(4,HIGH);
ch6 = pulseIn(6,HIGH);
p = ch2;
output();
}
}
void autopilot(){
if (Serial.available()) {
delay(10);
if (Serial.available() >0) {
char c = Serial.read();
readString += c;
}
}
if (readString.length() == 6) {
Serial.println(readString);
R = (readString.charAt(1)-48)*10 + (readString.charAt(2)-48) - 50;
P = (readString.charAt(4)-48)*10 + (readString.charAt(5)-48) - 50;
r = ch1 + R;
p = ch2 + P;
readString="";
}
}
void output(){
roll.writeMicroseconds(p);
pitch.writeMicroseconds(r);
throttle.writeMicroseconds(ch3);
}
作者:
切风40.83
时间:
2011-12-25 05:48
还有什么问题到我群里去问。
其实我早就不像在这个论坛发帖子了,这个论坛和几年前相比真是差远了。
但是为了兑现诺言,我还是会把这个帖子更新到这个项目结束为止。
作者:
a5696530
时间:
2011-12-25 21:36
定你楼主,希望能出个成品卖
作者:
chnca
时间:
2011-12-25 22:03
期待,果然很补错~
作者:
切风40.83
时间:
2011-12-26 06:34
今天天气不好, 我的四轴扛不住风。 所以没有测试。 但是我把代码又改进了许多。
作者:
切风40.83
时间:
2011-12-26 09:31
没测试得了, 反正闲着也是闲着,于是就做了个地面站。 我四轴上的GPS坐标传回来,地图上就会出现白点,表示飞碟的位置。 用的IDE 是 processing, 也是开源的。
界面就是一张地图 和一个白点。 至于方向啊,速度啊, 海拔之类的以后再慢慢加上去。
[
本帖最后由 切风40.83 于 2011-12-26 11:18 编辑
]
作者:
chnca
时间:
2011-12-26 10:40
学习了,顶起来~~~
作者:
切风40.83
时间:
2011-12-27 08:16
今天场外测试了下。 纠正了些小错误。 但是还是飞不了,我的四轴抗风能力太弱了。
我知道大家看了代码就头疼,我也一样。 A#1通过串口发出的信息如下:
.5050.5050 如果要需要向前方飞的话 .5023.5023
A#2 解码后 R=0, P=0 如果往前飞的话: R=0, P=50-23=27
作者:
hammer11
时间:
2011-12-28 20:15
楼主 我顶你
因为我也在搞这个东西:em15:
四轴的导航
作者:
hammer11
时间:
2011-12-28 20:17
不过俺是业余的
目前还在初步测试GPS和AVR的计算能力
打算先用M8+3310+瑟夫3带的GPS 做个自己走路的导航
也就是在3310上面显示GPS信息 和离家距离 以及回家方向
类似于FPV中OSD的功能
作者:
切风40.83
时间:
2011-12-29 06:14
原来楼上也是同行啊。 幸会:em00:
不妨到我群里聊聊。
我的四轴已经做了十几次地面测试了,能想到会出问题的地方都进行了单向测试。 就等哪天没风,空中测完了好给大家交差。往后就永久潜水了。:em15:
作者:
top-one
时间:
2011-12-29 09:18
我也在玩,难道你们的姿态融合和PID控制都做出来了吗?
作者:
hammer11
时间:
2011-12-29 09:24
标题:
回复 53楼 切风40.83 的帖子
:em00: :em00:
呵呵 目前的计划是先给行人导航
然后安装到四轴上 给四轴导航
四轴用的是玉兔的飞控 还算不错
目前的方案是用模拟开关CD4066控制遥控接收机或者单片机控制板对飞控板的控制权
飞控板上安装了无线透明串口(号称1.5公里的距离)气压计+数字指南针模块+GPS
主控目前用的是AVR的M8 估计是不够用 ,但是目前仅仅是开发GPS的导航 所以应该是够了。
过几天回了家就改成M16
作者:
b57835o
时间:
2011-12-31 08:54
楼主的群号多少?
作者:
切风40.83
时间:
2012-1-4 07:13
号: 三宜三舅四舅溜溜
作者:
切风40.83
时间:
2012-1-4 07:16
今天没风,室外温度零下6,出去测试。
结果接收机脉冲采样有严重的干扰。 不知道哪里来的干扰。 以前出现过一次。 又没测试得了。 :em25:
作者:
破百
时间:
2012-1-5 15:27
机架木质 哈哈
作者:
安徽小谢
时间:
2012-2-21 19:15
:em16: 头大了
作者:
最后的骑兵
时间:
2012-2-21 20:39
强烈支持
作者:
20082330
时间:
2012-2-22 23:20
接收机做通讯的话会不会占用单片机很多硬件资源啊?用无线串口会不会好点?
作者:
可乐不加冰
时间:
2012-2-28 23:46
支持,学习,顶!
作者:
wxwdsj
时间:
2012-10-17 19:09
现在我又回到学校了,又有时间研究大学未完成的UAV,希望能一起交流,这次我打算用SOPC,来全把它整合在一起,做个UAV系统
作者:
我是你好王新建
时间:
2012-11-10 23:04
来学习l~ 像抄袭楼主的小车~ 呵呵~ 给指导哈~
作者:
茶禅一味
时间:
2012-11-18 04:17
楼主目标跟我一样,但是我没有时间和经济支撑;
作者:
ECE走到黑
时间:
2013-4-1 07:33
看到你那个超声波测试的四轴,突然想起来前几天youtube上看的zerangu就是你啊。哈哈。那个引导地面站很帅
作者:
樱花流
时间:
2013-4-9 22:20
新人报道!请问楼主那个地面站界面怎么做的啊?
本人大四即将毕业学生,毕业设计就是做无人机。悲催的我从没做过,求楼主指导一下。
过了两年了,不知楼主还在否
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./)
Powered by Discuz! X3.3