Questions tagged «control»

一种用于管理,命令或调节系统某些部分的方法或设备。

3
使用遗传算法调整控制器
我已经阅读了一些有关控制非线性系统(例如非线性摆)的论文。有几种针对非线性系统的方法。最常见的是反馈线性化,后推和滑模控制器。 就我而言,我已经完成了控制简单摆的非线性模型以及C ++中其他操纵器问题的理论和实践部分。对于摆锤,我使用了后推控制器来解决角位移和速度的跟踪任务。结果是 θ¨+(k/m)θ˙+(g/L)sinθ=uθ¨+(k/m)θ˙+(g/L)sin⁡θ=u \ddot{\theta} + (k/m) \dot{\theta} + (g/L) \sin\theta= u 其中和g = 9.81。m=0.5,k=0.0001,L=.2m=0.5,k=0.0001,L=.2m=0.5, k=0.0001, L=.2g=9.81g=9.81g=9.81 效果不错。但是,调整控制器非常耗时。大多数论文使用遗传算法来调整其控制器,例如PD,PID和反推控制器。我在这一领域一无所知,希望有人对此概念有所了解,如果有一个MATLAB示例至少可以控制一个简单的摆锤,那是更好的选择。 到目前为止,我已经在C ++ / Qt中设计了一个简单的GUI,以便手动调整控制器。在下图中,控制器对步进功能的响应。
9 control 

1
如何确定感应和控制致动之间的时间步长?
我的背景: 我的经验是固体力学和有限元分析。因此,我在机器人/控制方面的经验为零。 问题描述 我正在开发一种控制策略,以稳定复杂的六足动力学系统。来自每条腿关节的扭矩Ti将用于在身体上产生净力矩M,从而使系统稳定。从预定的控制策略知道这一时刻M。(注意:动态求解器是非线性计算类型的) 由于缺乏背景,我对动力系统产生了根本性的困惑。我想使用关节扭矩Ti在身体上产生这个已知的净力矩M。此刻M是 所有腿段的当前位置/角度 每条腿的反作用力和力矩(无法控制) 每条腿可控制的关节扭矩Ti 时间 在给定时间(ñ - 1 )Δ T:(∗ )(∗)(*)(n − 1 )Δ(ñ-1个)Δ(n-1)\Delta -根据控制策略计算/知道所需的净力矩M t = (n − 1 )ΔŤ=(ñ-1个)Δt = (n-1)\Delta -从此信息中,矢量代数可以轻松产生产生净矩M所需的所需关节扭矩Ti (∗ ∗ )(∗∗)(**)(n )Δ(ñ)Δ(n)\Delta t = (n − 1 )ΔŤ=(ñ-1个)Δt=(n-1)\Delta -当然,这些扭矩Ti是在紧接的时间步长上施加的,因为它们不能立即施加 (∗ )(∗)(*)(∗ )(∗)(*)(∗ ∗ )(∗∗)(**) 问题 我是否正确理解机器人问题?解决这个难题的条件和策略是什么? 当然,我可以将感应和促动之间的时间步长设置为无限小,但这将是不现实/不诚实的。现实的时间步长和执行任务之间的平衡是什么?

1
具有重叠效果的多个控制回路
我熟悉使用PID在有单个输出和单个错误信号的情况下执行闭环控制,以了解输出达到所需设定点的程度。 但是,假设有多个控制回路,每个控制回路具有一个输出和一个误差信号,但是这些回路不是完全独立的。特别是,当一个回路增加其执行器信号时,这将改变系统中其他回路的输出影响。 举一个具体的例子,想象一个与电阻器串联的电压源,在六个并联的可调电阻器的系统上施加电压。我们可以测量通过每个电阻器的电流,并希望通过调节电阻来独立控制每个电阻器的电流。当然,这里的技巧是,当您调节一个电阻器的电阻时,它会改变并联组的总电阻,这意味着它会改变分压器与电压源电阻之间的压降,从而改变通过其他电阻器的电流。 现在,很明显,我们有一个理想的系统模型,因此,通过求解一组线性方程式,我们可以预测所有电阻同时应使用的电阻。但是,闭环控制的全部目的是我们要纠正偏离理想模型的系统中的各种未知错误/偏差。那么问题是:当您拥有具有这种交叉耦合的模型时,实现闭环控制的好方法是什么?
9 control  pid 

4
对于移动机器人定向和非机器人对象的相对方向,什么是人类友好术语?
在机器人程序设计中,方向主要是根据x,y和z坐标从某个中心位置给出的。但是,如果有很多位置可供选择(例如{23、34、45},{34、23、45},{34、32、45},则x,y,z坐标不便于人类快速理解,{23,43,45}并不是特别友善,并且极易出现人为错误。然而,更常见的英语方向描述符常常过于罗word或太不精确,以至于无法快速选择(例如,“机器人1的右前肩上的前置摄像头”太罗y了;但是“前” /“前向”太不精确了-是摄像头位于前缘还是指向前方?) 在海军和航空领域,通常将车辆位置称为前,后(或船尾),左舷和右舷。而相对于车辆的运动方向通常是参考表盘给出的(例如,前叉的前方将是“ 12”,船尾的后方将是“ 6”,而右舷和右舷端口左侧分别是“ at 3”和“ at 9”)。这种语言支持快速的人际交流,比诸如“前”和“向前”之类的术语更为精确。移动机器人中是否有等同的术语?

2
将四旋翼引向目标
我正在研究四旋翼。我知道它的位置- ,在那里我想去-目标位置b,并从我计算矢量c ^ -将带我去我的目标的单位向量:一个aabbbCcc c = b - a c = normalize(c) 由于四旋翼飞机可以在没有旋转的情况下向任何方向移动,所以我试图做的是 通过机器人偏航角旋转Ccc 将其分为分量X ,ÿx,yx, y 将它们作为侧倾角和俯仰角传递给机器人。 问题在于,如果偏航角为0°±5,则此方法有效,但如果偏航角接近+90或-90,则它将失败并转向错误的方向。我的问题是我在这里缺少明显的东西吗?
9 quadcopter  uav  navigation  slam  kinect  computer-vision  algorithm  c++  ransac  mobile-robot  arduino  microcontroller  machine-learning  simulator  rcservo  arduino  software  wifi  c  software  simulator  children  multi-agent  ros  roomba  irobot-create  slam  kalman-filter  control  wiring  routing  motion  kinect  motor  electronics  power  mobile-robot  design  nxt  programming-languages  mindstorms  algorithm  not-exactly-c  nxt  programming-languages  mindstorms  not-exactly-c  raspberry-pi  operating-systems  mobile-robot  robotic-arm  sensors  kinect  nxt  programming-languages  mindstorms  sensors  circuit  motion-planning  algorithm  rrt  theory  design  electronics  accelerometer  calibration  arduino  sensors  accelerometer 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.