reiniscimurs / GDAE

A goal-driven autonomous exploration through deep reinforcement learning (ICRA 2022) system that combines reactive and planned robot navigation in unknown environments
110 stars 15 forks source link

Regarding the Issue of the Relationship Between the Number of Forward 180-Degree Lasers and the Generation of Points of Interest (POI) #13

Closed namjiwon1023 closed 8 months ago

namjiwon1023 commented 8 months ago

Hi, thanks for sharing your marvelous work!

I am currently applying this research to a real-word robot.

However, I don't have a similar LiDAR, so I am using a 2D laser LiDAR as a substitute.

The front 180-degree laser data provides 253 points at a 10Hz scanning frequency, and 510 points when at 5Hz.When running the code with front 180-degree laser data at a 10Hz scanning frequency, the Points of Interest (POI) are not being generated properly.

If there are fewer than 720 data points from the front 180-degree LiDAR, will it be impossible to properly generate POIs?

Thank you!

reiniscimurs commented 8 months ago

Hi,

No you still should be able to generate the POI. You would just need to find parameters that work best for you. The POI are calculated by calling functions in: https://github.com/reiniscimurs/GDAE/blob/main/Code/GDAM_env.py#L243-L245

It takes laser_in as input values from the laser. This assumes that laser values are ordered in sequence from left to right but it does not matter what the total number of laser readings is.

What will matter though is the parameters used in the aforementioned functions. Here for instance the number 4 is how many readings there are per single degree (720/180 in my case): https://github.com/reiniscimurs/GDAE/blob/main/Code/GDAM_env.py#L623 This you would have to change to your value. Here it is the number of how many laser readings should there be between 2 readings to assume there is a clear space:https://github.com/reiniscimurs/GDAE/blob/main/Code/GDAM_env.py#L680 In your case that might be different.

There might be some more parameters to change in these functions that you need to update to fit your laser input. I honestly do not remember which ones so it would be good to understand what those functions do (and probably even refactor them). Sorry for the messy code in those parts.

namjiwon1023 commented 8 months ago

Thank you for your prompt reply.

So, the ( 2 * 2 ) at line 623, 641, 697, and 750 also represents how many readings there are per single degree, right?

Okay, I will try to understand the code and adjust the parameters accordingly.

Thank you again. If I encounter any unsolvable problems, I will reach out to you once more.

reiniscimurs commented 8 months ago

I do not recall in detail, but most likely yes. Before, I was using a laser with 360 readings. Then when switching to 720, I would multiply the division by 2, so it does seem correct.

Feel free to post questions.