Fillmore

  • 2019-08-20
  • 回复了主题帖: 智能车恩智浦东北赛一等奖,等比赛完了我们就开源

    okhxyyo 发表于 2019-8-20 12:50 cool,恭喜恭喜!期待开源
    尽快更新

  • 发表了主题帖: 智能车恩智浦东北赛一等奖,等比赛完了我们就开源

    本帖最后由 Fillmore 于 2019-8-20 11:49 编辑   此内容由EEWORLD论坛网友Fillmore原创,如需转载或用于商业用途需征得作者同意并注明出处                         “每个人小时候应该都有一个赛车梦吧,手持一部四驱车,把它放在空地上行驶,就仿佛征服了世界! 现在,终于可以到智能车的赛场上体验一把“速度与激情” ,也算是圆了小时候的梦想!”   而且这次我们这次搭载了RT-Thread操作系统,RT-Thread提供了很多组件和软件包,比如UDP、SD卡这些东西,让我们在一开始就可以把精力投入到算法中去,不用太去理会驱动的东西。故而比赛也取得不错成绩的原因。 智能车简介 智能车主要由三个部分组成:检测系统,控制决策系统,动力系统。其中检测系统采用激光雷达、工业相机、 IMU。 动力系统的主控芯片使用 IMXRT1052, 操作系统使用RT-Thread。 RT-Thread Inside 整体的流程为,通过视觉传感器和激光雷达来检测前方的赛道信息, 并将赛道信息发送给单片机。同时,通过 IMU 构成的反馈渠道将车体的行 驶速度信息传送给主控。根据所取得的赛道信息和车体当前的速度信息, 由主控单出决策,控制决策系统用ROS 系统,并通过 PPM 信号控制直流电机和舵机进行相应动作,从 而实现车体的转向控制和速度控制。下面是整车效果图:    比赛马上结束了即将开源,开源信息之后会在本帖更新  

  • 发表了日志: 智能车恩智浦东北赛一等奖,等比赛完了我们就开源

  • 回复了主题帖: 记录——基于RTT在STM32上实现 USB 虚拟串口

    顶顶

  • 2019-07-22
  • 加入了学习《3天入门Persimmon UI,2天稿定产品界面开发》,观看 Persimmon教程1

  • 2019-07-17
  • 发表了日志: DIY智能车——“RoboMaster“,软件框架已开源

  • 发表了主题帖: DIY智能车——“RoboMaster“,软件框架已开源

    本帖最后由 Fillmore 于 2019-7-17 10:56 编辑 hey,小伙伴们,夏天又到了~   在这炎热的夏天   你是否也有着自己无法停止的躁动与梦想?   比如,做一个...   会爆锤自己人的沙雕机器人   能吊射敌人的陆地无敌坦   堪称空中水龙的超能四轴飞行器   等等~~ 此内容由EEWORLD论坛网友Fillmore原创,如需转载或用于商业用途需征得作者同意并注明出处   那么...你的机会来啦~   RT-Thread·花样战车DIY活动 正式上线   除此之外,优胜者还有千元奖励!   想必大家已经迫不及待想看看参与细则,下面我们就进入正题吧。   关于战车   活动作品概况:基于机器视觉进行自动瞄准射击的智能战车   基本功能:遥控智能车 (必须完成)   本功能需要您完成底盘运动控制系统,进而通过底盘的电机控制战车能够前进、后退、左转、右转、旋转、加速、减速!并实现通过编码器反馈速度,通过PID算法控制速度。战车可以支持不同类型的底盘,如:麦克纳姆轮、后轮差速驱动、前轮舵机转向,后轮动力驱动等等。也支持通过PWM或者CAN进行控制的电机! 除此之外,还需要实现遥控系统,以达成使用遥控器对战车进行遥控指挥!我们可以支持大多数遥控器,比如:PS2遥控、航模遥控器、手机或PC通过Wi-Fi遥控!   高级功能:云台和射击功能 、自动识别目标   完成这一部分,参与者也许会遇到一些挑战,但只有遇到过挑战才能体会“会当凌绝顶”的快意不是吗?我们需要完成射击系统,通过二轴云台控制射击装置的运动,实现射击装置可上下、左右转动,以瞄准射击目标。支持红外射击(通过红外激光进行发射)、水弹射击(通过拨弹轮和摩擦轮控制射击,对机械要求高),以上射击方式可自选。我们将使用LED灯管或者LCD屏标识血量,被射中的战车可以显示失血。并实现战车在射击和被击中都会发出声音! 为了避免沙雕战车敌我不分的情况,我们还需要完成目标识别系统。这里需要通过摄像头进行图像采集,使用机器视觉对采集的图像进行目标识别,然后控制射击系统对目标进行射击!   扩展功能:平衡车、履带车、避障、路径规划、竞速、图像视觉、语音等 硬件准备:控制板(推荐STM32)、车模、底盘、电机、传感器(入群后,官方会给予参与者一定选购参考) 活动时间:7月8号——9月5号(从提供技术支持到完成小车制作) *RT-Thread官方将同步开发智能车软件框架、设计文档、实现代码完全开放。全程提供指导和技术支持,帮助大家完成DIY作品!   开源项目:https://github.com/yqiu2018/chariot_notice/blob/master/README.md  大家可以跟着一起做!   最近在用 RT-Thread 做智能车,发现有很多组件其实都是可以抽象出来的,实现只要写一次就好了,这样可以避免大家实现重复的功能。 项目地址:https://github.com/yqiu2018/chariot_notice/blob/master/README.md 虽然小车有很多: 1. 四轮驱动 2.神奇的麦克纳姆轮 3.小巧的两轮自平衡 4.两轮差速搭配一个万向轮 5.画风独特的自平衡自行车 但是其实都是不同电机搭配不同编码器,实现闭环电机控制,然后结合小车动力学模型和传感器信息,实现小车运动的闭环控制。 于是想想可以抽象一个框架出来,包含电机、编码器、动力学模型、PID算法、滤波算法等等,这样通过组合就能做出自己的小车了,大家也不用重复造轮子了,组装轮子就好了。 现在包含的模块有: 电机:直流电机 编码器:单相编码器 PID:增量式 PID 动力学模型:两轮差分、四轮差分、麦克纳姆轮、Ackerman 遥控器:PS2 手柄 现在可以用 PS2 手柄闭环控制小车运动了,之后有机会放个视频。  但是现在还不是很完善,欢迎喜欢做智能车的小伙伴提 PR 一起完善这个框架,之后说不定还可以用到机械臂上面,毕竟都是电机控制。  项目地址: https://github.com/RT-Thread-packages/rt-robot   交流请联系:

  • 2019-07-12
  • 回复了主题帖: 记录——基于RTT在STM32上实现 USB 虚拟串口

    MamoYU 发表于 2019-7-11 13:43 没有图,不太理解~
    谢谢提醒 没注意到图坏了

  • 回复了主题帖: 我的电赛分享——塞翁失马焉知非福

    顶一下

  • 2019-07-09
  • 加入了学习《新版RTOS教程:15天入门RT-Thread内核》,观看 初识RT-Thread

  • 加入了学习《3天入门Persimmon UI,2天稿定产品界面开发》,观看 Persimmon教程2

  • 加入了学习《嵌入式操作系统》,观看 Introduction、Embedded Systems、Development of Embedded Systems、Embedded OS

  • 评论了课程: EEWORLD大学堂----RTOS培训最新版——15天入门RT-Thread内核

    6vision 发表于 2019-4-12 09:59 视频中的文件资源和源码哪里下载呀
    RT-Thread官网文档中心:https://www.rt-thread.org/document/site/ 下载中心:https://www.rt-thread.org/page/download.html 还有GitHub都可以

  • 2019-07-08
  • 加入了学习《3天入门Persimmon UI,2天稿定产品界面开发》,观看 Persimmon教程4

  • 加入了学习《3天入门Persimmon UI,2天稿定产品界面开发》,观看 Persimmon教程3

  • 2019-07-05
  • 发表了主题帖: 【智能战车DIY活动】带你完成“RoboMaster“

    本帖最后由 Fillmore 于 2019-7-5 17:29 编辑         hey,小伙伴们,夏天又到了~   在这炎热的夏天   你是否也有着自己无法停止的躁动与梦想?   比如,做一个...   会爆锤自己人的沙雕机器人   能吊射敌人的陆地无敌坦   堪称空中水龙的超能无人机   等等~~     那么...你的机会来啦~   RT-Thread·花样战车DIY活动 正式上线   除此之外,优胜者还有千元奖励! 想必大家已经迫不及待想看看参与细则,下面我们就进入正题吧。   关于战车   活动作品概况:基于机器视觉进行自动瞄准射击的智能战车   基本功能:遥控智能车 (必须完成)   本功能需要您完成底盘运动控制系统,进而通过底盘的电机控制战车能够前进、后退、左转、右转、旋转、加速、减速!并实现通过编码器反馈速度,通过PID算法控制速度。战车可以支持不同类型的底盘,如:麦克纳姆轮、后轮差速驱动、前轮舵机转向,后轮动力驱动等等。也支持通过PWM或者CAN进行控制的电机! 除此之外,还需要实现遥控系统,以达成使用遥控器对战车进行遥控指挥!我们可以支持大多数遥控器,比如:PS2遥控、航模遥控器、手机或PC通过Wi-Fi遥控!   高级功能:云台和射击功能 、自动识别目标   完成这一部分,参与者也许会遇到一些挑战,但只有遇到过挑战才能体会“会当凌绝顶”的快意不是吗?我们需要完成射击系统,通过二轴云台控制射击装置的运动,实现射击装置可上下、左右转动,以瞄准射击目标。支持红外射击(通过红外激光进行发射)、水弹射击(通过拨弹轮和摩擦轮控制射击,对机械要求高),以上射击方式可自选。我们将使用LED灯管或者LCD屏标识血量,被射中的战车可以显示失血。并实现战车在射击和被击中都会发出声音! 为了避免沙雕战车敌我不分的情况,我们还需要完成目标识别系统。这里需要通过摄像头进行图像采集,使用机器视觉对采集的图像进行目标识别,然后控制射击系统对目标进行射击!   扩展功能:平衡车、履带车、避障、路径规划、竞速、图像视觉、语音等 硬件准备:控制板(推荐STM32)、车模、底盘、电机、传感器(入群后,官方会给予参与者一定选购参考) 活动时间:7月8号——9月5号(从提供技术支持到完成小车制作) *RT-Thread官方将同步开发智能车软件框架、设计文档、实现代码完全开放。全程提供指导和技术支持,帮助大家完成DIY作品!     关于报名     报名时间:2019年7月4日——2019年7月15日 参与者要求: 1、具备一定的嵌入式开发经验 2、需2-3人组队参加 技术支持:RT-Thread官方将全程提供技术支持与指导 保证金缴纳:为了督促大家认真完成各自的DIY作品,被选中参与者,需缴纳100/人的保证金,完成基本功能——遥控智能车后退还! 报名方式:活动人数有限,我们在收到您的报名后会尽快进行审核,审核通过后我们的工作人员会在一周内与您取得联系! 报名链接:https://www.wenjuan.com/s/rUv6Jrt/     关于奖品 1、我们将给予前3名奖队伍 1000元 现金奖励!并颁发相关徽章。 2、凡入选队伍,均可获得一份参与奖!    

  • 发布了课程: 3天入门Persimmon UI,2天稿定产品界面开发

  • 2019-07-01
  • 发表了日志: 智能屏柿饼Pie使用体验(1)

  • 发表了主题帖: 智能屏柿饼Pie使用体验(1)

    由于之前只有C,C#开发经验,一开始对js不太熟悉,不过还好js和C的语法相似,研究起来也没有太大难度。 几天使用下来,对柿饼派的开发模式也算是熟悉了。Persimmon UI软件的帮助菜单可以下载官方的样例程序,跟着样例配合说明文档学习各个控件也很容易。 和VS开发C#神似,都是所见即所得,虽然每个控件还不像C#中那样配置灵活,功能强大,但相比同等量级的emwin、littleVGL等系统来说,使用起来实在太方便了。 图片类控件可以直接选择PC机本地资源,选择后自动添加到项目目录。 控件回调函数直接把函数名填在“调用属性”位置,然后在当前ui对应的js文件中添加同名函数即可。现在的控件调用功能相对单一,只有一个功能。以后如果加上按下,弹起,按住可执行不同的回调函数用起来就灵活多了。 总体来看,柿饼采用所见即所得开发方式,制作UI及其方便。比起市面上的成品串口屏用法还要简单,可以媲美组态屏的UI部分,启动速度比组态屏要快的多,这可能是rt-thread的功劳,市面上的组态屏底层大多是linux或者wince。 之前用DWIN串口屏开发UI系统,脚本用汇编很是痛苦。柿饼脚本用js,最起码可读性强多了,语法又接近常用的C语言,编写复杂逻辑要简单的多。 吐槽下,柿饼的下载速度略微慢了点,毕竟板载存储用的16MB nor flash,扇区擦写比较耗时,容量也有点小,可添加的资源有限。还有开机界面的rt-thread商标在真正的产品上很多客户可能无法接受,我们做的大多产品基本开机都要显示客户商标的,现在学习阶段可以不用管,希望以后这个页面是可自定义的。 柿饼通信方面稍微弱了点,对外只开放了两个串口和SPI的基本传输,协议要自己实现。之前做各种算法都是C实现的,js无法使用指针,基本不能直接用了,我们的下游设备基本都是用的modbus通信,这两天正在移植,希望通信速度可以跟的上,这个就看软件定时器的精度和响应速度了。   一些相关的资料我都是在这个公众号找来的

  • 2019-06-21
  • 发表了主题帖: 记录——基于RTT在STM32上实现 USB 虚拟串口

    记录一下我在正点原子 F429 阿波罗开发板上实现 USB 虚拟串口的过程,希望可以帮助到其他想要学习 USB 的人。 首先,我更新了一下 RT-Thread 的源代码(因为 RT-Thread 的代码更新很快,短时间内就有可能有很多的代码更新)。 然后我进入 rt-thread\bsp\stm32目录下,找到了正点原子 F429 阿波罗开发板对应的BSP stm32f429-atk-apollo。   然后我先看了一下这个 BSP 当前支持不支持 USB。我在目录下打开 Env 工具,输入 menuconfig 命令,查看了一下,发现在硬件配置的片上外设的配置菜单中没有配置 USB 的选项,看来这个 BSP 还不支持 USB 设备。   然后我想到,新的 STM32 BSP 所有的 BSP 都是用的同一份驱动,我去看一下有没有做好的 USB 驱动吧。然后我就打开了 rt-thread\bsp\stm32\libraries\HAL_Drivers 目录,如下所示,发现里面果然有 usb 的驱动文件,叫做 drv_usbd_fs.c。这就很好办了。   打开同一目录下的 Sconscript 脚本文件,查看一下这个驱动依赖什么配置,发现依赖于 BSP_USING_USBD_FS 这个配置。   既然有驱动,就一定有 BSP 已经支持了这个功能,我搜索了 stm32 目录下所有的 BSP ,看哪个 bsp 下有这个配置项。顺便看一下依赖关系。发现 F469 的 bsp 有这个配置项,看起来打开这个配置的同时,利用 select 命令也打开了 RT_USING_USB_DEVICE 这个配置。有了这段示例就好说了,只要在正点原子阿波罗的 bsp 下也添加这段配置就好了。   修改正点原子 F429 阿波罗 bsp 下 Kconfig 文件,添加这一段配置项。     然后就可以利用 Env 工具配置工程了。在 目录下输入 menuconfig 配置 usb,开启刚添加的 usb 驱动的配置项。   然后,配置 usb 的设备框架。开启虚拟串口。   然后保存并重新生成工程。 发现编译报错。看起来是硬件没有配置。需要打开 stm32CubMX 配置 usb 的硬件引脚。   打开 stm32f429-atk-apollo\board\CubeMX_Config 目录下 stm32CubMX 的工程,配置 usb.     发现开启 usb 功能之后,时钟配置报警告,我们再重新配置一下时钟。配置好之后,重新生成了一下代码。   由于更新了时钟树,所以还要把stm32f429-atk-apollo\board\CubeMX_Config\Src目录下main.c中的时钟配置函数SystemClock_Config更新到stm32f429-atk-apollo\board目录下的 board.c 文件中。   然后重新打开工程,编译,还是报错,cannot open source input file "stm32f4xx_hal_exti.h": No such file or directory ,我注释掉这个头文件重新尝试编译。再次编译,发现就没有问题了。   下载运行,然后输入 list_device 命令可以看到注册到系统中的两个 usb 相关的设备。   然后我在 main函数里添加了一段测试代码,编译下载运行。 #include <rtthread.h> #include <rtdevice.h>   int main(void) {     rt_device_t dev = RT_NULL;     char buf[] = "hello rt-thread!\r\n";       dev = rt_device_find("vcom");          if (dev)         rt_device_open(dev, RT_DEVICE_FLAG_RDWR);     else         return -RT_ERROR;          while (1)     {         rt_device_write(dev, 0, buf, rt_strlen(buf));         rt_thread_mdelay(500);     }       return RT_EOK; }   复制代码 连接开发板上的 USB_SLAVE 接口到电脑上,打开设备管理器,发现多了一个 USB 串行设备,用串口工具打开,就接收到 main 函数里发送过来的消息了 这样就在正点原子 F429 阿波罗开发板上实现了 USB 虚拟串口了。

最近访客

< 1/2 >

统计信息

已有18人来访过

  • 芯币:93
  • 好友:--
  • 主题:17
  • 回复:20
  • 课时:--
  • 资源:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言