6--axis Robot
robotics-6axis-webapp/
│
├── backend/ # Django Backend
│ ├── robotics/ # Django Project Root
│ │ ├── settings.py # Django settings
│ │ ├── urls.py # Main URL router
│ │ ├── wsgi.py # WSGI entry point
│ │ ├── asgi.py # ASGI entry point (for WebSockets)
│ │ ├── _init_.py
│ │
│ ├── motion_control/ # Robot Motion Control
│ │ ├── models.py # Database for motion profiles, robot state
│ │ ├── views.py # Django API endpoints for motion
│ │ ├── urls.py # API routes
│ │ ├── serializers.py # Django REST serializers
│ │ ├── tasks.py # Celery tasks for async motion
│ │ ├── ros_bridge.py # Communicates with ROS (rospy/rosbridge)
│ │ ├── motion_planner.py # Path planning, IK, trajectory generation
│ │ ├── collision_detection.py # Safety checks for robot movement
│ │ ├── _init_.py
│ │
│ ├── user_management/ # Authentication & Roles
│ │ ├── models.py # User roles, permissions
│ │ ├── views.py # Login, API authentication
│ │ ├── urls.py # User management routes
│ │ ├── serializers.py
│ │ ├── _init_.py
│ │
│ ├── monitoring/ # Real-time monitoring
│ │ ├── views.py # System monitoring API
│ │ ├── urls.py # Routes for monitoring endpoints
│ │ ├── analytics.py # Motion analytics processing
│ │ ├── logging.py # System logging
│ │ ├── _init_.py
│ │
│ ├── reports/ # Logs & Analytics
│ │ ├── views.py # Generates reports
│ │ ├── urls.py # API routes for reports
│ │ ├── pdf_generator.py # Converts logs to PDF
│ │ ├── csv_export.py # Exports data to CSV
│ │ ├── _init_.py
│ │
│ ├── static/ # CSS, JS, images
│ ├── media/ # Uploaded motion files (optional)
│ ├── manage.py # Django CLI tool
│
│
├── frontend/ # React Frontend
│ ├── public/ # Static files (index.html)
│ ├── src/ # React app source
│ │ ├── components/ # UI Components
│ │ │ ├── MotionControl.js # Robot motion control UI
│ │ │ ├── LiveStatus.js # Real-time status display
│ │ │ ├── UserAuth.js # Login, authentication
│ │ │ ├── Analytics.js # Robot motion analytics UI
│ │ │ ├── Reports.js # PDF/CSV reports UI
│ │ ├── pages/ # Page Components
│ │ │ ├── Dashboard.js # Main Dashboard
│ │ │ ├── MotionPage.js # Motion Control Page
│ │ │ ├── LogsPage.js # Logs and Reports
│ │ ├── services/ # API calls (axios)
│ │ │ ├── motionAPI.js # Calls motion control API
│ │ │ ├── authAPI.js # Calls authentication API
│ │ ├── context/ # React Context for global state
│ │ ├── utils/ # Helper functions
│ │ ├── App.js # Main entry point
│ │ ├── index.js # ReactDOM render
│ │ ├── routes.js # React Router setup
│ │ ├── styles/ # CSS, Tailwind, Styled Components
│ ├── package.json # Dependencies
│ ├── vite.config.js # Configuration for fast bundling
│
│
├── ros_ws/ # ROS Workspace (Robot Control)
│ ├── src/ # Source files for ROS nodes
│ │ ├── motion_control_node/ # ROS package for motion control
│ │ │ ├── scripts/ # Python ROS scripts
│ │ │ │ ├── motion_controller.py # ROS node for motion control
│ │ │ │ ├── robot_status.py # Publishes robot state
│ │ │ │ ├── path_planner.py # Implements trajectory planning
│ │ │ │ ├── inverse_kinematics.py# Computes joint angles from end-effector pos
│ │ │ ├── launch/ # ROS launch files
│ │ │ │ ├── start.launch # Launch file to start ROS nodes
│ │ │ ├── CMakeLists.txt # ROS build config
│ │ │ ├── package.xml # ROS package definition
│ │ │ ├── _init_.py
Basic Functionalities required
Motion Start & Stop start_motion(profile_id): Start executing a predefined motion profile. stop_motion(): Immediately stop all movements. Position Control (Joint & Cartesian) move_to_position(joint_angles): Move to a specified set of joint angles. move_to_cartesian(x, y, z, roll, pitch, yaw): Move to a target Cartesian position. set_home_position(): Move the robot to the predefined home position. Speed & Acceleration Control set_speed(speed_percentage): Adjust the robot's speed (0-100%). set_acceleration(accel_percentage): Modify acceleration settings. Motion Profiles create_motion_profile(name, waypoints): Define a new motion path. get_motion_profiles(): Retrieve available motion profiles. delete_motion_profile(profile_id): Remove a motion profile. Real-time Monitoring get_robot_status(): Retrieve current axis positions and system status. get_live_motion_data(): WebSocket-based live updates on movement. Safety & Emergency Controls enable_safety_mode(): Activate safety restrictions. disable_safety_mode(): Disable safety mode for advanced operations. emergency_stop(): Immediately halt all robot movements. Motion Control Enhancements Multiple Motion Profiles: Store and execute pre-programmed motion sequences. Inverse Kinematics (IK): Calculate joint angles for a given Cartesian position. Dynamic Path Planning: Implement trajectory smoothing with S-curve or trapezoidal motion profiles. Collision Detection: Add safety checks before executing a movement. Jog Control: Allow real-time manual movement of joints or end-effector. Multi-Robot Coordination: Sync multiple robots for cooperative tasks.
Real-Time Monitoring & WebSockets Live Robot State Updates: Display joint angles, velocity, and errors in real-time. WebSocket-Based Streaming: Use ROS → Django → React WebSocket for instant UI updates. Graphical Dashboard: Show charts for motor torques, speeds, and temperatures. ROS Diagnostic Logs: Stream system messages & alerts to the UI.
User Management & Authentication Role-Based Access Control (RBAC): Define roles (Admin, Operator, Observer). API Key & Token-Based Authentication: Secure API access for third-party integrations.
ROS Integration & Middleware ROS Service Calls: Expose services to start/stop motion, change speed, and update configurations. rosbridge_suite WebSocket: Enables direct ROS communication with React UI. ROS2 Support: Future-proof the system with ROS2 compatibility. Simulation Mode: Run the robot in a simulated environment (Gazebo, MoveIt!). EtherCAT Communication: Direct EtherCAT interface for real-time servo control.
UI/UX Enhancements (React) 3D Robot Visualization: Use Three.js or ROS Rviz to display real-time robot movement. Drag-and-Drop Motion Planning: Let users create motion paths visually. Dark Mode UI Support: Improve user experience with modern theming.
Logging, Analytics & Reporting Error & Event Logging: Record system states for debugging & analysis. Motion History Tracking: Save all executed movements for later review. Energy Consumption Monitoring: Track robot power usage (useful for efficiency analysis). PDF & CSV Reports: Export system logs, motion data, and analytics.
Cloud & API Integrations Cloud Storage: Store motion profiles & robot configurations in AWS/GCP/Azure. Remote Control via Web: Enable robot operation from a web browser securely. Integration with MES/ERP: Connect to factory automation systems. MQTT & IoT Integration: Communicate with smart sensors & edge devices.