CalvinMo
未入会已认证
技术服务商上海2023-05-16入驻
服务企业: 2家累计提交: 0工时

团队技术信息

团队规模:6-15人
团队组成:高端技术职位架构师1人 ,后端C++2人 ,后端全栈1人 ,移动端Android1人 ,前端前端1人 ,DBADBA1人 ,设计师UI设计师1人 ,后端Python1人 ,设计师设计其它1人 ,产品经理产品经理1人 ,后端C4人 ,高端技术职位技术创始人2人 ,高端技术职位项目经理1人 ,测试测试2人 ,运维运维1人
技术栈:C++,python

公司信息

成立时间:2016-10-14企业状态:正常
注册资金:1000万人民币实缴资本:暂无
案例
移动通信网元硬件嵌入式开发项目

DPI项目 项目名称:DPI深度报文解析项目 1.项目介绍: DPI是华为赛门铁克防火墙系统中重要的模块,完成对网络报文的深度分析检测,该项目是对控制面数据处理的优化和升级。 2.在该项目中参与角色及主要工作内容: 负责NGFW项目HTTPD模块(编解码前后台交互数据)编码、一体化策略管理命令行设计与编码,DPI相关业务模块评审、代码review、飞检及性能优化等工作,应用识别引擎组CMO职能(组内代码管理、编译/版本管理、补丁发布、文档入库管理)。 3.技术难点: 1)前后台跨计算机语言的控制业务的交互设计; 2)NGFW下一代防火墙一体化策略命令行设计。 4.解决方法: 1)上述技术难点1的解决方案 移植修改HTTPD服务器,构建进程和线程池作为中间层,上层基于EXT2.0框架对Web层配置或控制指令进行封装,下发至HTTPD,HTTPD完成解析并调用平台C接口完成对防火墙的配置。 2)上述技术难点2的解决方案 该难点在于一体化策略的设计,设计将五元组扩展到七元组,五元组即源目的IP、源目的端口、传输层协议,七元组在五元组基础上多了用户和应用,即要将用户行为和应用加入识别监管策略中。应用是基于传输层之上的多种应用协议,通过协议识别和关键字识别算法对用户和应用行为进行过滤监管。 5.项目取得的效果: 完成预期,支持多用户并发配置管理,防火墙实现一体化策略管理机制。 TGW项目 项目名称:TGW可信任网关项目 1.项目介绍: TGW为华为可信任网关设备,与GGSN和SGSN 3G网元设备连接通信,该项目主要增加WLAN接入用户的支持。 2.在该项目中参与角色及主要工作内容: 负责TGW与GGSN间的GTP管理(激活、更新、去活)编码、RADIUS二次编码、UGW平台移植/联调、PC-LINT/仿真环境搭建、AP/AC/TGW/GGSN/AAA组网搭建与TGW配置(GRE隧道建立、镜像配置、逻辑口管理、EAP-SIM/PEAP/PORTAL认证配置、计费管理配置等),支持意大利VDF项目、佛山移动TGW演示等项目。 3.技术难点: 1)对RADIUS认证计费协议的开发; 2)UGW平台的移植。 4.解决方法: 1)上述技术难点1的解决方案 TGW支持对接入WIFI的用户数据面进行处理,需实现portal认证,基于RADIUS完成对WLAN接入用户连接请求、用户信息查询、Challenge请求分配及认证请求的处理。 2)上述技术难点2的解决方案 将UGW业务系统从*Works实时操作系统移植至SUSE操作系统,对业务与平台的剥离,由组内分层分工共同完成。 5.项目取得的效果: 完成预期目标,系统在国内外三大运营商各局点升级部署。 MSU视频优化项目 项目名称:MSU视频优化项目 1.项目介绍: MSU是基于视频流媒体处理的产品,该项目主要完成对新需求的开发,并对性能进行优化。 2.在该项目中参与角色及主要工作内容: 负责TCPProxy二次迭代项目中,产品适配层的定时器管理、用户上下文管理、用户与策略管理三大模块的编码调试,代码飞检/review、PC-LINT/UT环境搭建,UT/ST/LLT测试用例撰写及仿真测试,参与代码架构研讨设计,参与TCPProxy独立部署方案设计等。 3.技术难点: 1)定时器管理模块的设计与实现 4.解决方法: 1)上述技术难点1的解决方案 数据处理板芯片具有TIM协处理器,其硬件实现机制如一张环型双向循环链表,不断完成自旋自检。SDK封装该TIM基础接口,定时器模块基于SDK对TIM进行封装功能扩展,处理时会将携带相关数据指针挂于该TIM表,CORE调用完成数据包老化处理。 5.项目取得的效果: 完成预期目标,系统在国内外三大运营商各局点升级部署。 MC B6000刀片式板卡项目 项目名称:ATCA架构B6000刀片板卡项目 1.项目介绍: MCB6000单刀片式板卡是为FS9000III产品而研发的,其采用双Cavium MIPs多核CPU(CN68XX 32核心cpu和CN63XX 4核cpu)ATCA架构;其采用贴片2G nand-flash存储,32G DDR3 DRAM,最大可支持24*XGE SFP+,业务口直接与BCM56842交换芯片相连,CN68XX ILK接口(QLM1、QLM2)直接通过后IO实现100Gbps与背板相连;另个两块cpu通过PEX8614 PCIe开关相连,且通过UART口共用串口输出,此串口切换可通过GPIO口CPLD芯片开关控制。 2.在该项目中参与角色及主要工作内容: 1)负责CN68XX/CN63XX CPU串口切换,ALTERA EPM570 CPLD开关UBOOT/Linux环境下串口切换; 2)负责Nor-Flash/Nand-Flash/PLCC UBOOT调试; 3)负责BCM56842 switch芯片调试; 4)负责Marvell 88e1340 GE PHY/QT2225 XGE PHY调试; 5)负责GPIO/MDIO总线调试、E2PROM调试等; 6)负责BYPASS功能调试; 7)负责Cavium MIPS多核架构MCB6000板卡生产测试。 3.技术难点: 1)板内多核串口切换功能; 2)Marvel XGE PHY芯片的调试。 4.解决方法: 1)上述技术难点1的解决方案 该板卡集成三片OCTEON处理器,分别为两片CN68XX和一片CN63XX,但板端只有一个RJ45转串口芯片模块,需实现在UBOOT和Linux应用层完成串口切换,用于分别调试不同的CORE SE程序。通过操作CPLD逻辑单元完成切换,封装功能和命令接口,UBOOT可直接调用完成切换,为Linux内核构建DTB设备树完成地址和GPIP pinctl配置,为Linux应用层程序进行io_map地址映射、命令行封装,实现应用层对CPLD的操作。 2)上述技术难点2的解决方案 通过查看芯片手册,取得厂商FAE的支持,封装UBOOT和Linux系统工具,示波器测量抓时序,完成芯片的调试。 5.项目取得的效果: 完成预期目标,产品广泛应用于烽火等国内外企业。 FC系列数据汇聚与分流项目 项目名称:ATCA架构B6000刀片板卡项目 1.项目介绍: FC系列产品对接入的网数据进行分流,共有主要功能: 1)会话跟踪:基于接口的会话表创建、流量统计、ssn会话表统计、100万条3GPP自学习表项、1200万会话同时在线等; 2)流分类规则:ACL规则、DPI过滤、流转发/丢弃/镜像/复制及建立会话跟踪、payload域长过滤等; 3)负载均衡:支持基于应用完整性/会话完整性/用户完整性/旁路轮询/加权轮询/hash/GTP五元组/GRE-key等负载均担; 4)QOS最大带宽限速功能; 5)IP碎处预处理:同一条流的IP分片作同样的策略处理; 6)多协议承载:识别VLAN/QINQ/PPPOE/MPLS/GRE/GTP等协议报文; 7)3GPP/LTE协议分析支持 2.在该项目中参与角色及主要工作内容: 1)负责集中式系统重构、功能模块设计与实现、完善相关设计文档; 2)负责测试用例设计、单元测试/系统测试、测试报告等; 3)负责平台移植、系统性能优化、整机联调、现场支持/现场问题解决方案报告等; 4)负责LTE网络接口协议支持、完成相关接口协议解码开发管理与实现、完善相关设计文档; 5)负责产品CLI/Zebra命令行设计与实现; 6)参与市场需求分析、负责版本管理等。 3.技术难点: 1)ACL五元组/单IPv4/IPv4Mask过滤功能设计与实现、RFC算法/HASH算法实现,完成算法培训; 2)字符串匹配过滤,支持字符串组/16进制模式过滤、AC算法实现,完成算法培训。 4.解决方法: 1)上述技术难点1的解决方案 ACL五元组是指源目的IP、源目的端口、传输层协议(TCP/UDP/SCTP),控制面用户配置五元组规则来实现对特定网段、特定应用的数据进行过滤分流、管理会话。通过引入实现Bitmap RFC分类算法,以较低内存带宽完成对网络报文的快速分类。 2)上述技术难点2的解决方案 控制面用户可以配置对具有特定字符串的网络报文进行过滤分流,如对HTTPv1.0协议有效载荷数据进行识别过滤。HTTP数据接入后,经层层解析后,协处理器ZIP对有效载荷数据完成解压后,由AC多模匹配算法完成字符串识别。通过引入AC算法和字符串可配置功能,完成对特定协议有效载荷数据的识别分类。 5.项目取得的效果: 完成预期目标,产品广泛应用于烽火等国内外企业。 FS9000III型通用分流项目 项目名称:FS9000III型通用分流项目 1.项目介绍: FS9000III型采用ATCA-40G架构,支持100GE线路接入(单槽位支持100Gbps报文处理能力),整机高达4.8T接入能力,2.4T处理能力;FS9000III主要功能: 1)协议识别:支持PPP/Cisco HDLC封装的POS帧/802.3以太帧/802.1/MPLS等L2层协议、IP-over-IP/GTP/GRE等L3层协议、TCP/UDP/SCTP/ICMP协议、3GPP/LTE等L4层协议识别; 2)过滤规则:精确ACL五元组过滤(支持IPv4 1600K/IPv6 400K条规则)/ACL八元组(五元组、tcp flag、payload域长、输入接口组)过滤(支持IPv4 128K/IPv6 32K条规则)/SIP/DIP/SIP+DIP等不同组合过滤; 3)特征码规则:L4层载荷字符串过滤(载荷的固定位置、载荷的浮动位置); 4)汇聚分流:入接口组/应用完整性/会话完整性/用户完整性/轮询/hash等方式负载均担。 2.在该项目中参与角色及主要工作内容: 1)参与分布式系统架构设计分析,负责分布式系统架构实现、业务功能设计与实现; 2)板内CN63与CN68 RPC通信机制实现、板间CN63与CN63 RPC通信机制实现; 3)主备竞争机制设计与实现; 4)参与定时器与心跳机制设计,完成编码实现; 5)完成分布式命令行编码、集中式相关模块命令下发功能; 6)分布式命令下发功能测试、整机联调。 3.技术难点: 1)分布式系统设计中如何解决ATCA机架与机架之间、ATCA机架内板与板之间、板内多CPU之间以及板内多核之间的通信与同步问题; 2)ATCA机架内分流处理单元主备竞争机制; 4.解决方法: 1)上述技术难点1的解决方案 基于RPC机制设计了一套通信协议(带槽标识),通过机架高速交换单元(多BCM 40G交换板)完成转发,实现机架与机架、板与板之间的通信; 基于RPC机制设计了一套私有协议(带CPU及CORE标识),通过板卡后IO(BCM芯片引出)完成转发,实现板内从CPU之间通信; 基于内存映射、共享及锁机制,实现板内多核之间的通信与数据同步(控制面与数据面)。 2)上述技术难点2的解决方案 主备板比为1:2,其主备板间要确保数据同步,当主板down机后,备板随时启动确保设备正常工作。可预主用槽位,有主用状态标识的板卡优先参与主备竞选,以防止故障板竞争主用板。竞选思路如下: 判断当前板有无主用状态标识,若有则判断当前槽位是否设定为主用槽位;若无则延迟第二时间段后,再判断当前槽位是否设定为主用槽位; 若设定为主用槽位,则立即参与主备竞争;否则,延迟第一时间段后,再参与主备竞争; 主备竞争完成后,主用板记录自身为主用状态。 5.项目取得的效果: 完成预期目标,现产品已广泛应用于国内外运营商及企事业单位。 Iprobe智能探针项目 项目名称:Iprobe智能探针项目 1.项目介绍: Iprobe产品主要针对移动核心网各主要接口的信令过程以及所承载的用户面业务过程进行分析和DPI(深度报文解析),其采用专门为信令解码与网络应用协议分析而设计NQAS(Network Quality Analysis System)操作系统,在1U设备的空间里实现信令分析、业务过程分析、报文深度解析及其关联合成的全部功能;通过生成各类业务的元数据(XDR)记录,支撑应用系统的网络运营者实现网络质量分析、业务质量分析、管道可视化、用户行为分析,投诉处理,业务精细化运营等各类分析场景和功能。 2.在该项目中参与角色及主要工作内容: 1)负责Cavium MIPS多核系统维护、系统Zebra命令行重构; 2)负责SAE架构协议、SIP/RTP/RTCP解码与合成的设计与编码实现; 3)引入CN68XX定时器统一化管理方案、有名共享内存取替频繁操作FPA内存的方案、多CORE分级化(CORE&GROUP绑定)处理方案; 4)负责VoLTE音视频PKI分析及相关算法实现(E-Model算法); 5)负责移动局点测试支持、问题跟踪报告等。 3.技术难点: 1)SIP/RTP/RTCP协议解码与CDR合成; 2)E-Model算法模型的实现。 4.解决方法: 1)上述技术难点1的解决方案 SIP是基于文本的应用控制协议,用作管理多个参与者会话;RTP/RTCP实时传输/实时传输控制协议则是基于UDP传输层协议的非可靠多媒体数据传输协议;根据RFC标准协议文档不难完成对协议的解析,难点而在于如何还原域内及不同域间UA之间的会话。解决方案: 提取SIP/RTCP的五元组信息、SDP会话及用户信息、数据传输信息等采样封装为CDR数据上报至前端,同时对相应RTP流媒体数据进行采样存储,由前端对数据进行分析并还原。 2)上述技术难点2的解决方案 与张伟伟博士合作,分工负责Matlab算法演算预测和E-Mode建模实现;我负责后半部,完成编码器数据结构重构,实现E-Mode统一模式,支持多编码器输入,推出实时MOS平分值。 5.项目取得的效果: 完成预期目标,现产品已广泛应用于国内外运营商核心网及企事业单位。 Optiway U项目 项目名称:Optiway U项目 1.项目介绍: OptiWay U是新一代多业务流量采集和分流平台,可在16U的机架空间内安装14块ATCA板卡,支持板卡间流量交换和汇聚,可接入和处理多条100GE链路。OptiWay U可作为网络优化、信息分析等电信增值业务的基础前端设备,用于3G核心网、城域网、IDC机房等场景的网络流量采集,可满足各种复杂的流量采集、解析匹配和应用处理需求。 其支持基于数据包L3-L7信息的分类,支持基于五元组流的数据分类过滤,支持对流量的过滤、标记、负载均衡转发、复制和汇聚,支持对流量进行深度DPI解析,支持设置五元组、特征码等复杂分类过滤规则。最大支持4.8T的流量采集,提供多个100GE输出端口,可灵活配置输入输出流量配比,并提供标准串口、telnet/rsh/ssh等管理方式。 2.在该项目中参与角色及主要工作内容: 1)参与OptiWay ATCA架构机柜板间分布式分流与管理系统设计与实现; 2)负责产品业务系统软件架构设计及核心代码实现、代码框架设计与实现、交叉编译平台环境搭建、HAL/FSM/UTILS核心组件编写、Sample样例编写等; 3)负责OptiWay业务软件实现,实现IP五元组过滤RFC算法、字符串精确匹配算法、内存区Zone管理HASH算法,实现GTPU/GTPCV2/TEID/GRE/Diameter/ IPv6模块的编解码; 4)负责CNV版本平台移植(CN66XX移至CN68XX)、Linux应用调试工具开发、系统性能优化等; 5)负责为客户问题提出解决方案,参与下一代产品的研讨设计、新员工技术分享培训等工作; 6)负责新需求分析、计划评审、实施、构架编码、调试、部署测试、版本管理发布等项目管理与研发。 3.技术难点: 1)实现GTPU/GTPCV2/TEID/GRE/Diameter/ IPv6模块的编解码。 4.解决方法: 1)上述技术难点1的解决方案 此项难点主要在于对4G-LTE接入层和EPC架构和协议的掌握,通过查看3GPP协议及4G-LTE相关文献、实验室协议分析仪以及现场数据分析,对4G-LTE的理解掌握,完成各网元协议栈协议编解码。 5.项目取得的效果: 完成预期目标,现产品已广泛应用于国内外运营商核心网。 PA6821混杂驱动平台项目 项目名称:PA6821混杂驱动平台项目 1.项目介绍: PA6821板采用PCIE2.0接口卡形式,为应用提供理想的网络接入前端处理平台,该卡为网络安全、流量监测、业务网关、信令检测等多种业务领域提供了有效的加速方案。PA6821是基于Cavium OCTEONII CN66XX多核处理器,配备高性能HFA字符串搜索引擎,提供专用加/解密、解/压缩等部件,为各类应用提供了极好的性能支持。Cavium OCTEON处理器,拥有多个MIPS处理内核,配备高性能HFA字符串搜索引擎,提供专用加密/解密、压缩/解压缩等部件,为各类专业应用提供了极好的性能支持。PA6821采用的是OCTEONII系列CN66XX CPU,10核,1.0GHZ,2个业务口配置为XAUI模式时,单卡理论性能可达2*10Gbps,PCIE2.0*8lane,单向理论性可达8*5Gbps,业务数据封装为DMA数据传输时,HOST侧用户态4线程收包性能可达3.5Gbps(受HOST侧X86服务器性能影响)。 2.在该项目中参与角色及主要工作内容: 1)负责Linux内核(2.6.32)移植、MTD模块修改调试、BCM8726交换芯片驱动修改联调、sysvinit初始化设计配置; 2)负责NIC网卡驱动、DDOQ跨平台PCIE数据传输驱动、DDOQ跨平台PCIE通信平台的设计与编码实现; 3)负责实现X86用户态多线程DMA收发包服务进程设计实现,完成平台性能测试; 4)负责OCTEONII Passthrough Demo编写,完成对OcteonII各协处理器/内存映射/业务口等初始化; 5)负责PA6821平台性能优化、功能及稳定性测试、版本管理、客户支持维护等工作; 3.技术难点: 1)Linux内核(2.6.32)移植; 2)负责NIC网卡驱动、DDOQ跨平台PCIE数据传输驱动、DDOQ跨平台PCIE通信平台的设计与编码实现; 3)负责实现X86用户态多线程DMA收发包服务进程设计实现,完成平台性能测试; 4.解决方法: 1)上述技术难点1的解决方案 Linux内核运行于CN63XX的CORE0上,用于对板卡内硬件、文件资源等管理、业务控制面配置管理等,移植是为解决内核版本与SDK内核不完全兼容的问题。 2)上述技术难点2的解决方案 基于OCTEON SDK实现DDOQ通信平台,构建跨CPU架构的板间通信平台。该平台可将OCTEON处理后的业务数据从OCTEON平台高速写入X86平台,平台间通过PCIE2.0总线通信,数据封装为Gather/Scatter格式,挂载至DMA Chunker多循环链表,并通过OCTEON DMA协处理器将数据发送至X86侧,由X86侧DDOQ驱动完成数据的收发;难点主要集中在DDOQ驱动的构造、NIC和PCIE2.0驱动的改造。 3)上述技术难点3的解决方案 基于Linux fork和POSIX线程库,实现多进程线进程收发包管理应用程序,基于Linux notify和completion机制完成内核DDOQ数据缓存秘与同步,使用DMA和内存映射机制完成内核与用户态数据传输。其中应用程序与内核态数据传输机制: 应用程序通过MMAP机制对DDOQ内核页缓存(DMA地址)进行映射,实现应用程序和内核对内存和数据的共享; 应用程序将缓冲区数据写入内核Socket缓冲区,NIC驱动再利用DMA传输至OCTEON平台。 5.项目取得的效果: 基本完成预期目标,该平台验收完成后,交付demo和文件提供给无锡和武汉研发中心进行上层业务的二次开发和应用。 FAST-ZIP/TRACK-PROBE项目 项目名称:FAST-ZIP/TRACK-PROBE项目 1.项目介绍: 项目基于OCTEONII平台的产品开发完成,主要开发对数据的压缩解压缩功能、HTTP协议中用户地址位置定位信息的解密与提取。 2.在该项目中参与角色及主要工作内容: FAST-ZIP项目: 1)负责ZIP压缩解压缩模块开发,完成对业务口接入的数据进行过滤/提取/解密/重组/解压缩功能; 2)负责搭建UNZIP高性能分片/整块压缩解压缩软件平台,基于OCTEONII DMA高速数据传递引擎,完成平台的性能优化; 3)负责压缩解压缩平台的联调、稳定性测试、维护与管理。 TRACK-PROBE项目: 1)负责HTTP模块开发,完成对会话流表管理、TCP分片重组、HTTP协议的编解码/解密的实现; 2)负责字符串匹配模块开发,实现AC算法,完成对解密后的分片数据进行字符串精确/模糊匹配,提取出目标内容(导航坐标、用户信息等)上报至CDR; 3)负责CDR模块开发,完成数据的封装、xmit发送; 4)负责平台的性能优化、稳定性测试、版本管理及维护等工作。 3.技术难点: 1)负责搭建UNZIP高性能分片/整块压缩解压缩软件平台,基于OCTEONII DMA高速数据传递引擎,完成平台的性能优化; 2)负责字符串匹配模块开发,实现AC算法,完成对解密后的分片数据进行字符串精确/模糊匹配,提取出目标内容(导航坐标、用户信息等)上报至CDR。 4.解决方法: 1)上述技术难点1的解决方案 难点在于对OCTEONII ZIP协处理器及其接口的掌握,通过查看ZIP编程手册及datasheet,掌握了ZIP的实现机制与应用。 2)上述技术难点2的解决方案 HTTP是面向连接可靠无状态的协议,对HTTPv1协议进行解析,解析由协议标识可获取到HTTP文本数据的压缩格式,对分片内容实体进行提取缓存后重组,DMA再送入ZIP协处理进行解压,通过AC算法找到位置坐标数据并提取,将用户等信息封装为CDR数据上报发送至对应端口。 5.项目取得的效果: 基本完成预期目标,该平台验收完成后,交付demo和文件提供给无锡和武汉研发中心进行上层业务的二次开发和应用。

