Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LDRMS scans published in frame that does not exist in tf tree #11

Open
miguelriemoliveira opened this issue May 27, 2019 · 15 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@miguelriemoliveira
Copy link
Member

No description provided.

@miguelriemoliveira
Copy link
Member Author

@danifpdra can you help me? You use the sick ld rms right? Do you subscribe to the scan0, 1, etc messages?

@miguelriemoliveira
Copy link
Member Author

Screenshot from 2019-05-27 23-16-25

@danifpdra
Copy link
Collaborator

danifpdra commented May 27, 2019

@miguelriemoliveira I included the launch file for the lSICK LDMRS and the Novatel GPS + IMU in the altas-core in the car, and it is all lauched with the drivers.launch file (I didn't commit to github tho)

To obtain sensor data, topics /ld_rms/scan0 /ld_rms/scan1 /ld_rms/scan2 /ld_rms/scan3 must be subscribed, but to group all the data from the sensors, it is necessary to create a point cloud assembler like this:

    <node type="laser_scan_assembler" pkg="laser_assembler" name="my_assembler0">
        <remap from="scan" to="/ld_rms/scan0"/>
        <remap from="assemble_scans2" to="assemble_scans0"/>
        <param name="max_scans" type="int" value="100" />
        <param name="fixed_frame" type="string" value="map" />
    </node>
    <node type="laser_scan_assembler" pkg="laser_assembler" name="my_assembler1">
        <remap from="scan" to="/ld_rms/scan1"/>
        <remap from="assemble_scans2" to="assemble_scans1"/>
        <param name="max_scans" type="int" value="100" />
        <param name="fixed_frame" type="string" value="map" />
    </node>
    <node type="laser_scan_assembler" pkg="laser_assembler" name="my_assembler2">
        <remap from="scan" to="/ld_rms/scan2"/>
        <remap from="assemble_scans2" to="assemble_scans2_"/>
        <param name="max_scans" type="int" value="100" />
        <param name="fixed_frame" type="string" value="map" />
    </node>
    <node type="laser_scan_assembler" pkg="laser_assembler" name="my_assembler3">
        <remap from="scan" to="/ld_rms/scan3"/>
        <remap from="assemble_scans2" to="assemble_scans3"/>
        <param name="max_scans" type="int" value="100" />
        <param name="fixed_frame" type="string" value="map" />
    </node> 

and maybe see this file https://github.com/lardemua/road_detection/blob/master/negative_obstacles/src/cloud_assembler.cpp

@miguelriemoliveira
Copy link
Member Author

Hi @danifpdra ,

Thank you for the help. One thing I don't understand ... how can you assemble without knowing where the frame /ld_rms/scan1 (for example) is?

Can you post the pdf that results from

rosrun tf view_frames

Do you have the link ldrms0 (check my image, that's the frame_id of the messages) in your tf tree?

@danifpdra
Copy link
Collaborator

danifpdra commented May 27, 2019

frames.pdf

@miguelriemoliveira ,
I do have the ldrms frames. Is the device_frame_publisher node from the free_space_detection package running?

@miguelriemoliveira
Copy link
Member Author

Not sure. Let me check your drivers.launch ...

@miguelriemoliveira
Copy link
Member Author

Hum, I don't think there is any device_frame_publisher in the atlas core repo. Where do you have it?

@danifpdra
Copy link
Collaborator

The drivers.launch only launches the sensor... I launch that node on my own launch file.

@danifpdra
Copy link
Collaborator

danifpdra commented May 27, 2019 via email

@miguelriemoliveira
Copy link
Member Author

OK, can you tell me where it is?

Also, it is clearly something that belongs to the scope of the drivers. It should be added to the drivers.launch. Can you add it to drivers.launch and remove it from your launch file?

@danifpdra
Copy link
Collaborator

Here: https://github.com/lardemua/free_space_detection

Yes, I'll do it in the atlascar computer since the github is not updated

@miguelriemoliveira
Copy link
Member Author

miguelriemoliveira commented May 28, 2019 via email

@miguelriemoliveira
Copy link
Member Author

Updated in 07d32af

miguelriemoliveira added a commit that referenced this issue May 29, 2019
miguelriemoliveira added a commit that referenced this issue May 29, 2019
@miguelriemoliveira
Copy link
Member Author

So investigating this a bit more I noticed we are using a driver which is not the most common ...

@bernardomig you have any idea why?

It should be this one

https://github.com/SICKAG/sick_ldmrs_laser

since it is the one that appears officially in the ros webpages ... the problem we detected is because the "non-oficial" driver publishes the laser scans using a frame_id which does not exist in the tf tree.

The oficial driver does not publis the 2D scans separately, it only publishes a cloud.

I think this one would be better to use. @danifpdra do you need the separate scans? Is the point cloud enough for you?

I propose we change to this other driver, tell me what you think ...

@miguelriemoliveira
Copy link
Member Author

here is the drivers.launch ...

    <!--    TODO can we replace this by the oficial driver?-->
    <node pkg="sick_ldmrs" type="sickldmrs.py" name="ld_rms" required="true" output="screen" if="$(arg ld_mrs)">
        <param name="host" value="192.168.0.244"/>
        <param name="port" value="12002"/>
    </node>
    <!--    TODO: Daniela chekc if this works for you?-->
    <!--    <group ns="frontal_laser">-->
    <!--        <include file="$(find atlas2_bringup)/launch/sick_ldmrs_node.launch">-->
    <!--        </include>-->
    <!--    </group>-->

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants