Questions tagged «c»

4
微控制器上的定点算法
通常,我们使用微控制器在机器人中执行操作,但是需要用十进制进行一些计算。使用浮点变量非常慢,因为会自动包含软件浮点库(除非您拥有高端微控制器)。因此,我们通常使用定点算法。 每当我这样做时,我都只使用一个整数,并记住小数点在哪里。但是,确实要确保所有内容都是一致的,特别是当计算涉及小数点位于不同位置的变量时。 我已经实现了定点atan2函数,但是因为我试图挤压最后一滴有限精度(16位)的数据,所以我经常会更改小数点位置的定义,并且在对其进行调整时会改变。此外,我还有一些常量(作为准查询表),它们本身在某处具有隐含的小数点。 我想知道是否有更好的方法。是否有一个库或一组宏,可以简化定点变量的使用,简化混合变量之间的乘法和除法,并允许声明小数或常数表达式,但在编译时自动转换为所需的定点表示形式时间?

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.