pvela2017 / The-Construct-CheckPoint-5-Master-ROS2

The Construct Masterclass

Home Page:https://sites.google.com/view/pablovela/robotics/autonomous-navigation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CheckPoint 5 Master ROS2

About The Project

The purpose of this project is to create a program that allows the robot to approach, detect and attach to a warehouse shelf. In the first part of the project, a simple ROS2 node that performs the pre-approach motion was created. This is, move the robot near the location of the shelf. Then a ROS2 node that performs the final approach motion was created.


Final approach:

  • Detects the exact position of the shelf.
  • Commands the robot right beneath the shelf.
  • Attaches the robot to the shelf.

This is an image

Getting Started

Software Prerequisites

  • Ubuntu 22.04
  • ROS1 Noetic
  • ROS2 Galactic

(back to top)

Installation

  1. Clone the repo:
    cd ~ && \
    git clone https://github.com/pvela2017/The-Construct-CheckPoint-5-Master-ROS2
  2. Compile the simulation:
    source /opt/ros/noetic/setup.bash && \
    cd ~/The-Construct-CheckPoint-5-Master-ROS2/simulation_ws && \
    catkin_make && \
    cd ~/The-Construct-CheckPoint-5-Master-ROS2/catkin_ws && \
    catkin_make && \
    source /opt/ros/galactic/setup.bash && \
    cd ~/The-Construct-CheckPoint-5-Master-ROS2/ros2_ws && \
    colcon build

(back to top)

Usage

Local Simulation

  1. Launch the simulation:
    source /opt/ros/noetic/setup.bash && \
    source ~/The-Construct-CheckPoint-5-Master-ROS2/simulation_ws/devel/setup.bash && \
    roslaunch rb1_base_gazebo warehouse_rb1.launch
  2. Launch the ros bridge:
    source /opt/ros/noetic/setup.bash && \
    source ~/The-Construct-CheckPoint-5-Master-ROS2/catkin_ws/devel/setup.bash && \
    roslaunch load_params load_params.launch && \
    source /opt/ros/galactic/setup.bash && \
    ros2 run ros1_bridge parameter_bridge && \
  3. Launch Pre-approach:
    source /opt/ros/galactic/setup.bash && \
    source ~/The-Construct-CheckPoint-5-Master-ROS2/ros2_ws/install/setup.bash && \
    ros2 launch attach_shelf pre_approach.launch.xml obstacle:=0.3 degrees:=-90
  4. Launch with final approach:
    source /opt/ros/galactic/setup.bash && \
    source ~/The-Construct-CheckPoint-5-Master-ROS2/ros2_ws/install/setup.bash && \
    ros2 launch attach_shelf attach_to_shelf.launch.py obstacle:=0.3 degrees:=-90 final_approach:=true

(back to top)

Key Topics Learnt

  • Broadcast TFs.
  • Load parameters.

About

The Construct Masterclass

https://sites.google.com/view/pablovela/robotics/autonomous-navigation


Languages

Language:C++ 55.9%Language:Python 34.8%Language:CMake 8.3%Language:Shell 0.6%Language:C 0.4%