robotics-upo / hunav_gazebo_wrapper

A ROS2 wrapper to use the HuNavSim with the Gazebo Simulator
MIT License
13 stars 9 forks source link

Make agent visible to LiDAR #1

Closed sskorol closed 1 year ago

sskorol commented 1 year ago

Hi @noeperez, @roberottt,

I followed the instructions and set everything up on Humble with some modifications. So the agent is walking based on provided goals. That works. On the other hand, I have a robot with LiDAR, IMU, and a camera. The problem I noticed is that the LiDAR scanner can't see an agent as an obstacle. The Nav2 planner won't be able to effectively plan paths when it can't see such obvious dynamic obstacles.

So my question is: how can I make a LiDAR see the simulated agent?

Thanks, Sergey

noeperez commented 1 year ago

Hi Sergey,

You just need to change the type of lidar. Instead of the regular lidar, you need to use the gpu_laser plugin of Gazebo. This way, the agents are properly detected.

El mar., 15 nov. 2022 18:22, Sergey Korol @.***> escribió:

Hi,

I followed the instructions and set everything up on Humble with some modifications. So the agent is walking based on provided goals. That works. On the other hand, I have a robot with LiDAR, IMU, and a camera. The problem I noticed is that the LiDAR scanner can't see an agent as an obstacle. The Nav2 planner won't be able to effectively plan paths when it can't see such obvious dynamic obstacles.

So my question is: how can I make a LiDAR see the simulated agent?

Thanks, Sergey

— Reply to this email directly, view it on GitHub https://github.com/robotics-upo/hunav_gazebo_wrapper/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUK36GHODBXXPD6P6RKU3TWIPBEZANCNFSM6AAAAAASBFVKCU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

sskorol commented 1 year ago

@noeperez thanks. But where can I find it? I see it's available only for ROS1 branches e.g. noetic-devel. But I don't see it in foxy or ros2 branches. So basically, I used an official ray_sensor. And it doesn't work. Is it hardcoded somewhere? Can I change it in the code?

noeperez commented 1 year ago

The gpu_laser is included in the ros2 foxy gazebo-plugins package. Check the gpu_laser section of this tutorial: https://classic.gazebosim.org/tutorials?tut=ros_gzplugins An example of use is provided.

sskorol commented 1 year ago

@noeperez yeah, I saw this, but as I've already mentioned, I use ROS2 Humble. And it doesn't seem to be present among gazebo plugins anymore.

sskorol commented 1 year ago

Here's a list of available Gazebo plugins:

plugins

And there's only a ray sensor.

noeperez commented 1 year ago

The ros_ray_sensor should be valid. Try just to change the sensor type to "gpu_ray". Anyway, we test everything in Foxy, I can not be sure about Humble. Hope it works.

noeperez commented 1 year ago

... <sensor type="gpu_ray" name="lidar"> ... <plugin filename="libgazebo_ros_ray_sensor.so" name="gazebo_ros_lidar"> ...

sskorol commented 1 year ago

Perfect, gpu_ray type did the trick. Thanks!

Dharnish4 commented 1 year ago

@noeperez yeah, I saw this, but as I've already mentioned, I use ROS2 Humble. And it doesn't seem to be present among gazebo plugins anymore.

Hey @sskorol I am trying to install the package on galactic but i am unable to build the package. Can you please let me know how you did it in humble.

Folder path: my_ws |src | hunavsim | people

Build: Colcon build

Output: hunaverror

Thanks.

sskorol commented 1 year ago

Hi @Dharnish4,

I just followed all the error messages and applied corresponding fixes in code and configs. In short, there are issues with headers, missing deps, and ROS params reading format. I can give more details maybe later today. Or would just push changes to a separate humble branch.

Dharnish4 commented 1 year ago

Hi @Dharnish4,

I just followed all the error messages and applied corresponding fixes in code and configs. In short, there are issues with headers, missing deps, and ROS params reading format. I can give more details maybe later today. Or would just push changes to a separate humble branch.

Yes please,That would be really helpful for me.

Dharnish4 commented 1 year ago

Hi @Dharnish4,

I just followed all the error messages and applied corresponding fixes in code and configs. In short, there are issues with headers, missing deps, and ROS params reading format. I can give more details maybe later today. Or would just push changes to a separate humble branch.

Hey @sskorol . Just a reminder if you forgot. I’m looking forward to use this project to test my work. Thanks in advance.

sskorol commented 1 year ago

@Dharnish4 I apologies. Moving to a new apartment. Hope to finish it this week. I’ll post it as soon as I spawn my work environment.

sskorol commented 1 year ago

@Dharnish4 here are the changes in this repo. So that you know, you need to adjust the launch file depending on your own needs. For example, I disabled GPU as it didn't work for me. If you want to add your own model, take a look at WorldGenerator.cpp, line 196.

And here are changes from hunav_sim repo. Note that if you want to change human config, you may want to adjust config/agents.yaml. I changed the map there, played with goals, radius, behaviors, etc.

noeperez commented 1 year ago

@sskorol thank you very much for your work. We will test in Humble soon and create a branch for this distro (or we'll merge it with the master if the changes are valid for Foxy too).

sskorol commented 1 year ago

It’s better to go with a separate branch as there were some API changes in ROS. So you can create a humble branch. And I’ll open PR to it.