控制算法工程师的主要职责描述1
职责
1、负责公司MW级机组的控制策略参数整定,编写外部控制器
2、通过控制算法的优化实现风电机组轻量化设计
3、负责公司先进的风电机组智能控制算法的控制,风电机组的前馈控制,风电机组载荷在线预估,风电机组的辨识等方向的研究
4、基于大数据的控制算法优化的研究
5、研究国内外该方向的发展趋势
任职要求
1、研究生及以上,二年相关岗位工作经验
2、有两年以上先进控制算法的工作经验,具有扎实的经典控制及现代控制理论基础,或者具有扎实的系统辨识的基础
3、熟练使用MATLAB软件,熟悉C语言编程,能够熟练阅读与翻译英文技术资料,能够独立进行外语交流优先
控制算法工程师的主要职责描述2
职责:
1.负责机械臂的研究与控制;
2.负责机械臂电机控制算法的研究与优化;
3.负责领导分配的其他工作。
任职要求:
1.计算机/电子信息技术相关专业,本科及以上学历;
2.英语四级以上,具有熟练的英文阅读能力;
3.熟悉Freescale,STM32等MCU编程开发,熟悉FreeRTOS者优先考虑;
4.熟悉电机原理与控制,熟悉PID控制算法;
5.熟悉机械臂控制,熟悉ROS及ROS机械臂控制者优先考虑。
控制算法工程师的主要职责描述3
职责:
1、负责公司产品核心控制算法的设计、研发、调试和测试工作;
2、各专业配合完成控制系统的测试工作,调整策略进行参数调整,直到控制系统的稳定性、快速性、准确性满足要求;
3、负责相关设计开发文档的编写;
4、公司安排的其他相关专业工作。
岗位要求:
1、电子工程(EE)、计算机(CS)相关专业,本科及其以上的学历;
2、从事三年以上运动控制有关设计、调试和系统编程经验;
3、熟悉嵌入式系统开发,有良好的编程习惯;
4、精通自动控制原理(如PID)、现代控制理论,电机驱动的相关知识和经验,并有一定的参数调节经验;
5、熟悉C语言,MATLAB语言,以及熟悉单片机编程,常用SPI、串口等通信,熟悉常见图像处理算法GPU实现及优化;
6、扎实的数学基础和英文论文阅读能力。
控制算法工程师的主要职责描述4
职责:
1. 按照公司产品既定开发计划,全面负责算法部门工作计划的制定和跟踪,实现产品研发的节点和质量目标;
2. 组织研究行业最新产品的算法发展趋势,制定算法技术发展计划,并全面监督推进计划实施;
3. 全面负责算法工程师的团队建设和人才培养,全面负责算法工程师团队的稳定性;
4. 全面负责特定控制对象的仿真模型搭建,负责建立控制算法的研究、验证和评价平台;
任职资格:
1. 硕士、博士毕业,3年以上相关岗位工作经验;
2. 掌握机器人的运动学和动力学求解方法;熟悉遥操作控制系统的开发与应用,具备双边力控制技术与理论能力;具备线性控制系统的建模仿真、算法校正和性能评价能力;熟悉波特图、奈奎斯特、根轨迹图等分析方法;Matlab/Simulink/C编程能力和EtherCAT总线技术;
控制算法工程师的主要职责描述5
职责:
1.负责公司标准打磨单元全过程检测系统硬件选型及软件编写;
2.根据项目任务计划按时完成软件编码和单元测试工作;
3.按照开发流程编写相应的设计文档;
4.解决研发中的关键问题和技术难题;
5.负责硬件选型及后续工作开展。
任职资格:
1.计算机、电子信息、通信工程、信号处理、自动化等相关专业;
2.精通C#/C++语言中的一种或者多种,有WinForm、WPF、MFC、QT中至少一种的具体项目开发经验,或熟练应用Labview软件;
3.精通串口通信协议和网络通信(TCP/IP和UDP),具备工业现场数据采集经验;
4.熟悉Sql server/Oracle/Mysql数据库中的一种或多种;
5.具备良好的通信和数字信号处理基础,精通Matlab等算法工具;
6.有DSP/FPGA等信号处理系统开发经验者优先;
控制算法工程师的职责概述
控制算法工程师的职责概述1
职责:
1、 负责公司逆变器产品软件的开发设计工作;
2、 负责逆变器产品时序逻辑,控制算法的设计和仿真;
3、负责设计文档的编写;
4、负责在售产品的维护以及功能升级。
任职要求:
1、具备2年及以上光伏逆变器软件设计经验或者同类产品开发经验,理解产品的控制算法;
2、熟悉TI DSP芯片,熟练使用C语言开发;
3、良好的自动控制理论基础;
4、熟悉逆变器控制算法,能熟练建模,仿真分析;
5、逻辑思维能力强,善于分析解决问题。
控制算法工程师的职责概述2
职责:
负责车辆控制算法的设计和研发
负责控制系统的仿真、测试和真车调试
负责设计和开发车辆控制系统中的信号采集、标定等功能模块
任职条件:
车辆工程,自动控制,机械电子等专业,硕士及以上学历,2年以上工作经验
掌握Matlab/Simulink/Carsim仿真工具,具有车辆控制的建模和调试经验
了解汽车横纵向控制,了解车辆底盘控制、车辆动力学和车辆特性
了解CAN总线、转向、刹车执行机构工作原理
具有较强的动手能力,善于解决实际问题
具备较强的学习能力,关注并尝试新技术,主动性强,勇于接受挑战
控制算法工程师的职责概述3
职责:
1、能独立完成应用层需求分析和算法建模,并能使用MIL,SIL方法进行测试及验证;
2、熟悉Simulink代码生成配置、优化及与底层手写代码的集成;
3、参与量产ECU产品(包含但不限于EMS,TCU,VCU,BMS)的SIMULINK开发;
任职要求:
1、本科以上学历,电子、通信、自动化等相关专业优先考虑;
2、熟练使用simulink;熟悉任意车辆相关系统数学模型搭建;
3、熟练掌握MATLAB 的C代码生成;
4、有强烈的责任感,能够承受压力,能独立完成承担的项目;
5、积极向上,性格开朗,敢于创新。
控制算法工程师的职责概述4
职责:
1. 维护公司agv控制算法,并拓展到其他AGV车型。
2. 建立AGV正/逆运动学模型,进行轨迹跟踪控制算法开发与维护。
3. 基于ROS/Matlab, 进行运动控制算法的离线仿真。
岗位要求:
1. 熟悉卡尔曼滤波等数据融合算法。
2. 熟悉ROS和stm32.
3. 有机器人控制算法开发经验,熟悉C/C++,熟悉基本的PID控制,人工势场等算法。
4. 本科以上学历,数学、自动化、机电与控制工程等专业,有良好的数学功底。
5. 有基于MATLAB建立机器人的运动模型,在ros上进行轨迹跟踪算法开发经验优先考虑。
6. 能适应短期出差。
控制算法工程师的职责概述5
职责:
1、研究并开发机器人自主定位算法。包括基于EKF、PF等模型进行地图构建,后端闭环检测及优化等;
2、研究并开发机器人自主导航算法。包括路径规划、运动规划,自主避障等。
3、研究并开多传感器融合算法,包括多传感器时间同步,矫正及信息融合等;
4、负责算法的优化、移植和产品化等。
任职要求:
1、 2年或2年以上Python服务器应用开发经验,熟练掌握C/C++编程、Python语言编程,掌握Linux环境下软件开发;
2、具有较好的数学功底、掌握基础的数据结构与算法知识;
3、熟悉python文本识别技术以及脚本编写;
4、熟悉嵌入式系统和 Linux 系统;
5、具有很强的逻辑思维能力,肯钻研,思维敏捷,敢于突破与创新;
Linux命令行与命令
Linux命令行与命令
什么是命令
我们通常所说的Linux命令行是运行在终端(terminal)的shell (阅读Linux架构以了解什么是shell以及它在Linux系统中的位置)
所谓的命令,是我们在命令行输入的一串字符。shell负责理解并执行这些字符串。shell命令可以分为如下几类 1)可执行文件(executable file) 2)shell内建函数(built-in function) 3) 别名(alias)。可执行文件为经过编译的程序文件,我们输入这些文件的路径来让shell运行,比如$/bin/ls。有些可执行文件被放在特殊的目录(默认路径)下面,从而使得操作系统可以通过文件名找到,而不用总是输入该文件的绝对路径(absolute path)。比如说$ls(实际上,shell自动帮我们补齐ls的路径)。随后,这些可执行文件中包含的程序运行,并成为进程。shell的内建函数与上面类似,只是其对应的程序被保存在shell的内部。别名是指我们给以上两种命令起一个简称,以便减少输入的工作量。
我们可以通过type命令来了解命令的类型:
$type ls
$type cd
命令的构成
当我们在命令行输入命令的时候,往往由一下方式构成:
$ls -l /home
整个一行命令由空格分为三个部分(注意, $是自动出现的提示符,有时还会在此之前出现计算机名)。第一个为命令的名字ls,这个命令ls的功能是列出目录中所有文件,第二个-l是关键字,它告诉ls要列出每个文件的详细信息,第三个/home为参数,表示我所要列出的目录是/home。实际上关键字是一种特殊的参数,大部分情况下用来开关程序的某些特殊功能 (用来选择做出的是拿铁咖啡还是黑咖啡)。而参数是用来传递给程序的一般的变量。ls经过处理之后,将在终端输出/home下面包含的各个文件名 (该文件系统见:http://www.cnblogs.com/vamei/archive/2012/09/09/2676792.html):
vamei another
关键字和参数可以不止有一个,比如:
$ls -l -a /home /bin
$ls -la /home /bin
(上面两个命令等价)
列出/home和/bin目录下的文件,-a表示列出全部文件(即使是隐藏文件也要列出), -l表示列出每个文件的详细信息。
(如果命令没有被放在默认路径中,你也可以输入绝对路径来执行)
回忆Linux文件管理背景知识,我们知道,每个文件能否被执行要根据用户所拥有的权限。命令实际上是可执行文件,也是如此。系统相关的命令,或者某个命令中的定义的操作,往往会要求超级用户root的身份才能使用。如果你是用户vamei,那么你就无法使用这些命令。但以root的身份登录是个糟糕的想法。为了解决这一矛盾,你可以以vamei的身份登录,但在执行命令之前加上sudo, 以便临时以root的身份执行某条命令。比如$sudo ls .
对于大多数的shell来说,都有命令补齐的功能。当你在$的后面输入命令的一部分时,比如rmdir的rmd的时候,按Tab键,Linux会帮你打剩下的字符,补充成为rmdir。不止是命令,如果你输入的是文件名,Linux也可以帮你补齐。比如说, $ls a.txt。当你输入到$ls a.t的时候,按Tab键,Linux会帮你补齐该文件名,成为$ls a.txt。当然,这样做的前提是你输入到rmd的时候,默认路径下能和它相符的命令只有一个rmdir了。如果有多个相符的命令,连按两下Tab,Linux会显示所有的相符的命令。
多使用命令的好处
实际上,许多命令的功能都可以通过图形化界面来实现,学习这些命令的意义在哪里呢?
在UNIX发育的大部分历史上,用户都是通过shell来工作的。大部分命令都已经经过了几十年的发展和改良,功能强大,性能稳定。Linux继承自UNIX,自然也是如此。此外Linux的图形化界面并不好,并不是所有的命令都有对应的图形按钮。更别说在图形化界面崩溃的情况下,你就要靠shell输入命令来恢复计算机了。
命令本身是一个函数 (function),是一个小的功能模块。当我们想要让计算机做很复杂的事情 (比如说: 在晚上12:00下载某个页面的所有链接,然后复制到移动硬盘)的时候,不断地去按各个图形化按钮并不是个很聪明的事情 (1. 要点很多下,2. 必须等到12:00)。我们通常是通过shell编程来实现这样一些复杂任务,这时,就可以把命令作为函数,嵌入到我们的shell程序中, 从而让不同命令协同工作 (比如使用date来查询时间,再根据时间来使用wget下载等等)。
如何了解一个陌生的命令?
有一些命令可以用来了解某个命令本身的情况,比如这个命令的绝对路径。
$which ls
which 在默认路径中搜索命令,返回该命令的绝对路径。
$whereis ls
whereis 在相对比较大的范围搜索命令,返回该命令的绝对路径。
$whatis ls
whatis 用很简短的一句话来介绍命令。
$man ls
man 查询简明的帮助手册。对于大部分的Linux自带的命令来说,当作者编写它的时候,都会带有一个帮助文档,告诉用户怎么使用这个命令。
(man可以说是我们了解Linux最好的百科全书,它不但可以告诉你Linux自带的命令的功能,还可以查询Linux的系统文件和系统调用。如果想要深入学习Linux,就必须要懂得如何用man来查询相关文档。)
$info ls
info 查询更详细的帮助信息
此外,在shell中,你还可以用向上箭头来查看之前输入运行的命令。
你也可以用
$history
来查询之前在命令行的操作。
当一个命令运行时,你中途想要停止它时,可以用Ctrl + c。如果你只是想暂时停止,使用Ctrl + z。具体机制与信号(signal)有关,我们将在以后介绍