0
2023-05-16 12:18
人工智能方向控制与调度系统项目

 六自由度工业机械臂控制系统项目 项目名称:六自由度工业机械臂控制系统项目 1.项目介绍: 机器人控制系统主要负责对6轴工业机器人的控制,用户在示教器手持中进行机器人运动控制编码下发,完成对工业机器人的运动控制。机器人共分为机器人机械本体、机器人控制器、伺服驱动器、减速机、各类传感器共5类组件。 2.在该项目中参与角色及主要工作内容: 1)负责Linux内核及设备驱动模块开发,编写scheduler调度子系统,构建TCP/IP网络协议栈和IPIPE实时通信域,建立强实时性内核通信平台; 2)负责嵌入式系统核心框架的设计,实现硬件抽象层(HAL)/有限状态层(FSM)/组件层(UTILS)/运动控制算法(MOTION)/程式解析(PARSE)等核心部件; 3)负责Linux各组态服务进程及应用程序设计与开发,实现基于现场总线标准(EtherCAT)&CANopen通信标准通信模块,实现SQLite3数据库应用子系统,实现跨平台跨系统RPC通信服务子系统; 4)负责离在线编程环境的搭建,基于ROS完成URDF&RViz建立6自由度机械手3D仿真模型,完成在线对6自由度机械手的运动控制; 5)参与负责示教器GUI界面的设计,完成GUI&命令交互核心业务部分的编码。 3.技术难点: 1)Scheduler调度子系统,构建TCP/IP网络协议栈和IPIPE实时通信域; 2)运动控制算法; 3)实现基于现场总线标准(EtherCAT)&CANopen通信标准通信模块; 4)基于ROS完成URDF&RViz建立6自由度机械手3D仿真模型。 4.解决方法: 1)上述技术难点1的解决方案 机械臂控制系统对数据和控制的实时性要求特别高,系统无需以最快的速度完成任务,但要求时常或每次都在特定的时间周期内完成任务。基于精简Linux系统,移植构建Xenomai IPIPE实时内核域和EtherCAT现场总线实时通信框架。EtherCAT是基于以太网的低延时、高响应、高可靠性的现场总线系统,主站基于改造后的NIC驱动实现通信,从站选用特定的EtherCAT从站控制器ESC或FPGA实现;Xenomai框架将Linux内核分隔为Nucles Scheduler和Linux Scheduler两个域,被要求强实时性的数据由NIC进入Linux系统经过Adeos(IPIPE层和HAL层),优先触发实时域中断,由Nucles Scheduler送至EtherCAT主站通道,而不会被Linux Scheduler捕获送至TCP/IP协议栈,以此来确保实时通信。 2)上述技术难点2的解决方案 由机械臂刚体及环境构建了基坐标系、末端法兰坐标系、工具坐标系及测量坐标系,其用于描述每个独立刚体的运动;主站控制器根据各伺服驱动器反馈的编码器数据,推算出末端法兰的位姿(FK正解算法),主站控制器根据末端法兰位姿推算出各刚体转动的角度(IK逆解算法)。运动控制实际上是坐标平移的过程,通过粗插补算法(脉冲增量插补和数据增量插补)在理想的轨迹的已知点(示教点)之间确定一些中间点,从而逼近理想的工件外形轮廓。由此推算出来的粗脉冲值经过EtherCAT主站以设定的周期下发至从站伺服驱动器,伺服驱动器取得脉冲值后通过PDI算法对电机完成精确控制。我与搭档共同完成算法演算与建模。 3)上述技术难点3的解决方案 EtherCAT主站是开源框架,有物理层、数据链路层和应用层三层框架。EtherCAT物理层使用标准NIC芯片,支持Intel和Realtek两家主流的芯片,本项目对e1000e和IGB千兆和万兆以太网驱动进行了改造,以兼容多种网卡芯片;EthterCAT主要实现了数据链路层的控制;EtherCAT支持EoE/CoE/FoE/SoE和AoE五种Mailbox协议,CoE则主要用于伺服系统通信,使用CiA402规约,本项目中使用了CANopen。从站伺服驱动器则选用CAN协议通信,项目中主站需要导入伺服驱动器的对象字典表,才可正确解析出上报的数据。 4)上述技术难点4的解决方案 构建Ubuntu16.04 Kinetic ROS1.0环境,编调出机械臂URDF XML模型文件,搭建Rvize和Gazebo仿真环境,通过由QT实现的UI界面示教下发参数调试系统。此项难点在于对ROS的熟悉,通过ROS Tutorials的引导实践对ROS的基本框架和应用进行了学习,掌握了基本的应用。 5.项目取得的效果: 基本完成预期目标,控制器在上海沃巴弗车间内部进行了现场调试应用,控制精度、系统架构、应用界面等在持续优化。  AGV多机器人自主充电调度系统 项目名称:AGV多机器人自主充电调度系统项目 1.项目介绍: AGV多机器人自主充电调度系统实现了工厂内AGV可自主自发地按某些策略完成自主充电动作。工厂中控系统对工厂内所有AGV和充电机全局控制与调度,对AGV BMS信息、任务信息,以及充电机状态与任务信息进行分析,调度AGV到最适的充电机完成精准伺服充电任务。系统采用IoT概念,构建中控、AGV、充电机通信组网,实现了中控与充电机之间、中控与AGV之间、AGV与充电机之间的数据同步与高效控制。AGV与充电机之间设计有安全交握机制,确保了充电任务的安全和稳定性;AGV作为行动者,能够实时了解工厂充电机分布,并可自主定位导航,前往充电机执行精准伺服充电。 AGV多级自主充电调度系统主要包括五个子系统:UI配置管理子系统、中控子系统、运动规划与控制子系统、感知与伺服子系统、充电机控制子系统。UI配置管理子系统作为BITO系统的人机交互界面,集成了配置管理、路网设计规划、监控监测、日志存储管理等完备的管理系统。中控子系统作为BITO系统的调度与交管中心、数据交换与处理中心,处理外部派发系统服务请求,管理整个AGV系统,确保所辖AGV集群与工厂设备节点有序稳定运作。运动规划与控制子系统作为AGV单节点的规划与控制中心,接收中控目标指令,规划最短路径最优轨迹,全闭速度环控制不同类运动模型AGV底盘完成轨迹动作。感知与伺服子系统作为AGV单节点的感知与伺服中心,凭借激光雷达、视觉相机等光学传感器感知物体结构与位置,与外部机构交握获得最佳最安全伺服机会,实现高精度稳定任务伺服。充电机控制子系统作为BITO系统的充电控制中心,接收中控充电控制指令、处理与AGV交握逻辑、实时监测并反馈充电机状态。 2.在该项目中参与角色及主要工作内容: 1)参与多机器人自主充电调度系统的需求分析、控制/调度方案讨论与设计; 2)负责中控系统中任务调度与管理子系统、多机通信平台的开发与调试; 3)负责充电机控制模块、BMS管理模块、单机监控模块、充电交握与伺服模块的开发与调试; 4)负责CAN底盘驱动控制与运动模型模块、IO设备控制与管理模块、自动货梯交握/自动料架PLC通信管理模块的开发与调试; 5)负责BWMS智能仓储管理系统的修改与调试; 6)负责自主充电系统仿真环境搭建测试,文档撰写、项目部署与调试,需求改进及功能升级。 3.技术难点: 1)中控系统中任务调度与任务管理子系统、多机通信平台的开发与调试; 2)CAN底盘驱动控制与运动模型模块。 4.解决方法: 1)上述技术难点1的解决方案 智能工厂中,AGV是一个用来运输的移动机器人,负责把货物从A处运到B处,同理AGV从A处到B处执行充电。充电调度的几个过程: Dispatch(派遣):指派AGV去执行一个运输、轨迹或充电任务;Schedule(调度):分配一批运输任务给一组AGV去执行;Route(路径规划):生成所有被指定AGV的路径使其能完成各自被指派的任务。Job(任务):充电调度系统了解到AGV电量不足或空闲时,会自动向MySQL数据库中添加一条充电任务,调度系统(Dijkstra最短路径算法实现)向AGV下发充电任务。通过为AGV设置不同的优先级来解决多机器人协调问题,优先级高的AGV先规划自身路径,低优先级AGV将比其高优先级的AGV的路径视作为障碍物,进而再进行规划。 2)上述技术难点2的解决方案 不同厂家的AGV本体具有不同的运动模型和伺服控制系统,为兼容不同厂家的AGV本体,对底盘控制系统(STM32F4平台)进行抽象化设计(Chassis系统),支持麦轮模型、差动轮模型、单惰轮模型和双惰轮模型,支持本体IO可控可配置,支持不同CAN驱动控制和IO驱动控制,支持IO类2D激光雷达避障控制,支持串口通信(与AGV控制器通信)等。 5.项目取得的效果: 完成预期目标,系统已于武汉京山轻机、汕头格力、台湾阳程股份、台湾TSMC和日本NKC等国内外企业实施应用。  AGV单机控制系统(ANS)及ROS2/DDS分布式数据系统研究 项目名称:AGV单机控制系统(ANS)及ROS2/DDS分布式数据系统研究项目 1.项目介绍: 机器人自动导航系统ANS,主要包括SLAM模块、Navigator运动规划模块、Performer伺服模块、Chassis底盘控制模块、单机监控模块、传感器驱动模块、多机通信模块、仿真模块、自动标定与部署组件、手柄控制模块、单机UI。 SLAM模块支持AprilTag-SLAM和2D/3D激光SLAM定位方式。基于eigen/ceres数学算法库,在开源框架cartographer上开发的激光SLAM模块,支持SICK TIM系列/倍加福2D传感器、Velodyne/雷神 L16 3D传感器的快速建图与精确定位。Navigator模块包括任务规划层(NTA)、任务管理层(NSA)、轨迹规划层(NLP)和轨迹跟踪层(NTT)。NTA负责全局路网路径规划和路径任务下发;NSA负责任务状态和路径信息管理,将任务下发至NLP或Performer;NLP负责轨迹规划,包括局部路径/轨迹再规划,以及避障处理;NTT负责轨迹追踪控制,根据NLP下发的轨迹任务,计算得出最优速度,并向Chassis底盘控制系统发出速度命令速度指令。该模块同时支持Kiva和Bezier轨迹控制。车辆管理系统FMS,主要包括调度与交管模块、自动充电模块、仓储管理模块、多车监控模块、多机通信模块、中控UI。 2.在该项目中参与角色及主要工作内容: 1)负责机器人自动导航系统(ANS) 中Chassis底盘控制模块、Performer伺服模块、多机通信模块、单机监控模块和手柄控制模块的设计/移植、开发与调试; 2)负责车辆管理系统(FMS)中自动充电模块、仓储管理模块、多车监控模块和多机通信模块的移植、开发与调试; 3)负责ROS2 DDS的新技术研究与培训,对接研究Opensplice产品技术。 3.技术难点: 1)负责ROS2 DDS的新技术研究与培训。 4.解决方法: 1)上述技术难点1的解决方案 ROS1将功能分布在各节点之中,节点间基于消息机制通信,节点间的数据传递通过内存复制完成,通信部分则消耗了很多系统资源。且ROS1各节点通过Master节点完成学习,如果Master节点崩溃,各节点间都无法进行通信。ROS2基于DDS消息分发机制,其系统可靠去中心化、通过mmap机制提升系统通信性能、节点化入Linux Container中相互隔离、信息加密防止被劫持等优点。难点在于ROS2和DDS的研究与应用,通过查看ROS2 Melodic tutorials熟悉掌握了ROS2的应用及AGV系统的试迁移;通过引入Adlink OpenSplice的线下技术培训来熟悉OpenSplice DDS的模型与应用。 5.项目取得的效果: 完成预期目标,系统已应用于国内外企业。

