Skip to content

A complete simulation framework for the KUKA youBot mobile manipulator, featuring an omnidirectional mecanum base, 5-DOF arm, observer-based state feedback control, and multi-environment integration using ROS Noetic, MATLAB, and CoppeliaSim.

License

Notifications You must be signed in to change notification settings

ZainAlabidinShbani/youbot-mobile-manipulator-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KUKA youBot Mobile Manipulator Simulation Framework.

πŸš€ This repository provides a complete simulation framework for the KUKA youBot mobile manipulator, integrating its omnidirectional mecanum base and 5-DOF robotic arm into a unified system. The project combines ROS Noetic, MATLAB, and CoppeliaSim to deliver an end-to-end solution for modeling, control, and visualization of mobile manipulation tasks.

The framework is structured to support:

  • ROS Noetic package (kuka_youbot) for robot description (URDF/Xacro), simulation, and visualization in RViz.
  • MATLAB environment (matlab/) for control design, kinematics/dynamics, observer-based feedback, and data analysis.
  • CoppeliaSim 3D simulator (Coppeliasim_Scenes/) for realistic visualization of the robot, workspace, and trajectories.
  • CSV datasets (csv files/) for recording and replaying robot states, control inputs, and analysis results.
  • Documentation and media (docs/, media/) including the project report, plots, and CAD-based visualizations.

By bridging multiple environments, this repository serves as a research-grade simulation platform for mobile manipulation, enabling tasks such as:

  • Path planning and trajectory tracking
  • Arm manipulability analysis
  • End-effector pose estimation
  • Full-system ROS integration with TF frames, RViz markers, and live trajectory visualization

Whether you are a student, researcher, or developer, this project provides a ready-to-use and extensible setup to explore robotics, control systems, and mobile manipulation in both academic and industrial contexts.

πŸ“Œ Project Overview

This project provides a full simulation environment for a mobile manipulator system capable of precise pick-and-place operations in static environments. The framework integrates modeling, control, and visualization across multiple platforms to ensure realistic performance and scalability for industrial and research applications.


πŸ“¦ Project Structure

  • matlab/ : Core control, kinematics, and dynamics scripts. Entry point: MobileManipulatorMain.m.
  • Coppeliasim_Scenes/ : .ttt scene files for 3D simulation in CoppeliaSim.
  • csv files/ : Example motion and control data for analysis and replay.
  • docs/ : Project documentation and final report (PDF).
  • media/ : Images and videos for documentation and demonstration.
  • kuka_youbot : ROS Noetic package (URDF/Xacro, launch, nodes).

βš™οΈ Features

  • 🟑 Mecanum-wheeled base for omnidirectional navigation
  • 🟑 5-DOF robotic arm for accurate end-effector control
  • 🟑 Observer-Based State Feedback Control for trajectory tracking
  • 🟑 Simulation & Visualization in:
  • 🟑 Accurate CAD modeling in CATIA V5 β†’ translated into URDF/Xacro for ROS

🚦 Usage Instructions

1. MATLAB Simulation

  • Open MATLAB and navigate to the matlab/ folder.
  • Run MobileManipulatorMain.m to start the full simulation.
  • Optional: Run additional scripts such as ArmPolePlacementandObserver.m to simulate only the arm control.

2. CoppeliaSim Visualization

  • Open CoppeliaSim.
  • Load the scene file Coppeliasim_Scenes/Scene6_youBot_cube.ttt.
  • Ensure the robot parameters match MATLAB for consistent simulation.

3. Data Analysis

  • CSV files in csv_files/ contain motion and control data.
  • MATLAB scripts can read and process these files for analysis or replay.

4. ROS Noetic Integration

4.1. Navigate to the ROS package:

cd kuka_youbot

4.2. Build your ROS workspace (if not built yet):

cd ~/your_workspace_name
catkin_make
source devel/setup.bash

4.3. Launch the full robot system:

roslaunch kuka_youbot full_robot.launch

Key Launch Components

  • robot_description: Loads full URDF/Xacro model combining arm + mobile base.
  • robot_state_publisher: Publishes all TF transforms.
  • joint_state_publisher_gui: GUI for manual joint testing.
  • rviz: Visualization using robot2.rviz config (shows robot, TF frames, markers, trajectory).
  • end_effector_pose.py: Publishes 3D end-effector position using TF.
  • marker.py: Visualizes gripper position in RViz.
  • path.py: Updates end-effector trajectory in RViz.
  • rqt_graph: Shows live node-topic communication.

πŸ“· Media

All images and videos are stored in media/. Below is a description and usage of each:

Fully Assembled Robot

Fully Assembled Robot
Fully assembled robot visualization in ROS.

DH Frame Assignment

DH Frame Assignment
DH frame assignment for all robotic arm joints.

Manipulability Index

Manipulability Index
Manipulability analysis for full mobile manipulator.

Individual Wheel Angles vs Velocities

About

A complete simulation framework for the KUKA youBot mobile manipulator, featuring an omnidirectional mecanum base, 5-DOF arm, observer-based state feedback control, and multi-environment integration using ROS Noetic, MATLAB, and CoppeliaSim.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •