-
Dear @randaz81, @Tobias-Fischer, @reafrancesco, I would like to get some advice for the following problem: I have the iKart in a fixed position (immobile during the whole time) in a room; using the laser I am able to visualize the room and the moving objects using rviz, as you can see in the following pictures: It is easy to spot the walls, and the green circles are the legs of a person. I would like to know where the person is going in the room, with which velocity and direction. @randaz81 suggested me to use a time difference substraction, so I can distinguish from the walls and the moving objects, i.e. the person. Together with @reafrancesco, we are planning to use image processing in order to get a cluster of the legs and detect it in the image. So, my real question:
So then we can easily begin with the image processing. I guess rviz is using some API to get the data from the laser of the iKart, so maybe it's easy to direct that data to a yarp port? And, is this way too complicated, is there a simpler way? Thanks a lot! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
Hi Alex, Best, |
Beta Was this translation helpful? Give feedback.
-
Hi Tobias, Yes, you're right. However, if you process it that way, you lose the "meaning" of the data. In the sense, the room and the person moving in the room. If it's getting closer to one part, to the table, to a chair, etc. Thanks, |
Beta Was this translation helpful? Give feedback.
-
You can check the drawing function: |
Beta Was this translation helpful? Give feedback.
-
PS: Even the math part in yarplaserscannergui is a good example, I do not recommended to use openCV drawing functions, it's a tedious dependency. Instead, you can use yarp drawing functions_http://www.yarp.it/namespaceyarp_1_1sig_1_1draw.html, which are simple to use and do not require external dependencies. |
Beta Was this translation helpful? Give feedback.
You can check the drawing function:
void drawLaser()
insideyarplaserscannergui
. It uses some basic math and opencv drawing functions to produce an image very similar to the one you posted here. However, that module is a stand-alone application. If you want to manipulate the image data coming from a yarp port, you need to develop your own module that basically generates an image like the one produced inside yarplaserscannergui and publish it on a yarp port. It should be pretty straightforward.