j3soon / ros2-essentials

A repo containing essential ROS2 Humble features for controlling Autonomous Mobile Robots (AMRs) and robotic arm manipulators.
https://j3soon.github.io/ros2-essentials/
Apache License 2.0
10 stars 4 forks source link

Workspace with Husky for Simulation and Real Robot Control #10

Closed YuZhong-Chen closed 5 months ago

YuZhong-Chen commented 1 year ago

Closes: #3 #17

ClassLongJoe1112 commented 11 months ago

Hi, I had made a world file in order to test the ability for Husky to do U-turn at the corner of a L-shape lane using the default navigation algorithm in Nav2. Husky did it well, but I also encountered some problem:

  1. Running on my laptop, the FPS in Gazebo simulation drops to 13-14 even though I have removed some model objects (like the textured floor) from the original clearpath_playpen.world world. I would like to know whether this is because the lack of computing power of my laptop or any other reasons. (In the original world, similar FPS is also observed)
  2. I also found the global costmap kind of messy (see global_costmap_observation), which affects the trajectory planning and I don't know if it only happens to me or not.

This is the world file I tested on: clearpath_playpen_corner_test.world.zip

To reproduce:

j3soon commented 6 months ago

Current version can reliably control real husky by either amd64 or arm64 system.

@YuZhong-Chen please help review my commits or perform further changes.

Please re-request a review when no further changes are required, and I'll go ahead and merge this PR. Thanks!

YuZhong-Chen commented 5 months ago

Sorry for the late response. I have tested on my laptop (amd64) and NV Orin (arm64). I found that on the laptop, the packages like gazebo plugin were not correctly installed inside the container. One reason was a mistake in the command within the 'if' condition in the Dockerfile. Another reason was that the variable TARGETARCH was not defined before its use. I have made the necessary corrections, retested on both platforms, and successfully ran them on both sides. Please review this commit again. If everything looks good to you, I think we can merge this PR. Thanks!

j3soon commented 5 months ago

Thanks for the fix!

Could you please help check if I missed out any code license we've included in this PR? (see the latest commit)

In addition, should the LiDAR LMS1xx be replaced with VLP-16 LiDAR in this PR? Or is it ok to defer it to another PR some time in the future?

YuZhong-Chen commented 5 months ago

I think one license is missing: the license for the udev rule for Husky. See commit bf09fe1, which copies the udev rule from here. Since it's a different repository, we may need to add its license as well.

YuZhong-Chen commented 5 months ago

Additionally, regarding the replacement of the LiDAR with the VLP-16, I think we can merge this PR first for the convenience of merging other branches. After I finish testing in a few days, I will open a new PR that includes both the VLP-16 and ZED2 to match the current configuration of the actual machine.