Skip to content

idra-lab/limo_ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Limo ROS2 Humble

Download and Setup

Star this repository to keep up to date with the latest changes.

Install ROS and necessary dependencies

If ROS2 is not yet installed, please follow the official installation guide for ROS2 Humble.

Setup workspace

Open a terminal (CTRL+ALT+T) and run the following commands:

mkdir -p ~/limo_ws/src
cd ~/limo_ws/src
git clone https://github.com/idra-lab/limo_ros2.git
cd ..

Run the setup script to install dependencies

chmod +x src/limo_ros2/setup_limo_ros2.sh
./src/limo_ros2/setup_limo_ros2.sh

Alternatively, manually install the required packages:

Install custom ros2-gz-control package, which provides the necessary interfaces to control robots in Gazebo with ROS2.

cd src
git clone https://github.com/tamasso-parec/gz_ros2_control.git
cd ..

Download and install joint-state-publisher-gui package.This package is used to visualize the joint control.

sudo apt-get install ros-humble-joint-state-publisher-gui 

Download and install rqt-robot-steering plug-in, rqt_robot_steering is a ROS tool closely related to robot motion control, it can send the control command of robot linear motion and steering motion, and the robot motion can be easily controlled through the sliding bar

sudo apt-get install ros-humble-rqt-robot-steering 

Download and install teleop-twist-keyboard

sudo apt-get install ros-humble-teleop-twist-keyboard

Install additional ros and gz dependencies:

sudo apt install ros-humble-ros2-control ros-humble-ros2-controllers

Fix Gazebo installation:

sudo apt-get update
sudo apt-get install curl lsb-release gnupg
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] https://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic
apt-get install ros-humble-ros-gzharmonic

Source your ROS2 Humble installation:

source /opt/ros/humble/setup.bash

Install rosdep:

sudo apt-get install python-pip
sudo pip install -U rosdep
sudo rosdep init
rosdep update

Install dependencies using rosdep:

rosdep update
rosdep install --from-paths src --ignore-src -r -y

Build the workspace:

source /opt/ros/humble/setup.bash
colcon build

Source the workspace:

source install/setup.bash

Verify the installation by launching the simulation:

ros2 launch limo_car ackermann_gazebo.launch.py

In another terminal, source the workspace again:

source /opt/ros/humble/setup.bash
source ~/limo_ws/install/setup.bash

and run the robot steering GUI:

ros2 run rqt_robot_steering rqt_robot_steering --ros-args --remap /cmd_vel:=/ackermann_steering_controller/reference 

Or using the teleop twist keyboard tool to command the robot with keybord inputs:

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/ackermann_steering_controller/reference -p stamped:=true

Maintainer

Tommaso Faraci
IDRA Lab, University of Trento
Email: tommaso.faraci@unitn.it

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors