Page 1 of 1

GPS Real Time Navigation in the Point Cloud

Posted: Wed Sep 28, 2016 5:05 pm
by gabrielwalton
Dear Daniel,

As always, many many thanks to you and everyone involved for their amazing work with this software.

I am curently using CloudCompare to process large point clouds of subsea 3D data of underwater assets and seafloor collected with acoustic multibeam sonars and subsea lasers. We collect data around a full site and build a complete 3D model of an area to view in CloudCompare.

A few years ago I used to carry out this processing and cleaning of the data in Fledermaus but long ago ditched this for the much quicker CloudCompare. Fledermaus did have one good feature that was much under used and I wondered if it could be replicated here. Fledermaus had the ability to take in a serial string through the DB9 RS232 port as ASCII text in a format such as easting,northing,height,heading,pitch,roll and display the ROV position on screen or "see" the view out of the front of the ROV.

Would this be possible to impliment in CloudCompare? It would mean we could survey a site to completion and allow full navigation subsea in the virtual environment when all visibility has been lost (which happens quite often).

I have been looking at the qAnimation plug in and it seems like it could be a good start to achieving what I am looking for.

What are your thoughts here? Would it be simple to complete? I have very basic coding skills but could seek help from colleagues and friends if you could point me in the right direction.

There may be other uses for this function as well as navigating subsea in zero visibility.

Many thanks for any help or advice with this.

Best regards,

Gabriel

Re: GPS Real Time Navigation in the Point Cloud

Posted: Thu Sep 29, 2016 3:28 pm
by daniel
Interesting... even though it's quite peculiar ;)

I guess doing this in a dedicated plugin would be totally possible. But you'll have to find someone to do the job indeed (it would be good if this person knows about Qt, as CloudCompare is built over Qt). If you need external help you can contact me (cloudcompare [at] danielgm.net).

Qt will let you handle the RS232 port quite easily. Then I guess connecting to the right port and decoding the data would be the "hardest" part (do you precisely know how the data is sent? if there are other commands or error messages, etc.?). Once you have read the position data, it's pretty easy to setup the camera of a 3D view to match the rover 'eye', or alternatively to displace a small mesh of the rover in 3D.

Re: GPS Real Time Navigation in the Point Cloud

Posted: Sat Oct 01, 2016 12:55 pm
by gabrielwalton
Hi Daniel,

Thank you for the reply.

I am a hydrographic surveyor and use various pieces of equipment such as GPS, etc all communicating with a PC over RS232. I feel reasonably comfortable with this side of the task.

Please could you give me a hint either in the documentation or source code as to where to apply the x,y,z,roll,pitch,yaw parsed through the RS232 to the 3D view.

Thanks again for your reply and input.

I'll keep you updated if I make any progress.

Best regards,

Gabriel

Re: GPS Real Time Navigation in the Point Cloud

Posted: Sat Oct 01, 2016 7:30 pm
by kstulka
Hi,

I am hydrographic surveyor too, but I am more connected with construction jobs. I hope you will succeed. It is very interesting, I will be monitoring that thread :)

Cheer
Krzysztof Stulka

Re: GPS Real Time Navigation in the Point Cloud

Posted: Mon Oct 03, 2016 8:07 am
by daniel
@gabrielwalton

In a plugin, you have access to most of the main application resources via the 'm_app' member (ccMainAppInterface class).

This instance will allow you to get the active 3D view (with 'getActiveGLWindow'). And to change the camera position, you just need to call 'setBaseViewMat' (which is the current camera position and orientation matrix). And 'redraw' once done.

The input matrix is a 4x4 matrix, corresponding to a 3x3 rotation (top-left) and a translation (right column). Translation is probably simply (x, y, z). And for the rotation, it depends of the order in which each rotations should be applied. The ccGLMatrix has a default 'initFromParameters(phi, theta, psi, translation)' method, but it's not certain that it will fit your needs.

Re: GPS Real Time Navigation in the Point Cloud

Posted: Thu Oct 27, 2016 12:43 pm
by gabrielwalton
Daniel,

Thanks for this info.

A colleague of mine had a play around with this and he managed to add a virtual ROV to the scene and animate in the point cloud. It was a step further towards what we are looking for. Unfortunately we ran out of time but I may contact you in the future to develop this further for a particular application if you are interested.

Many thanks,

Gabriel

Re: GPS Real Time Navigation in the Point Cloud

Posted: Thu Oct 27, 2016 12:45 pm
by daniel
Yes don't hesitate. You can send me emails to cloudcompare [at] danielgm.net