13 votes
Accepted

Hand Eye Calibration

After solving the problem, I created a keynote presentation explaining many details about hand eye calibration for those that are interested. Practical code and instructions to calibrate your robot ...
8 votes
Accepted

Why do 3-axis accelerometers seemingly have a left-handed coordinate system?

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 ...
7 votes
Accepted

Why do we generally prefer DH parameters over other kinematic representations of robot arms?

I have been doing a lot of reading up on kinematic calibration and here is what I found: From [1]: A kinematic model should meet three basic requirements for kinematic-parameter identification: ...
4 votes
Accepted

Inverse kinematics after calibration

The analytic inverse kinematics solutions you found do depend on those $0$ terms in your transformation matrices. Those values are, as you've implied, based on the $0$ and $90$ degree values for the ...
  • 4,366
4 votes

Why are two cameras mounted in paralle in stereo application?

Each camera needs to be defined by 6 variables (3 position, 3 orientation). This would mean that during the calibration process, a solver needs to find 12 variables. As this is done usually with an ...
4 votes

Why do we generally prefer DH parameters over other kinematic representations of robot arms?

The link, What are the advantages of using the Denavit-Hartenberg representation?, in Paul's comment provides a correct synopsis. Additional, practical benefits are: DH provides a guaranteed minimal ...
4 votes
Accepted

Practicality of using magnetometer inside AUV

Mags are used in almost all UAVs. It will be useful and it will be a unique source of information. Adding a some shielding between the mag and your computers and power lines will greatly reduced the ...
  • 1,833
4 votes
Accepted

Why do we need to know the translation between Camera and IMU?

You answered yourself. Your underlying model of point moving through space usually assumes the center of gravity to match the camera frame. If your inertial sensor have a translational offset from ...
3 votes

Accelerometer calibration - how to get cross-axis sensitivities

I realize this question is 2 years old, but I have direct recent experience with this. The way I did this is with 6 rotated cube positions with 1000 points at each position, so a total of 6000 ...
3 votes
Accepted

Question about Lens distortion

You can only say that the distorted image coordinates are in the range (0-240, 0-180), since that's the image you are starting with. Typically you assume the dimensions of the undistorted image as ...
  • 1,652
2 votes

Why do 3-axis accelerometers seemingly have a left-handed coordinate system?

This is not using a left-handed coordinate system! Check out my crude edits to the diagram. Note each coordinate system (RGB for XYZ, black for gravity) has the gravity vector aligned in the negative ...
  • 1,377
2 votes

FreeIMU External Magnetometer

OK so I managed to solve this by doing a couple of things. Connect external magnetometer to the same I2C bus as the FreeIMU. The FreeIMU is 5V and the external magnetometer is 3.3V so I had to use a ...
2 votes

Gauss Newton Method for Accelerometer calibration

$J^T \times J$ is an approximation to the Hessian which comes from the Levenberg Marquardt Algorithm. It is a least-squares approach, and seems to be used frequently in a variety of optimization ...
  • 4,366
2 votes

Wheel Odometry Covariance Matrix for Custom Robot

The covariance matrix of the control inputs is measured and known. That is, following the EKF equations on this page, the covariance of the control, $Q$ is (often) a diagonal matrix, where the ...
2 votes

How is gyroscope bias exposed and tracked?

I think you're confused. The method you're talking about would only really work if you know the magnitude and orientation of the accelerations you're trying to measure. If that's the case, then why ...
  • 15.7k
2 votes
Accepted

OpenCV get topdown view of planar pattern by using intrinsic and extrinsic from cameraCalibrate

Added OK, guys, simple mistake. I previously used warpPerspective to warp images instead of restoring. Since it works that way, I didn't read the doc thoroughly. It turns out that if it is for ...
2 votes
Accepted

Calibrating Logitic C920 HD 1080p using ros kinetic

Based on rostopic list I realized the correct name of camera: /usb_cam instead of /camera so the command changed to ...
1 vote

Zero-Point/Home Position/Origin of Absolute Encoder: What is the Proper Name?

How are you getting zero angle if it's not reading zero angle? Is this some arbitrary thing you do on startup? Was this a one-time reading you took and it works every time the thing starts up, ...
  • 15.7k
1 vote

Hand eye calibration wrong result

If the rotation looks right but translation look deviated, noise might be an issue. Usually rotations are more robust to noise than translations when using the calibration equations. Synthetic data ...
  • 111
1 vote
Accepted

Hand eye calibration wrong result

In my case the reason for the wrong result was high amount of noise in extrinsic calibration of the visual sensor. Improving the extrinsic results by increasing image resolution and using better ...
  • 186
1 vote
Accepted

Can someone explain what is going on in this calibration video?

Let b, the bias error of a sensor. If you take two measurements of a known value (gravitational acceleration in this case), in opposite directions, say m1 and m2, without any bias towards any ...
1 vote

normalized point coordinates in undistortPoints function

http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html, this link maybe helpful. Here is my answer based on that. 1.What does normalized point coordinates means? ...
  • 111
1 vote

Calibrating a laser scanner to a line camera

I converted my comments to an actual answer: If I understand your setup correctly, you're saying you have a line scan camera mounted to the top of the rotating head of a laser scanner, and all you're ...
  • 15.7k
1 vote

Correct Fish eye camera radial distortion and blurry stretch at the image edges

How I can I include more FOV in the corrected image at the edges, where the information is lost? -> Just try to modify fx and fy of your intrinsic matrix. Maybe, multiplying a scalar to K(0,0) and K(...
  • 1,487
1 vote

Correct calibration parameters of stereo system due to vibrations

You could use g2o library for this. With it you can make a graph whose nodes are estimates of some states (point positions in 3d, point positions on images, extrinsic calibration parameters) and edges ...
1 vote

setup requirement of stereo camera

If you glue two cameras to a wooden board, and then write your code with the assumption that your translation matrix is perfectly or really close to [1, 0, 0], once the cameras are slightly displaced, ...
  • 1,101
1 vote

Effect of camera misalignment errors in dual cameras

Because each have diferent reasons (and so can be helped/worsened in different ways). And the calibration will help only in specific setup and needs be done differently for different setups. The ...
  • 453
1 vote

Wheel Odometry Covariance Matrix for Custom Robot

Josh, thank you for your help! From my understanding it seems that a basic process for determining the velocity covariance matrices of a 3D (X,Y, Theta) robot with N wheels would then be (please ...
1 vote

Why are two cameras mounted in paralle in stereo application?

Making them parallel is beneficial for reducing distortion after a rectification. We usually rectify two images for a fast matching. If speed is not your concern you can skip the rectification stage.
  • 1,487
1 vote
Accepted

Discontinuity in device orientation

Something's not right, either with your test, your conversion, or with the device itself. If you look at your graph of heading, pitch, and roll, you can see that heading rotates through 360 degrees, ...
  • 15.7k

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