Hot answers tagged

31

The two pieces of hardware are virtually identical, as asalamon74 points out. There are only a few hardware differences, with a larger set of restrictions based on firmware. To extend on what asalamon74 has already pointed out, here are some direct answers to your bullet points: Connectivity for both devices are USB. If you get a Kinect for Xbox as part ...


31

Two things. If you plan to do mapping, you need a full-fledged Simultaneous Localization and Mapping (SLAM) Algorithm. See: Simultaneous Localisation and Mapping (SLAM): Part I The Essential Algorithms. In SLAM, estimating the robot state is only half the problem. How to do that is a bigger question than can be answered here. Regarding localization (...


20

Primarily, dead reckoning is used along with some other technique, generally SLAM-like. The robot builds a map, and then tries to localize within that map. For example, using laser range scanners, and based on dead reckoning, the robot has an idea of where it is. By comparing the laser range data to the map, it can improve its estimate. Relevant resources ...


15

According to this article the hardware is almost the same, only the usb/power cord is different. Even the minimum sensing distance difference is not hardware-based it's only a firmware-based difference. You can use the cheaper hardware for developing programs using Kinect for Windows SDK, but your customers need the more expensive hardware since Kinect for ...


15

The Roomba solution to this problem was to add cliff sensors, which are really just downward facing proximity sensors: Although this technique seems to have problems with some surfaces, such as dark tile floors, it sounds like this won't be a problem for your application. You can even make one yourself with an IR LED and an IR photo diode, for example this ...


12

The lag in the compass is because of a low-pass filter, to suppress high frequency noise. There exist more expensive magnetometers which have less noise, and therefore, less lag. It is also possible to use a gyroscope to improve accuracy. In fact, this is what Inertial Measurement Units (IMUs) do. This can be accomplished by using a Kalman filter. ...


10

There are two key things to look for from a control system point of view. The first is the root mean square of the torque applied and the second is the following error on moves. Root mean square (RMS) torque As motors degrade over time, they require more torque to be applied for the same acceleration, so if you have tuned your PID loop for a new, low loss ...


10

If permanent magnets are rigidly mounted at a fixed distance from the IMU, they have no effect on the accelerometers and gyros inside the MPU-6050. You can optionally connect the MPU-6050 to an external magnetometer. (It's used to cancel out yaw drift). That magnetometer, if you have one, will be affected by magnets. In theory you could shield the ...


9

I understand you problem is to find different means to GPS to find your position within a given reference frame. This problem in isolation is called localization, and there are many ways to perform that. Firstly you will have to differentiate between relative methods, so measurements which provide a change in position to a previously known position. This ...


9

Generally the main factor in positioning sensors is the actual beam width of the sensors themselves. It's usually the case that the longer range the sensor is, the narrower the beam width. So firstly you need to work out the range you are aiming to sense at and pick some sensors that work at that range. Then you've got to decide on how wide an angle span ...


9

First I would question your math that got you to the 12b sensor. If you have a $dy$ of 1 mm over an arm that is $r = 1$ m long, then $\sin(\theta) = dy/r \rightarrow \theta = \mbox{asin}(dy/r)$. If you make the small angle approximation $\sin{\theta} \approx \theta$, then $\theta \approx dy/r$. This is $\theta$ in radians, so you're looking at a full ...


8

I don't think its entirely impossible to build something like this, especially if you already have some experience with strain gauges. I think the most common way is to arrange the sensor in a Stewart Configuration. There are a lot of articles on this, e.g. "Closed-form force sensing of a 6-axis force transducer based on the Stewart platform". A similar ...


8

This subject is covered quite nicely in the Probabilistic Robotics book by Thrun et. al. I don't have a direct reference, but there are some of his papers (such as Robust Monte Carlo Localization for Mobile Robots, pdf) essentially include the same information. Usually what is used is a mixed error model, where the probability density function consists of ...


8

To expand on thisismyrobot's answer, beam width is indeed important. However, there are a number of other factors, such as the reflectivity of the environment (acoustic "brightness"), transmission frequency, etc. Although it is from 1988, Obstacle Avoidance with Ultrasonic Sensors covers the challenges well - the physics of echo-ranging appear to have ...


8

The processor has to execute something. You will always have an "endless" loop even if you're doing some work in an interrupt handler. The best solution depends on exactly what you're trying to do. The main advantage of using interrupts is they allow you to service events in real-time while your main program is doing something else. Timer interrupts ...


8

You might try a simple microphone. They're available in tiny surface mount packages: You'll need to rub it across the surface, and you should be able to recognise different surface textures by the sound they make. Do a Fourier transform on it, and you should be able to tell something about the scale of the surface textures. You might not want to rub the ...


8

The only way to get a velocity from an accelerometer is to numerically integrate the output of the accelerometer. That is, $$ v = v_0 + a*dT \\ $$ where $dT$ is the elapsed time between accelerometer readings. This means that you need to find the initial velocity $v_0$, and that an accelerometer cannot give an absolute velocity reading, only relative. ...


7

Temperature is a very simple number to measure and is a good aggregation of all the other factors since a weakening motor will be driven harder. Generally a motor that is about to fail will be significantly hotter than the rest of the motors.


7

Generally, this is not possible. This is because motors usually rotate very rapidly, creating rapidly fluctuating magnetic fields. Whether the disturbance is enough depends on how large the motors are. For example, because I mounted an IMU (Inertial Measurement Unit) with magnetometers near some motors, and was forced to turn off the magnetometers to avoid ...


7

You can greatly simplify the problem in most common cases: A lot of "commercial grade" IMus (e.g. Xsens) have very noisy accelerometers. Don't even bother fusing them to get speed, the odometry is already order of magnitudes better. The only usable data the IMU is going to provide is the pitch and roll, and to some extent the heading (see next point) ...


7

If you are running on a fixed track, by far the easiest method is to use a pair of endstops. Typically these would be mechanical, magnetic or optical. Mechanical A mechanical endstop could be as simple as a physical barrier at the end of your track, much like a train track buffer stop. Your vehicle would bump up to buffer, detect that it wasn't moving and ...


7

An easy and cheap approach is to use a a touch sensor like a whisker. The controller just monitors whether the whisker is in contact with the ground, if one is not then it stops and moves away from that wisker. Another fairly cheap method is to use a set of IR range finders pointed toward the ground. The controller then monitors the values returned from the ...


7

A combination of a passive infrared detector (PIR) and sonar range finder (SRF) should do the trick. What has worked well for me previously (not finding humans but very similar) was to have two PIRs on the left and right sides pointed so they have a little bit of overlap in the middle. You can then figure out if the human is to the left, right or in front ...


7

The following diagram (1) illustrates a method by which a Lancaster navigator determined airplane height above the water of a lake. Such a method is useful if the ground lacks features needed for other forms of Visual Servoing. A program I saw about mission Chastise showed one spotlight shining green and the other red, to avoid confusion about which way to ...


7

The sound beam is not traveling in a straight line but is leaving the range finder is a multi-lobed pattern. Of course we are interested in the main lobe. When the sound wave hits an object, it is reflected in various directions. So some of that energy returns to the sensor and triggers it, therefore measuring the distance. Reflection depends on the ...


6

There are numerous options that could/should work here. As mentioned by Elias, an IR sender/receiver is a good choice. This is similar to a "break beam" sensor. Essentially, when the beam of light between the transmitter and receiver is broken, the controller knows to do something about it. Similar to this would be an IR distance sensor, which records the ...


6

The answer is that 3-axis accelerometers don't have a left handed coordinate system just for the gravity. In static condition (i.e. if the accelerometer is not accelerating with respect to any inertial frame) they measure the opposite of gravity acceleration, not the gravity acceleration itself. In more general terms, the accelerometers measure the ...


6

In short, what you are trying to do is well beyond the capabilities of top robotics research labs. That said, here is a short list of general areas you need to look into: Robotic arm dynamics (to swing the racket) Vision processing to track the shuttle Shuttle dynamics to predict shuttle path (this is not well studying so you would most likely have to ...


6

First you need to know the wavelength of the sensor. According to the sharp sensors datasheet for GP2Y0A21YK, the cover should efficiently transmit light throughout the wavelength range of the LED(λ = 850 nm ± 70 nm). Second you need to find the exact material which can transmits the wavelength of the sensor. Some transparent plastics such as acrylic glass ...


6

FWIW, I once needed to create a plexiglass window/shell for a near-IR camera. Most CCD and CMOS sensors are sensitive in the near IR range (e.g. around 850nm), which is where @user3095849 suggested your sensor sits. I went to a local plexiglass supplier and asked for samples of various sheets (they often have lots of leftover pieces) and simply tried them ...


Only top voted, non community-wiki answers of a minimum length are eligible