Skip to content

MITHRAN-BALACHANDER/6-axis

Repository files navigation

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.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •