linorobot / linorobot2

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

linorobot2 install bash error ( Galactic ) #70

Open Sylvania2 opened 1 year ago

Sylvania2 commented 1 year ago

Going back to Galactic ( Humble has issues with pointcloud ) i got this error when running install script bash install_linorobot2.bash 2wd rplidar realsense ( Ubuntu 20.0.6 ROS2 Galactic )

(after command: rosdep install --from-path src --ignore-src -y) ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies: linorobot2_description: Cannot locate rosdep definition for [xacro] linorobot2_navigation: Cannot locate rosdep definition for [nav2_bringup] linorobot2_bringup: Cannot locate rosdep definition for [joy_linux]

so far i solved it with adding: rosdep update --include-eol-distros

Best regards

SHABRAWii commented 3 months ago

Problem

I found out that these packages are not official ros package so you can't install them with rosdep.

Solution

Instead, you should install it with apt-get using sudo apt-get install ros-<your-distro>-<package> Example: sudo apt-get install ros-foxy-xacro

You will also face some errors about missing packages after installing these three packages. So let me show you how to install all unofficial packages used in this project.

Packages that are needed to be installed:

[xacro]          sudo apt-get install ros-foxy-xacro -y [nav2_bringup]     sudo apt install ros-foxy-nav2-bringup [joy_linux]       sudo apt install ros-foxy-joy-linux [joy]         sudo apt install ros-foxy-joy [joint_state_publisher] sudo apt install ros-foxy-joint-state-publisher [robot_localization]    sudo apt install ros-foxy-robot-localization

Continue with installation and build

As shown in install_linorobot2.bash you must do the following:

rosdep update && rosdep install --from-path src --ignore-src -y --skip-keys microxrcedds_agent colcon build source $WORKSPACE/install/setup.bash

or automatically run the script again

bash install_linorobot2.bash <robot_type> <laser_sensor> <depth_sensor>

References

One good reference that enlighten my way: Link