技术在路上
这个作者很懒,什么都没留下…
展开
-
crazyflie-firmware程序更新make cload
参考网址如下:https://wiki.bitcraze.io/doc:crazyflie:client:cfloader:index(1)按下crazflie-2.0按键之后,断电整个系统,然后长按按键直到了两个蓝色led闪烁,证明进入bootloader模式,(2)然后编译crazyflie-firmware之后,直接键入make cload,等待刷新固件...原创 2019-05-25 23:32:35 · 702 阅读 · 0 评论 -
MiniSnail子模块的规划
目前已经完整的将crazyflie2.0的硬件做出来,起个别名叫做MiniSnail,并且可以在游戏手柄的操作下稳定飞行,之前也做了两个子模块可以插在MiniSnail上,一个是下载程序的板子Debug Board,另一个是BLMC Ext Board用于外接无刷电机;还有一些子板需要接着做,目前想到如下:(1)DWM1000室内定位子板,decawave官网可以下载相关资料,需要注册(2原创 2015-12-28 16:45:06 · 1033 阅读 · 0 评论 -
Git操作简明教程--推荐
转自http://www.cnblogs.com/tugenhua0707/p/4050072.html一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干转载 2015-11-18 00:03:47 · 781 阅读 · 0 评论 -
crazyflie control system about PID
休假之前无聊上crazyflie论坛逛了下,发现有篇帖子讲到control system,链接如下:https://forum.bitcraze.io/viewtopic.php?f=6&t=1290&p=7014&hilit=swarm#p7014其中第一张图还是比较清晰勾勒出PID控制的过程,需要细读程序确认下:另外的一个观点是,或许可以对每一个轴做PID控制one P原创 2015-11-01 13:04:41 · 2252 阅读 · 0 评论 -
crazyflie2.0_crazyflie-firmware_总体程序概括
第一个正式版本刚发出去做板,现在有空可以来好好看看STM32F405这边到底做了哪些事情,今天先看到整体程序的架构,crazyflie用的是FreeRTOS,程序中大部分会用到创建任务和队列传递数据的过程,网上有中文版的FreeRTOS资料,看一遍基本明白创建任务及其队列实现的机制,今天我们先看下main这边主要做了什么事情,习惯用SourceInsight浏览代码。首先从main函数开始:原创 2015-10-31 22:51:20 · 5418 阅读 · 0 评论 -
crazyflie2.0融合磁力计问题
用PC端client接收roll.pitch和yaw的值,发现yaw的值会一直漂移,如下图:明显yaw的值一直在增大,虽然增加的不多,但是时间久了,方向就完全不对了;其实磁力计是可以弥补这样的漂移,目前crazyflie2.0中并没有融合磁力计,但是MPU9250已经支持磁力计了,所以就用Madgwick的算法尝试了下,但是看上去姿态解算更不对了,如下图,先记录下来以后接着研究。原创 2015-11-22 22:05:33 · 1629 阅读 · 0 评论 -
crazyflie2.0_crazyflie-firmware_LED指示灯
main函数之后,systemTask第一个函数就是调用ledInit函数,所以可以先看下LED的实现,设置LED开关很简单,但是它引入了一种seq的方法,看上去就没那么简单了,首先还是先看下最底层开关LED程序的实现,LED.c:#include #include "stm32fxxx.h"/*FreeRtos includes*/#include "FreeRTOS.h"#in原创 2015-11-01 00:03:53 · 1463 阅读 · 0 评论 -
近来做飞行器的想法
最近两周刚装上第一台可以飞的四轴,一到周末就在室内或者室外试试飞下,第一个版本整体还算满意,可以平稳的飞行,左右前后旋转油门都可以控制,第一次尝试飞还是心有余悸,尝试的次数多了,就没有那么怕摔坏。今天刚把第一个正式版本发出去做板,等休假回来再焊接试飞正式版的。一直以来也在想我需要做怎样的四轴,来跟别人竞争?市面上的四轴除了航拍,监测还可以用来做什么呢?我觉得或许可以做集群试试看,市面上大部分的原创 2015-10-31 22:13:01 · 1300 阅读 · 7 评论 -
MiniSnail_V1.0器件清单及其成本核算
CommentDescriptionDesignatorFootprintQuantityPricePriceTotalPerDevice说明Bluetooth Antenna AN1AN952011.31.3 MotorMotor, General原创 2015-11-12 16:21:06 · 1243 阅读 · 0 评论 -
crazyflie_ros接收多个crazyflie2.0的数据
ROS在机器人领域很厉害,国外朋友使用一个crazyradio同时采集多个crazyflie1.0和crazyflie2.0,而且开源所有ROS文件,给力!之前没有对ROS学习,所以这里仅仅是运行了下这个功能,简单步骤如下:1,Install ROS(version indigo)$ sudo apt-get install ros-indigo-desktop-fullthen ne原创 2015-12-14 22:45:11 · 1924 阅读 · 1 评论 -
crazyflie-firmware branch master -- error
I try the latest version crazyflie-firmware branch master, but appear some error. the compile is right. But when run in the board. the STM32F405 Blue Led light to close. then the SYS_LED (Right Red LE原创 2015-12-01 23:21:00 · 735 阅读 · 0 评论 -
Towards Crazyswarms
转载https://www.bitcraze.io/2015/04/towards-crazyswarms-2/点击打开链接This weeks Monday post is a guest post written by Wolfgang Hoenig from University of Southern California.What’s better than a sing转载 2015-12-20 00:12:11 · 1041 阅读 · 0 评论 -
crazyflie-firmware强制支持dwm1000的配置方法
针对2018.10版本的crazyflie-firmware,进入/home/bitcraze/Desktop/projects/crazyflie-firmware/tools/make/将config.mk.default文件改成config.mk1,支持TWRLPS_TWR_ENABLE=1CFLAGS += -DDECK_FORCE=bcDWM10002,但是只是...原创 2019-03-25 23:58:28 · 569 阅读 · 0 评论 -
支持dwm1000的方法
使用Bitcraze VM 2017.03虚拟机内部自有的代码,不用更新,直接编译,强制支持dwm1000的方法:修改如下文件,如果没有自己创建:crazyflie-firmware\tools\make\config.mk增加如下语句:CFLAGS += -DDECK_FORCE=bcDWM1000...原创 2018-03-12 09:35:20 · 2155 阅读 · 0 评论 -
keil中解决sct连接脚本告警和错误的一些方法
Keil中的sct连接脚本用户可以自己定义参数在flash中的位置,非常重要!转载:http://www.openedv.com/posts/list/54873.htm【问题现象1】错误 ..\..\source\platform\board\stm32\lite\armcc\stm32-lite.sct(17): error: L6236E: No转载 2016-09-23 06:18:36 · 11902 阅读 · 0 评论 -
crazyflie2.0中欧拉角和四元数之间转换的问题
void sensfusion6GetEulerRPY(float* roll, float* pitch, float* yaw){ float gx, gy, gz; // estimated gravity direction gx = 2 * (q1*q3 - q0*q2); gy = 2 * (q0*q1 + q2*q3); gz = q0*q0 - q1原创 2015-12-27 15:34:34 · 1832 阅读 · 0 评论 -
crazyflie-firmware_数据接收流程
在crazyflie2.0中,数据是靠UART与nrf51822通信进行收发的,最近看了下从底层UART接收到数据怎样传输到各个任务的过程,下面先分析下接收数据的过程。程序流程:uart_syslink.c ->syslink.c ->Radiolink.c ->Comm.c ->Crtp.c(1)首先是最底层接收数据的uart_syslink.c程序,将接收到的数据放入队列uartDat原创 2016-01-10 22:38:47 · 1897 阅读 · 0 评论 -
地面效应和起飞不平稳的问题
Bitcraze圣诞之前将crazyflie2.0的制作流程共享在官网上,并且配有视频,真是很赞;参考网址:https://www.bitcraze.io/getting-started-with-the-crazyflie-2-0/很多内容之前已经有了,这里列出来一些值得记录的内容:normal flightWhen thrusting without touching原创 2015-12-22 22:35:23 · 1471 阅读 · 0 评论 -
crazyflie控制算法
http://merafour.blog.163.com/blog/static/219102011201451935827412/看Bitcraze的控制代码,我个人觉得需要有一个回路的概念,比如反馈回路。这在电路里边会碰到,再此我不过多复述。Bitcraze在四轴姿态控制中使用了二级控制回路,记住不是两个控制回路,这是有区别的。也就是说这两个控制回路是级联的关系。第一级控制回路为姿原创 2015-12-21 22:59:44 · 4416 阅读 · 0 评论 -
crazyflie-firmware之姿态解算和PID控制
今天抽晚上时间看了下crazyflie-firmware程序中姿态解算和PID控制部分代码,看的是crazyflie2.0版本的相关代码。这部分代码应该算是在FreeRTOS优先级很高的任务了,在stabilizer.c文件中可以找到stabilizerTask任务,再寻找下优先级可以看到如下代码://Task priorities. Higher number higher prio原创 2015-12-21 00:45:57 · 5096 阅读 · 0 评论 -
飞控锂电池知识
1,C字样的标示所谓“C”是指的一个电池的放电系数,其实它的真正表述应该是1/h(小时分之一),它是一个系数,也就是放电稀疏,那么一块电池的最大放电电流需要如下公式计算:最大放电电流=放电系数(C)X电池容量(mA) 例如25C,350mAh的电池,就直接用10X2200mA=8750mA=8.75A,所以四个电机加起来瞬间需求的电流不要超过8.75A就可以选取此电池。飞控电池的工作都原创 2015-10-27 14:01:00 · 2941 阅读 · 0 评论 -
基于xubutun虚拟机下使用git下载bitcraze github中的文件
官方给我们提供了xubuntu虚拟机文件,这样我们不用做烦琐的配置直接用虚拟机就可以开发,但是在projects目录下不是所有的开发文件都默认有的,那如果想开发悬停方面的程序,需要下载vision以及ar-detector相关文件。首先看下他们使用的更新方式,直接在桌面点击Update all projects文件,直接弹出来终端会下载或者更新程序,那先看下Update all pro原创 2015-11-12 13:34:01 · 1274 阅读 · 0 评论 -
crazyflie2.0_总体硬件焊接完成
十一去老婆家过了,走之前已经把芯片都焊接完成,回来之后把电机都装上之后,总算完成了完整飞行器的组装,耗时2年的飞行器终于看到原型了,不过硬件电路还有几个需要改进的问题,下一个版本会修正过来;上电之后指示灯完全正确,除了飞,其他状态一切正常,先上图纪念下:顺便说下目前硬件的两个问题:1,插针用的2.54毫米的,太大,如果焊接上之后会挡住螺旋桨,需要改成2毫米或者1.27毫米的2,原创 2015-10-11 09:02:56 · 1142 阅读 · 1 评论 -
Getting started with the Crazyflie 2.0
最近陆续开始装配自己的小四轴,bitcraze官网上有一些装配的指导,很不错的经验装配和一些四轴PCB上的引脚配置,具体装配,可以看官网的视频操作,链接如下:https://www.bitcraze.io/getting-started-with-the-crazyflie-2-0/1, 开箱包括的器件(Unpacking)The Crazyflie 2.0 packet co原创 2015-07-07 18:35:04 · 1942 阅读 · 0 评论 -
Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x
最近做研究openpilot和crazyflie2.0,都需要在Linux进行代码的编写和烧录,所以研究了下Linux下怎样使用Jlink,还有开源的支持多个仿真器的openocd,但是困难重重,总是出现错误,心灰意冷,之后沉下心来研究了下,记录下心得。首先,openocd是个通用的烧录平台,支持多家的仿真器,比如Jlink,Ulink,ST-LINK等等,基本市面上的都支持,另外JLink本原创 2015-07-05 00:33:58 · 4978 阅读 · 0 评论 -
硬件篇——2_crazyflie2.0原理图之STM32F405
1,状态记录:目前的状态:(1)STM32F405R程序下载没有问题,LED测试程序OK(2)nRF51822 256K程序下载没有问题,LED测试程序OK(3)STM32F405R驱动MPU9250没有问题,可以正确的读取到ID(4)nRF51822 256K的crazyflie20程序可以下载,可以进入Bootloader,从手机端看到nRF51822BLE的信息(原创 2015-07-26 23:04:07 · 5469 阅读 · 1 评论 -
xubuntu openocd nRF51822 download --- 2
昨天很晚的时候才终于发现其实Unkown USB Device并不是错误,只是个警告而已,所以我们不关心就可以,让Makefile继续往下走就可以,于是我尝试mbs,s110,cload和firmware的下载,执行如下命令:make flashmake flash_s110make flash_mbsmake flash_cload具体执行过程如下:bitcraze@原创 2015-07-10 23:34:14 · 1372 阅读 · 0 评论 -
Crazyflie 2.0 System Architecture
Crazyflie 2.0架构包括两个微控制器:A NRF51, Cortex-M0, 用于实现无线通信和电源管理:(1)按键开关逻辑(ON/OFF logic)(2)控制给其他系统供电(STM32, sensors and expansion board)(3)电池充电管理和电压测量(4)Master 无线bootloader(5)无线和BLE通信(6)探测和检测原创 2015-07-10 18:51:24 · 1650 阅读 · 0 评论 -
crazyflie2.0 RCC时钟知识
由于目前手里只有16MHZ的2520封装的贴片晶振,8MHZ这种封装做不到这么小,所以就先用16MHZ,这样我们就需要修改程序相关的RCC时钟:1,stm32f4xx.h#define HSE_VALUE ((uint32_t)16000000) /*!2,system_stm32f4xx.c/* PLL_VCO = (HSE_VALUE or HSI_VALUE /原创 2015-07-26 15:30:51 · 1072 阅读 · 0 评论 -
xubuntu openocd nRF51822 download
最近发愁怎么在xubuntu系统里下载nRF51822和STM32F405RGT6的事情,今天终于下载成功,记录下解决的过程。进入到bitcraze共享的Virtual Box虚拟机之后,进入到如下目录:cd /home/bitcraze/projects/crazyflie2-nrf-firmware/我们会发现Makefile文件,#Put your personal buil原创 2015-07-09 23:32:53 · 1820 阅读 · 0 评论 -
STM32F405 DFU更新固件
参考https://wiki.bitcraze.io/projects:crazyflie2:development:dfuDFU更新模式主要被考虑作为一种恢复模式,它可以下载新的固件到STM32F405中;另外空中下载OTA(Over The Air)也可以更新固件,相对DFU更方便一些,用这种方法我们也可以更新nRF51822。原创 2015-07-08 14:03:16 · 9117 阅读 · 1 评论 -
crazyradio焊接和下载固件过程
很早之前买过一套crazyradio的器件和空板,但是一直没有时间焊接出来,前天早上六点起来,安静的弄了一把,识别USB,下载crazyradio固件没问题,记录下过程:1,首先是焊接,平常的QFN封装虽然没有管脚伸出来,但是侧面总是还有焊接的Pad,但是NRF24LU1+的封装好奇葩,侧面竟然没有,只有底部有,所以只有硬着焊接了,刚开始还是很担心没有焊接上去的,不过加了少许松香之后,拖拽焊点原创 2015-07-18 12:13:12 · 2806 阅读 · 0 评论 -
crazyflie2_nrf51822程序分析--总体结构
为了尊重原始版本,将英文原文贴出来,同时将一些需要注意的地方加上我的注释Source code of the firmware running in the Crazyflie 2.0 nRF51822. This microcontroller have a couple of roles:Power management (ON/OFF logic and battery ha原创 2015-08-27 17:56:50 · 2442 阅读 · 0 评论 -
分享bitcraze的管理理念--Self organizing
没有老板,没有员工,大家都是平等的,共同进步,共同进化自己!参考https://www.bitcraze.io/2015/08/self-organizing/This is the first post in the new category “How we work”. The intention is to write about how we work and evolve原创 2015-08-28 18:58:23 · 978 阅读 · 0 评论 -
crazyflie2.0状态记录
1,状态记录:目前的状态:(1)STM32F405R程序下载没有问题,LED测试程序OK(2)nRF51822 256K程序下载没有问题,LED测试程序OK(3)STM32F405R驱动MPU9250没有问题,可以正确的读取到ID(4)nRF51822 256K的crazyflie20程序可以下载,可以进入Bootloader,从手机端看到nRF51822 BLE的原创 2015-08-17 23:03:39 · 1623 阅读 · 0 评论 -
crazyflie2.0使用北通游戏手柄控制thrust,roll,pitch和yaw
前一段时间把飞行器的第二个版本PCB画出来了,命名为MiniSnail_V1.0,Logo:SnailTech。另外买了一些缺的器件,然后验证了下北通的手柄是否可以很好的控制飞行器的thrust,roll,pitch和yaw。(1) 首先连接北通BD2E-LB10手柄之后,可以先在 开始->设备和打印机->游戏手柄图标->游戏控制器设置->属性,我们可以看到如下显示,这时候你可以转动摇杆和按键原创 2015-09-20 15:27:04 · 1910 阅读 · 0 评论 -
平衡螺旋桨方法
视频请参考https://www.bitcraze.io/balancing-propellers/,1,Balancing these small and light propellers isn’t as difficult as you might think. The tools you need are平衡小而且轻巧的螺旋桨不是我们想象中那么困难,需要的工具如下:原创 2015-10-18 22:23:07 · 2339 阅读 · 0 评论 -
Crazyflie2.0飞行器参考网站
1,Crazyflie2.0的code中提到x-io官网,对sensor的驱动和数据融合都在这里,并且这上面有一些有趣的project,可以参考下http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/2,圆点博士飞行器,把我带进飞行器的世界,虽然我并没有买它的飞行器,但是我把他们的裸机code研究透了,并且用到了其他的p原创 2015-09-14 16:36:14 · 2406 阅读 · 0 评论 -
crazyflie2.0_crazyflie-firmware_PARAM和LOG实现原理
最近读crazyflie-firmware的代码,发现它其中的飞行器这边的变量显示在client端很容易,而且是可以动态调整的,感觉很方便,然后就稍微研究了下实现的过程。(1) 首先看到Stabilizer.c文件中最后对PARAM参数的定义:// Params for altitude holdPARAM_GROUP_START(altHold)PARAM_ADD(PARAM_FLO原创 2015-09-25 11:15:55 · 1723 阅读 · 1 评论 -
crazyflie2.0原理图之STM32F405与nRF51822串口1M速率的接收和发送
1,状态记录:目前的状态:(1)STM32F405R程序下载没有问题,LED测试程序OK(2)nRF51822 256K程序下载没有问题,LED测试程序OK(3)STM32F405R驱动MPU9250没有问题,可以正确的读取到ID(4)nRF51822 256K的crazyflie20程序可以下载,可以进入Bootloader,从手机端看到nRF51822 BLE的信息原创 2015-08-16 22:57:27 · 3229 阅读 · 0 评论