π 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.
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.
matlab/: Core control, kinematics, and dynamics scripts. Entry point:MobileManipulatorMain.m.Coppeliasim_Scenes/:.tttscene 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).
- π‘ 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
- Open MATLAB and navigate to the
matlab/folder. - Run
MobileManipulatorMain.mto start the full simulation. - Optional: Run additional scripts such as
ArmPolePlacementandObserver.mto simulate only the arm control.
- Open CoppeliaSim.
- Load the scene file
Coppeliasim_Scenes/Scene6_youBot_cube.ttt. - Ensure the robot parameters match MATLAB for consistent simulation.
- CSV files in
csv_files/contain motion and control data. - MATLAB scripts can read and process these files for analysis or replay.
cd kuka_youbotcd ~/your_workspace_name
catkin_make
source devel/setup.bashroslaunch kuka_youbot full_robot.launchrobot_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.
All images and videos are stored in media/. Below is a description and usage of each:
Fully assembled robot visualization in ROS.
DH frame assignment for all robotic arm joints.