linorobot / linorobot2

Autonomous mobile robots (2WD, 4WD, Mecanum Drive)
Apache License 2.0
436 stars 148 forks source link

Map continuously rotating with RPLidar A1 #113

Open souravchandrasaha opened 3 months ago

souravchandrasaha commented 3 months ago

Whenever I'm trying to make a indoor area map using SLAM maps seems like rotating continuously. Which giving me pretty bad map output. what to do. I'm sure a lot of people already faced the same issue.

My system architecture is Jetson nano with RPlidar and IMU6050. I'm not using any camera .

aimethierry commented 2 months ago

Whenever I'm trying to make a indoor area map using SLAM maps seems like rotating continuously. Which giving me pretty bad map output. what to do. I'm sure a lot of people already faced the same issue.

My system architecture is Jetson nano with RPlidar and IMU6050. I'm not using any camera .

Did you solve the issue?

grassjelly commented 2 months ago

does your build have a lot of vibration (for instance due to rotating lidar)? This might be due to noisy IMU.

aimethierry commented 2 months ago

does your build have a lot of vibration (for instance due to rotating lidar)? This might be due to noisy IMU.

Yes, it has IMU6050 and RP liadar. And how can i solve this problem?

souravchandrasaha commented 2 months ago

how to solve this then? how to solve IMU noise issue?

aimethierry commented 2 months ago

how to solve this then? how to solve IMU noise issue?

Someone suggested to use GY-85 BMP085 Sensor Modules 9 Axis Sensor Module ITG3205 + ADXL345 + HMC5883L, since it worked fine with him, However i did not test.

tbalatka commented 2 months ago

I'm experiencing the same issue when using SLAM. Also, the entire rviz2 display 'jiggles'. Using IMU6050.

souravchandrasaha commented 2 months ago

I'm experiencing the same issue when using SLAM. Also, the entire rviz2 display 'jiggles'. Using IMU6050.

Please let me know in case you solve it . It's been so many days I have been searching for solution

tbalatka commented 2 months ago

I noticed one thing I did wrong. I ran the following commands one after the other:

-ros2 launch linorobot2_navigation slam.launch.py -ros2 launch linorobot2_navigation slam.launch.py rviz:=true sim:=true

The above resulted in RVIZ displaying two maps. It also caused what appeared to be 'jiggling', but really it was two maps quickly displayed one after the other.

To resolve both issues, I ran the second command on its own.

I now need to fix my mapping, which is still a mess, but much better than before.

UDPDATE: Mapping improved bigtime when my YDLIDAR X4 was turned 180 degrees and had no obstructions (wires, etc) from the robot's case. I now need to discover how to make the map forget objects that are no longer in the room...any help would be most appreciated.

tbalatka commented 2 months ago

Real robot running on an i3 laptop.

On Tue, Apr 23, 2024 at 12:16 PM aimethierry @.***> wrote:

I noticed one thing I did wrong. I ran the following commands one after the other: … <#m-5338430963541506691> -ros2 launch linorobot2_navigation slam.launch.py -ros2 launch linorobot2_navigation slam.launch.py rviz:=true sim:=true The above resulted in RVIZ displaying two maps. It also caused what appeared to be 'jiggling', but really it was two maps quickly displayed one after the other. To resolve both issues, I ran the second command on its own. I now need to fix my mapping, which is still a mess, but much better than before. UDPDATE: Mapping improved bigtime when my YDLIDAR X4 was turned 180 degrees and had no obstructions (wires, etc) from the robot's case. I now need to discover how to make the map forget objects that are no longer in the room...any help would be most appreciated.

Are you running it on real robot, or simulation?

— Reply to this email directly, view it on GitHub https://github.com/linorobot/linorobot2/issues/113#issuecomment-2072849298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN3ONSSYNE3VDKXIQ7UCZ5LY62CPDAVCNFSM6AAAAABEDZHN2GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSHA2DSMRZHA . You are receiving this because you commented.Message ID: @.***>

tbalatka commented 2 months ago

frames_2024-04-24_19.06.49.pdf Now I can navigate my 2wd robot in RVIZ2 and the generated SLAM map is looking more and more accurate. However, the TF information is not being published: I can only see the robot moving in the grid without rotation of the axis on both wheels. So I installed urdf_tutorial to test my 2wd_properties.urdf.xacro file, and indeed I can simulate left_wheel_joint and right_wheel_joint movement using the provided slider tool. Somehow when I run "ros2 launch linorobot2_bringup bringup.launch.py base_serial_port:=/dev/ttyUSB0" the TF data is stuck.

Here's what I get when I run "ros2 topic echo /tf":

transforms:

Any advice on how I can troubleshoot this issue would be most appreciated.

BTW, I am using an ESP32 Wroom.

souravchandrasaha commented 1 month ago

how to solve this then? how to solve IMU noise issue?

Someone suggested to use GY-85 BMP085 Sensor Modules 9 Axis Sensor Module ITG3205 + ADXL345 + HMC5883L, since it worked fine with him, However i did not test.

I'm searching for ros2 driver of this IMU since I'm connecting this IMU directly with Jetson nano via I2C . Please suggest a suitable ros2 driver for this to work.