ethz-asl / ethzasl_ptam

Modified version of Parallel Tracking and Mapping (PTAM)
http://wiki.ros.org/ethzasl_ptam
235 stars 184 forks source link

PTAM with IMU sensor #107

Open AndreV2890 opened 6 years ago

AndreV2890 commented 6 years ago

Hi all. I'm working on an indoor tracking project using PTAM. It is not related to ROS but I hope you can help me to better understand something about the PTAM motion model. I'd like to use an IMU sensor to retrieve more precise information about velocities and accelerations because if I have understood well, PTAM considers the camera motion with a constant motion model. Analyzing the code seems that the piece of code that I have to modify in order to deal with the camera motion is the one in the function "Tracker::ApplyMotionModel()". The v6Vector appears to be composed of 3 (for transactional velocities along x, y, z) plus 3 (for rotational velocities, maybe roll, pitch and yaw) components. First of all, is it right? And what about the measurement units? In case it is right, in order to reduce the scale error and generate a more precise tracking, can I put the IMU values in the vector v6Vector?

weblucas commented 6 years ago

Have a look at these tutorials. Try to use the ethzasl_sensor_fusion or the ethzasl_msf.

http://wiki.ros.org/ethzasl_sensor_fusion/Tutorials