Questions tagged «two-wheeled»



4
没有陀螺仪的两轮机器人是否可以移动和稳定?
有了像这样的两轮机器人,我设法稳定了它并保持了静止。这是通过使用数字反馈控制系统通过读取车轮的位置来确定位置来完成的,并将来自车轮电机的自然反电动势用于反馈回路中以确定速度。它使用PID控制器保持稳定,该PID控制器是使用根轨迹算法进行设计的,以使其保持稳定并调节性能参数(例如超调百分比,建立时间等)。我想尝试使其保持稳定,同时又将其向前推进,但我不知道如何去设计一个可以做到这一点的线性控制器。是否可以同时推动机器人前进和 使用车轮上的反馈控制器保持稳定,还是需要陀螺仪?

2
计算差动驱动机器人的位置
如何使用增量传感器计算或更新差动驱动机器人的位置? 在两个差速器轮的每一个上都有一个增量传感器。这两个传感器确定距离 RESP。Δ ř 我克ħ 吨其轮一个已知的时间期间已经推出Δ 吨。Δ 升È ˚FŤΔ升ËFŤ\Delta leftΔ ř 我克^ h ŤΔ[R一世GHŤ\Delta rightΔ ŤΔŤ\Delta t 首先,假设两个轮子之间的中心标记了机器人的位置。在这种情况下,可以将位置计算为: x = x升Ë ˚FŤ+ xř 我克^ h Ť2ÿ= y升Ë ˚FŤ+ yř 我克^ h Ť2X=X升ËFŤ+X[R一世GHŤ2ÿ=ÿ升ËFŤ+ÿ[R一世GHŤ2 x = \frac{x_{left}+x_{right}}{2} \\ y = \frac{y_{left}+y_{right}}{2} 在两个车轮都沿直线滚动的假设下“推导”这些方程式(对于小距离应该近似正确),我得到: Δ XΔ Ť= 12(Δ 升Ë ˚FŤΔ Ť+ Δ ř 我克^ …

2
在机器人C中使用归类架构的正确方法
最近,我一直在大量阅读有关“ Subsumption Architecture”的文章,人们似乎在倡导几种不同的方式。 例如,某些人使用全局“标志”变量来控制任务。其他人使用,endTimeSlice()并允许仲裁员真正选择。我认为这是正确的。 我有一小部分的RobotC代码,我正在为跟随机器人的一行工作,但是不确定我是否做对了,因为当前track方法将始终接管find方法。正确的流程应该是:find应该使用螺旋路径来将机器人引导到生产线。找到线路后,轨道应接管。 task evade(){ if(SensorValue(forwardSonarSensor) > threshold){ //box the obstruction } } task find(){ if(SensorValue(lightSensor) > threshold){ //spiral the robot } } task track(){ if(SensorValue(lightSensor) < threshold){ //go straight }else{ //execute turns to follow the line } } task main(){ while(true){ StartTask(evade,9); StartTask(track,8); StartTask(find,7); wait1Msec(250); } } …
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.