以下提及内容都是我自己亲自参与实现的,不包括整个项目组的工作。
1.长城Haval系列汽车全液晶仪表开发,硬件采用MPU(ARM A9)+MCU(V850 M0/4)架构,软件基于Ubuntu系统开发。主要负责MPU一侧汽车报警的探测与显示。汽车传感器采集到的数据通过MCU上的实时操作系统QNX串口传输到MPU一侧,MPU根据报警的不同级别分别作逻辑处理。
2.主导并实现AGV机器人控制终端,基于I.MX6D平台+Qt+Ubuntu开发,通过WIFI与AGV机器人建立通信机制,采集机器人的传感器信息,控制机器人的移动,导航,以及开门关门...,从而在展会上令参观者可以随意操作机器人。
3.主导并实现机械臂终端控制器,基于CPU+DSP硬件架构开发,CPU一侧主要基于X86+Qt+Ubuntu平台开发,DSP芯片使用28377D,核1主要采集CPU一侧发送过来的串口信息,主要包括六轴角度,以及经过正逆运动学运算需要发送给各驱动器的CAN数据。核2主要负责做正逆运动学运算。CPU一侧主要负责以下工作:3.1 Yacc+Lex机械臂编程语言解释器。 3.2 Qt实现的UI界面 3.3与DSP的通信协议实现 3.4 机械臂操作控制逻辑功能实现,主要包括通过程序示教机器人实施抓取,移动,放下等系列运动。
3.5 触摸屏驱动的移植,以及按键驱动的编写。
4. 舒尔公司ANIUSB音频路由项目开发。基于ARM M0/M4 +FreeRTOS 开发音频管理功能模块,基于公司的音频网络协议将网络上不同Micphone输入的音频引导到对应的网络上的Speaker设备上,并且ANIUSB设备通过POE接入网络后可以自动被网络上的其他设备探测到。Mute Sync功能模块的实现,勾选此功能选项,可以通过网络上任意的Controller控制设备(ANIUSB、P300)来Mute/Unmute 网络上的被动控制的设备(Micphone,Speaker)。
5. 多机器人调度/路径规划系统,X86+Windows+Qt,UWB 定位系统可以往MQTT的一个topic里面实时广播标签tag的位置,从而系统可以利用此标签的位置给出机器人的目标点,在有多台机器人在网络中的情况下,要通过合理的路径规划避免机器人在窄通道相撞,或者相互阻塞的情况发生