0
$\begingroup$

Rosanswers logo

I have recorded a video where the self-driving car fails to recognize a car obstacle in Occupancy Grid map:

https://www.youtube.com/watch?v=XSKYE1Oxq-c

This issue is related to: https://answers.ros.org/question/377308/autowareai-perception-failure-agent-not-detected-in-rviz/#377523

I did not figured out the reason why the /semantics/costmap_generator/occupancy_grid does not recognize the AGENT car or pedestrian as obstacle. When I echoed this topic, it returns usually an inifinite array of ZEROs values. However sometimes it returns the value 100:

`$ rostopic echo /semantics/costmap_generator/occupancy_grid

0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 100, 0, 0, 100, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 100, 100, 0, 0, 0, 0, 0, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,....]`

The terminal that outputs the runtime_manager launched modules, always display this warning message:

Lookup would require extrapolation into the past. Requested time 1620142061.472442880 but the earliest data is at time 1620142284.496077775, when looking up transform from frame [velodyne] to frame [base_link]

And this error message:

[ERROR] [1620142288.442861565]: Failed transform from base_link to velodyne

However when I run the commands:

```
$rosrun tf view_frames
$ evince frames.pdf
```

I get this TF: frames.pdf

Afterwards I checked again if the TF exist with the cmd:

`$rosrun tf tf_echo base_link velodyne:`

At time 1620141918.625
- Translation: [0.368, 0.000, 1.975]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
At time 1620141919.617
- Translation: [0.368, 0.000, 1.975]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
At time 1620141920.626
- Translation: [0.368, 0.000, 1.975]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
At time 1620141921.617
- Translation: [0.368, 0.000, 1.975]
.......

Also from the rqt introspect plugin, I see that the TF from base_link to localizer (Velodyne) is displayed! Therefore this should not be the reason of the OccupancyGrid map does not insert the obstacle into it:

TF_velodyne_base_link

What keep me worried and intrigues me, is the fact that:

The topic /non_ground_points returns no data when the node ray_ground_filter is triggered alone. This topic just publishes data when the topic ray_ground_filter is activated (along or without the ray_ground_filter.

In the link below the correspond features of these launch files: https://github.com/Autoware-AI/core_perception/tree/master/points_preprocessor/launch

And the documentation that explains the ROS modules/topics/nodes integration and use (deprecated): https://readthedocs.org/projects/autoware/downloads/pdf/feature-documentation_rtd/

From this Discourse: https://discourse.ros.org/t/lidar-ground-filters/8672

I ask myself if ray_ground_filter is properly working with AutowareAI, or just AutowareAuto?

Apparently I am not the first to have this issue:

https://answers.ros.org/question/367180/costmap_generator-node-do-not-work-well-2361/

https://answers.ros.org/question/367056/costmap_generator-workbut-it-topic-semanticscostmap_generatoroccupancy_grid-do-not-have-data/

How could I fix this issue? Or at least found another way to detect the Agent with AutowareAi AD Stack?

Thanks in advance


Originally posted by Vini71 on ROS Answers with karma: 266 on 2021-05-04

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The solution is to activate on costmap_generator TAB, the lanelet2 checkbox, otherwise, the occupancy_grid map won't be generated....in addition, a powerful machine will provide better results and a quicker generation of occupancy_grid map.

Here to send the solution for some users that faced the same issue

. The tutorials that I have followed and described above in my question are WRONG! If you launch the costmap_generator through the runtime manager or terminal, the occupancy grid map will not be generated or very very rarely.... To fix this there are 2 options:

1). Using Run-time Manager: on Computing Tab click over app option in costmap_generator, scroll down until you find the Lanelet2 checkbox option at the left bottom. CHECK this box ✔️

  1. Inside the docker, using a new terminal launch: roslaunch costmap_generator costmap_generator_lanelet2.launch Ok now the costmap_generator will generate the occupancy_grid_map

  2. Just Pay attention that you must check the ray_ground filter or compare_map_filter on Sensing Tab


Originally posted by Vini71 with karma: 266 on 2021-05-18

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.