Giter VIP home page Giter VIP logo

electronbot's Introduction

ElectronBot: Mini Desktop Robot

本项目是一个桌面级小机器工具人,外观设计的灵感来源是WALL-E里面的EVE~机器人具备USB通信显示画面功能,具备6个自由度(手部roll、pitch,颈部,腰部各一个),使用自己修改的特制舵机支持关节角度回传。

本项目提供了配套的全套开发资料和对应SDK以供二次开发,SDK使用说明见后文。

注意:Issues里面是讨论项目开发相关话题的,不要在里面发无意义的消息,不然watch了仓库的人都会收到通知邮件会给别人造成困扰的!!!灌水可以在仓库的Discuss里讨论!


1.项目文件说明

1.1 Hardware

Hardware文件夹内是ElectronBot里面用到的所有电路的原理图和PCB文件,提供Altium Designer格式的源文件以及Gerber格式的光绘文件用于提供给厂家进行直接加工。

一共有如下几块板子:

  • ElectronBot:头部的主控板,包含主控MCUSTM32F405RGT6,圆形屏幕GC9A01,USB-HS的PHY芯片USB3300,以及SD卡。

  • SensorBoard:肚子里的传感器板子,包含一个手势传感器,一个USB-HUB芯片,5个I2C舵机的接口,一个MPU6050加速度计&陀螺仪等(USB摄像头也是连接到这个板子的)。

  • BaseConnector:底座上的USB Type-C插座,通过8-Pin的FFC排线和SensorBoard连接,因为机器人本体需要旋转所以使用了柔性排线。

  • ServoDrive:用于魔改舵机替换舵机驱动板的电路,通过I2C总线接口和SensorBoard以及头部主控连接。

  • ServoDrive-DK:同上,但是把PCB的触点接口换成了接插件,方便调试,调试完了下载代码到上面的板子(因为体积太小所以上面的板子没有下载口接插件,所以不方便调试,这里单独提供一个DK版本)。

1.2 Firmware

Firmware中提供了上面所有板子的固件源码,主要包含以下两个工程:

  • ElectronBot-fw:头部主控板的固件代码,用于驱动圆形屏幕,实现USB-CDC协议的自定义设备,以及进行舵机控制。
  • ElectronBot-fw:ServoDrive板子的固件,包含舵机的电位器ADC采样,I2C从机通信和协议解析,电机控制的PWM输出,以及PID闭环算法实现。

工程都是基于STM32HAL实现的,所以提供了对应的.ioc文件,可以自行用STM32CubeMX打开,生成对应的keil或者STM32IDE工程文件。当让也可以像我一样,用CLion进行编译和下载,把CLion变成STM32的IDE的方法参考我之前发的一篇教程:配置CLion用于STM32开发【优雅の嵌入式开发】

1.3 Software

Software中提供了视频里演示的上位机软件ElectronStudio的Unity工程源码,以及SDK库和SDK源文件,库的层级关系由下至上分别是:

ElectronBotSDK-LowLevel -> ElectronBotSDK-Player -> ElectronBotSDK-UnityBridge -> Electron-Studio

SDK的使用方法见后文。

此外文件夹里还包含了BotDriver也就是ElectronBot连接电脑需要安装的USB驱动文件,安装方法是在设备管理器里右键更新驱动,然后选择自定义目录导航到这个文件夹即可安装。

安装过程需要禁用Windows的强制驱动签名(没钱给M$买签名),禁用方法根据你的操作系统版本有不同,可以百度一下。

1.4 CAD-Model

文件夹中包含了ElectronBot的结构设计图纸,.step通用格式可以在所有软件里打开编辑;同时为了满足有的同学想要Fusion360里面的原始工程,我也共享了.f3d格式源文件,源文件里包含了完整的编辑建模时间轴。

共享连接:https://a360.co/3t6CUMS

此目录下也包含了视频里演示的oooooohmygosh同学设计的表情包动画,其中每个表情的动画都包含了三个片段:进入-循环-退出,进入和退出是可以和其他动画进行无缝衔接的,因此可以方便用代码调用这些表情包实现很多效果。

1.5 Docs

相关的参考文件,包括芯片的Datasheet等。

此目录下还有个_LargeFiles文件夹,是软件过程项目中依赖的一些库(比如OpenCV)因为DLL比较大超过了100MB,GitHub需要开启LFS才能提交,而我不想开启LFS,因此单独拿出来压缩了提交到仓库,编译工程的时候需要把这些库放到对应工程目录下,具体的路径见 _path.txt

2.硬件架构说明

electronbot's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.