0
2023-05-16 11:26
MPP视频流媒体处理系统与ISP图像处理系统项目

1.项目介绍: N16x/N161S系列低功耗高性能SOC芯片主要针对高清AI智能摄像头产品,有2.4 TOPS INT8/1.2TOPS FP16计算能力,可分别提供8M/4M/3M像素级别图像和视频采集处理能力。支持高质量ISP处理能力,集成了内置3D降噪技术和前沿的HDR能力。ISP处理子系统内嵌ARM Mali-IV009 图像处理引擎,支持多摄像头输入和3帧融合HDR。在集成ARM的图像处理引擎之外,开发了支持多摄像头和多帧HDR对齐的输入接口,STNR降噪单元,双边滤波器BLF单元,用于畸变矫正的RECTIFY单元,以及用于图像缩小的RESIZE单元,用于做自动配置寄存器的CTL单元,可动态分配buffer size的AXI接口和DMA_ARBITOR。 2.在该项目中参与角色及主要工作内容: 1)负责MPP系统的开发优化与维护,包括Model系统框架、生产消费者子系统、MB管理子系统、ARM代理子系统、QoS复合与选择器子系统、DSP代理子系统、VO子系统等流媒体业务子系统;完成VI子系统开发与维护,包括Sensor驱动开发、MIPIRX驱动开发; 2)负责对Linux和RTOS系统的Media相关模块驱动的开发维护; 3)负责Media业务pipeline用例的构建和实现,重现客户用例; 4)负责MPP系统的开发优化与维护,包括Model系统框架、生产消费者子系统、MB管理子系统、ARM代理子系统、QoS复合与选择器子系统、DSP代理子系统、VO子系统等流媒体业务子系统;完成VI子系统开发与维护,包括Sensor驱动开发、MIPIRX驱动开发; 5)负责对Linux和RTOS系统的Media相关模块驱动的开发维护; 6)负责Media业务pipeline用例的构建和实现,重现客户用例; 7)负责SOC芯片ISP图像处理系统的设计与开发; 8)负责SOC芯片MSDK流媒体系统软件开发包的开发与维护; 3.技术难点: 1)ISP图像处理系统的设计与开发; 2)MSDK流媒体系统软件开发包的开发与维护。 4.解决方法: 1)上述技术难点1的解决方案 ISP主要对前端图像传感器输出RGB数据做后期处理,景物通Lens生成光学图像投射到Sensor表面,经过光电转换为模拟电信号,消噪声后经过A/D转换后变为数字图像信号,通过MIPI/DVP写入DDR,由MCU送至ISP处理。从Sensor端过来的图像是Bayer RGB图像,经过黑电平补偿、镜头矫正、坏像素矫正、颜色插值(Demosaic)、Bayer噪声去除、白平衡(AWB)矫正、色彩矫正、Gamma矫正、色彩空间转换(RGB转YUV)、在YUV色彩空间上彩噪去除与边缘加强、色彩与对比度加强,中间还要进行自动曝光控制(AE)等,然后输出YUV(或RGB)格式的数据。ISP系统的难点并不在于MCU对图像帧的收发处理,而在于ISP的芯片实现逻辑、插值滤噪算法、3A算法,正在努力学习中。 2)上述技术难点2的解决方案 MSDK包括底层基于SOC的UBoot/Linux操作系统(运行于SOC-ARM平台)、MPP流媒体处理系统(运行于SOC-MCU平台)和顶层TopWare(运行于SOC-ARM平台)。MSDK流媒体则主要指MPP和TopWare顶层,MPP运行于SOC-MCU平台,主要负责调度控制各硬件IP,完成图像帧的收发处理,如控制Sensor Setting配置和Stream On/Off、控制MIPI IP帧传输、控制ISP帧处理、控制VENC/VDEC帧编解码、控制VO帧输出、QOS流服务管理等,ISP子系统属于MPP流媒体处理系统。TopWare则用于构建数据流PIPELINE,将送入或读取SOC-DSP/CNN/DEPTH等模块数据,构造不同的应用场景。该工作的难点在于需对MPP架构和业务的精通,对问题能够精准定位。 5.项目取得的效果: 完成预期目标,系统已应用于公司多个智能终端产品中,并集成于海康萤石、百度等国内企业的多个项目中。

0
2023-05-16 11:22
更新于: 2023-05-16 浏览: 117