Skip to content

Tiago-Harmonic/tiago_harmonic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiago_harmonic

distro distro jazzy

Authors

See in YouTube

Installation

You need to have previously installed ROS2. Please follow this guide if you don't have it.

source /opt/ros/jazzy/setup.bash

Create workspace and clone the repository

mkdir ~/tiago_ws/src
cd ~/tiago_ws/src
git clone https://github.com/Tiago-Harmonic/tiago_harmonic.git -b jazzy
vcs import . < tiago_harmonic/dependencies.repos

Install dependencies and build workspace

cd ~/tiago_ws
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install 

Setup the workspace

source ~/tiago_ws/install/setup.bash

Usage

Start Tiago, simulated in Gazebo Harmonic

ros2 launch tiago_gazebo tiago_gazebo.launch.py is_public_sim:=True world_name:=house # or empty

Teleoperate the mobile base

Velocity commands are expected on /key_vel:

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/key_vel

Run SLAM mapping, save map, and navigate in 2D

Start SLAM:

ros2 launch tiago_2dnav tiago_nav_bringup.launch.py slam:=True is_public_sim:=True

Then teleoperate the mobile base to collect map data.

Create a new map directory and save the new map under name our_map into the pal_maps package:

mkdir ~/tiago_ws/src/pal_maps/maps/our_map/
ros2 run nav2_map_server map_saver_cli -f ~/tiago_ws/src/pal_maps/maps/our_map/map

For offline navigation in the saved map, make sure that SLAM is closed and load the saved map with tiago_nav_bringup:

ros2 launch tiago_2dnav tiago_nav_bringup.launch.py is_public_sim:=True world_name:=our_map

If the new map does not properly load: build and source the workspace. But that should not be needed with --symlink-install.

Then:

  • use Estimate 2D pose in RViz to help AMCL to initialize, and perform some teleoperated movements until AMCL particles have converged.
  • use 2D nav goal in RViz to define a target to navigate to. Make sure that teleoperation does not publish contradictory commands meanwhile.

Run MoveIt GUI for arm path planning

ros2 launch tiago_moveit_config moveit_rviz.launch.py

Then use the color handles and click on Plan and Execute to trigger trajectory planning and motion.

Command MoveIt from a Python script

Ues the MoveItPy boilerplate to send cartesian-space goals or joint-space goals to MoveIt, as well as for gripper open/close commands:

cd ~/tiago_ws/src
git clone https://github.com/Tiago-Harmonic/tiago_moveitpy
cd ~/tiago_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install

The node must be launched through the launchfile so that the planning pipeline is loaded to the parameters:

ros2 launch tiago_moveitpy plan.launch.py use_sim_time:=True

Comment any of the method calls to disable either cartesian-space, joint-space, or gripper motions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages