Autonomous Mobile Robots

Hardware Setup

The AMR system is based on the Neobotix MP-400 Platform which was also built upon by the Dock Dock Go MRSD team at CMU. The AMR platform includes the Neobotix base, two Intel Realsense cameras, one facing the front and one the back. Through a top module that holds build plates for additive manufacturing, there are also corner pieces that protect the AMR from any collisions through the top module. It also includes an adjustable tablet holder connected to the top module. Insert photo of AMR here, Insert Diagram of Robot

The platform also includes its own integrated router that allows ros2 isolation from the bigger CMU network. This provides security for the robot, keeping it a completely closed system that does not need to connect to other networks.

Include Pictures of the robot

Software Architecture

Insert AMR Control Stack Image Here

The AMR system is built upon the Neobotix platform and all of its included packages. The waypoint server and predocking server I have made communicate with neobotix packages, nav2, as well as the docking with fiducial markers package that has been custom made here. The front end provides easy communication with all the components of the AMR to allow for easy docking and waypoint saving

Description of topics and services

Topics:

/waypoint_amount - Publishes the number of waypoints

/robot_state - Publishes the current state of the robot

Services:

/waypoint_maker - Waypoint Service that takes SetFlag message and controls the control flow from flags and modes given

/pre_docker_offset - Takes input from the Waypoint server and communicates with docking_with_fiducial package to save the aruco marker offset

/pre_docker_docking - Called from waypoint server and communicates with docking_with_fiducial package to dock to a detected aruco marker

Communication Flow

Through the frontend application, you communicate with the waypoint server directly to send commands to the control stack, which communicates to the rest of the packages included (See the control flow graph above)

Tutorials