Engineering Applications Guide

Launch Simulations
⚙️

Engineering Applications Suite

A comprehensive collection of 7 interactive physics and control systems simulations covering classical mechanics, aerospace, robotics, and biomechanics. Perfect for education, research, and engineering analysis.

🪜Pendulum Simulation

Overview

Classic simple pendulum demonstrating harmonic motion with damping and external torque control. Visualize the effects of gravity, friction, and applied forces in real-time 3D.

Key Features:

  • • Adjustable pendulum length (0.5-3.0m)
  • • Variable damping coefficient (0-2.0)
  • • External torque control
  • • Real-time energy tracking
  • • Phase space plotting

Controls & Parameters

Length (L):

0.5-3.0m - Affects period (T = 2π√(L/g))

Damping (b):

0-2.0 - Air resistance & friction

Initial Angle (θ₀):

0-180° - Starting position

External Torque (τ):

-10 to +10 N·m - Driving force

Physics Equation:

θ̈ = -(g/L)sin(θ) - b·θ̇ + τ/(m·L²)

Where: θ = angle, g = gravity (9.81 m/s²), L = length, b = damping, τ = torque, m = mass

🛰️Satellite Deployer

Overview

Physics-accurate simulation of 2.5cm femto satellite deployment from 5000m altitude. Models realistic aerodynamics, tumbling dynamics, and terminal velocity behavior.

Specifications:

  • • Size: 2.5cm cube
  • • Mass: 40g
  • • Altitude: 5000m
  • • Terminal Velocity: 30-40 m/s
  • • Flight Time: 180-250s

Deployment Options

🚀 Single Deploy:

Launch one satellite, observe detailed telemetry

📦 Batch Deploy:

Deploy 10 satellites simultaneously

Telemetry Data:

Altitude, speed, tumbling, rotation, drag coefficient

Aerodynamics Model:

F_drag = 0.5 × ρ(h) × v² × Cd × A
ρ(h) = ρ₀ × e^(-h/8000)

Exponential atmosphere model with variable drag coefficient (1.05-1.35) based on orientation

🤖Mobile Robot Simulation

Overview

Differential drive mobile robot with realistic physics, collision detection, and manual/autonomous control modes. Supports ROS2 integration for real robot control.

Features:

  • • Differential drive kinematics
  • • Collision detection with obstacles
  • • Manual control (keyboard/buttons)
  • • ROS2 integration (cmd_vel, odom)
  • • Real-time odometry tracking

Controls

Forward/Backward:W / S
Rotate Left/Right:A / D
Stop:Space

Velocity range: ±2.0 m/s linear, ±3.0 rad/s angular

Figure-Eight Navigation

Overview

Advanced path following using Pure Pursuit algorithm. Navigate a figure-8 trajectory with configurable parameters, real-time metrics, and MATLAB-level accuracy.

Capabilities:

  • • Pure Pursuit path following
  • • Configurable trajectory (scale, waypoints)
  • • Real-time error tracking
  • • Smooth LERP interpolation (60fps)
  • • Data export (JSON/CSV)
  • • Lap counting & auto-completion

Key Parameters

Look-Ahead Distance:

0.2-2.0m - Target waypoint distance

Max Linear Velocity:

0.5-3.0 m/s - Forward speed limit

Max Angular Velocity:

0.5-3.0 rad/s - Rotation speed limit

Control Algorithm:

v = kp_v × distance_to_target
ω = kp_ω × heading_error + kd × dError/dt

Simplified MATLAB-inspired approach: kp_v=2.0, kp_ω=5.0, kd=0.1

📦Material Handling Robot

Overview

Warehouse robot simulation with obstacle avoidance, path planning, and automated material transport. Navigate through dynamic environments safely.

Features:

  • • Dynamic obstacle detection
  • • Collision avoidance algorithms
  • • Pick & place operations
  • • Path planning & replanning
  • • Warehouse environment simulation

Operations

Navigation:

Autonomous waypoint-based movement

Safety:

Real-time collision detection & emergency stop

Efficiency:

Optimal path selection & speed profiling

🗺️SLAM Navigation

Overview

Simultaneous Localization and Mapping - Build maps while tracking robot position. Supports both simulation mode and real ROS2 robots.

SLAM Capabilities:

  • • Occupancy grid mapping
  • • Particle filter localization
  • • Laser scan processing
  • • Frontier exploration
  • • Map export functionality

Algorithms & Modes

Simulation Mode:

Built-in environment with virtual sensors

SLAM Toolbox:

Industry-standard graph-based SLAM (requires ROS2)

Cartographer:

Google's real-time SLAM system (requires ROS2)

🐳ROS2 Docker Setup (Full System)

ℹ️This setup is based on ~/Desktop/ros-web-browser-v3-slam which includes ROSBridge, SLAM Toolbox, and a virtual robot simulator.

