Factory Mission Sequence
Scripted a complete material-handling demo from initial arm lift and payload release through path following, workcell navigation, final alignment, and second drop-off.
ROS 2 Jazzy / Gazebo / Factory Automation Robotics
A full ROS 2 and Gazebo robotics simulation that demonstrates an autonomous mobile manipulator completing a factory-style material handling workflow in real time. The robot starts with a payload in its gripper, performs an initial drop-off, follows a marked yellow route through an industrial workcell, and completes a second raised-bin delivery.
Scripted a complete material-handling demo from initial arm lift and payload release through path following, workcell navigation, final alignment, and second drop-off.
Modeled the robot in URDF with a differential-drive base, mounted arm links, simulated joints, gripper fingers, and a visible carried payload.
Used ros_gz_sim and ros_gz_bridge to connect Gazebo transport topics with ROS 2 velocity, odometry, joint command, camera, lidar, and state publication flows.
Project Notes
The simulation is built around a factory material-handling workflow rather than an isolated robot animation. The mobile manipulator begins with a payload in its gripper, raises the arm, drops into a receiving station, then drives through a marked factory route toward a second raised receiving box for another release cycle.
The SDF world includes an industrial floor layout, safety rails, workcell objects, raised bins, receiving stations, visual yellow path markings, Gazebo-modeled props, and Rockwell Automation branded signage integrated into the 3D scene.
The custom URDF captures the base, wheels, arm links, joints, gripper fingers, and carried payload so the robot reads as a single mobile manipulator system. robot_state_publisher and JointState messages keep the transforms and arm state visible throughout the demo.
A Python rclpy mission controller sequences the demo end to end, publishing geometry_msgs/Twist commands for the base while coordinating std_msgs/Float64 arm joint targets and gripper release timing for each payload handoff.
Waypoint following logic was tuned for consistent movement along the marked factory path using nav_msgs/Odometry feedback, avoiding the complexity of a full Nav2 stack while still producing predictable autonomous motion through the scene.
The project is organized as a ROS 2 Jazzy workspace with launch files, ament_python packaging, colcon builds, ROS-Gazebo topic bridges, and Docker/Compose support so the full factory demo can be started as a repeatable single-command simulation.
Architecture
Videos