This repository contains my final ROS package developed as part of my completion of the Programming for Robotics course taught at ETH Zurich. The main function of the package is to provide a SMB robot with an emergency stop triggered by either detecting a nearby obstacle with a laser scanner, or crashing into an obstacle detected via IMU. Furthermore, the robot publishes the location of the pillar on RViz on the odom frame using the tf package to convert the pillar location from the rslidar frame to the odom frame.
This repository relies on the smb_common_v2 package available here. Build this package the same way as any other ROS package. Installation and execution instructions are only provided for this package.
cd ~/catkin_ws/src
git clone https://github.com/Mannat-Rana/Programming-For-Robotics.git
catkin build smb_highlevel_controller
cd ~/catkwin_ws
source devel/setup.bash
roslaunch smb_highlevel_controller smb_gazebo.launch