📁 Complete Setup (Recommended)

Navigate to your existing project:

cd ~/Desktop/ros-web-browser-v3-slam

# Build and start all services
docker-compose up --build
This launches:
  • ros2-web-bridge - ROSBridge WebSocket (port 9090)
  • SLAM Toolbox - Async SLAM node with mapping
  • Virtual Robot - Publishes /scan & /odom topics
  • Web Interface - Nginx server (port 8080)

🔧 docker-compose.yml Structure

services:
  ros2-web-bridge:
    build:
      dockerfile: Dockerfile.web-bridge
    ports:
      - "9090:9090"   # WebSocket for browser
    volumes:
      - ./robots:/opt/robots
      - ./launch:/opt/launch
      - ./maps:/tmp/maps
    command: >
      ros2 launch /opt/launch/robot_bringup.launch.py enable_slam:=true

  web-interface:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./web:/usr/share/nginx/html

📦 Dockerfile.web-bridge - Key Packages

FROM osrf/ros:humble-desktop

# Core ROS2 packages
RUN apt-get install -y \\
    ros-humble-rosbridge-suite \\
    ros-humble-slam-toolbox \\
    ros-humble-nav2-common \\
    ros-humble-navigation2

# Sets up:
# - ROS_DOMAIN_ID=42
# - PYTHONPATH=/opt/robots
# - Maps directory at /tmp/maps

🚀 robot_bringup.launch.py - Launch Configuration

# Launches in sequence:
1. Virtual Robot (virtual_robot.py)
   - Publishes /scan (LaserScan)
   - Publishes /odom (Odometry)
   - Publishes /tf transforms

2. SLAM Toolbox (delayed 5s)
   - Subscribes to /scan
   - Publishes /map (OccupancyGrid)
   - Resolution: 0.05m
   - Mode: async mapping

3. ROSBridge WebSocket
   - Port: 9090
   - Address: 0.0.0.0 (accessible from browser)
📡Required Topics
  • • /scan (sensor_msgs/LaserScan)
  • • /odom (nav_msgs/Odometry)
  • • /map (nav_msgs/OccupancyGrid)
Connection Check
ros2 topic list
ros2 topic echo /scan
# Should show laser data
How to Use
  1. Start Docker: docker-compose up
  2. Wait ~10s for SLAM to initialize
  3. In Nuxt app: Select "SLAM Toolbox"
  4. Connection status turns GREEN ✅
  5. Click "Start SLAM" to begin
  6. Maps save to ~/Desktop/ros-web-browser-v3-slam/maps/
⚠️Troubleshooting
Connection Failed?
# Check if ROSBridge is running
docker-compose logs ros2-web-bridge | grep rosbridge
# Should show: "Rosbridge WebSocket server started"
No /scan topic?
# Exec into container
docker exec -it ros2-web-bridge bash
source /opt/ros/humble/setup.bash
ros2 topic list
ros2 topic echo /scan --once
Port already in use?
# Stop all containers
docker-compose down
# Kill process on port 9090
lsof -ti:9090 | xargs kill -9
🔍Development Tools
# Start dev container (includes extra tools)
docker-compose --profile dev up

# Connect to development container
docker exec -it ros2-dev-tools bash

# Useful commands:
ros2 topic list                    # List all topics
ros2 topic hz /scan                # Check topic frequency
ros2 topic echo /map --once        # View map data
ros2 node list                     # List all nodes
ros2 service list                  # List available services

📝Note: The docker-compose setup uses bridge networking (not --net=host). Port 9090 is explicitly mapped to allow browser connection. Virtual robot publishes to ROS_DOMAIN_ID=42.

🦿Lower Limb Biomechanics

Overview

Human gait analysis and biomechanics simulation. Study joint angles, forces, and motion patterns during walking, running, and other activities.

Analysis Features:

  • • Hip, knee, ankle joint tracking
  • • Gait cycle analysis
  • • Ground reaction forces
  • • Center of mass trajectory
  • • Muscle activation patterns

Applications

Clinical:

Gait abnormality diagnosis & rehabilitation

Sports:

Performance optimization & injury prevention

Research:

Biomechanical modeling & prosthetic design

💡 General Usage Tips

Best Practices

  • • Start with default parameters
  • • Use Reset button between tests
  • • Export data for offline analysis
  • • Monitor performance metrics
  • • Try different parameter combinations
  • • Compare simulation vs. theory

🎮Navigation Controls

Switch Category:Basic / Advanced tabs
Select Simulation:Click simulation button
3D View:Mouse drag + wheel zoom

Ready to Explore?

Launch the Engineering Applications Suite and start experimenting with interactive physics and control systems simulations.

⚙️Launch Engineering Applications

Engineering Applications Suite • 7 Interactive Physics & Control Simulations