The project generates a single export-ready warehouse AGV robot through the Blender Python API. No meshes or texture files are imported. The generated scene contains only the AGV model plus optional render lighting and camera.
The robot keeps the existing AGV structure: low-profile body, four wheel assemblies, underside QR scanner, perimeter bumper and a hydraulic rotating lifting platform. The root object can be translated forward/backward and rotated in place in 90-degree increments by external control code. The lift platform can be raised/lowered and yawed independently from the chassis; the platform and lifting cylinders remain grouped with the robot.
All dimensions in the YAML configuration are millimetres.
Configure a PyCharm external tool or run configuration to invoke Blender with:
blender --background --python main.py -- --quality highFor a geometry check without output:
blender --background --python main.py -- --quality low --no-render --no-exportlauncher.py and root main.py call the modular application in src/main.py. Use --config configs/high.yaml for manual configuration. PyYAML is optional; without it the supplied quality presets are still usable.
high, medium, and low alter bevel, wheel, fastening, ventilation and sensor detail before geometry is built. AGV(quality="low") is the simulation-facing API for creating a lightweight robot object. The generator writes renders/robot.png and quality-specific exports into exports/. Rendering uses Cycles and procedural Principled materials.
The generator creates a fully procedural model of a low-profile warehouse AGV (Automated Guided Vehicle) with a four-wheel independent drive base, hydraulic rotating lift table, underside QR scanner, perimeter rubber bumper and emergency stop button. The robot is intended to be exported as a standalone object for warehouse simulation models.
| Parameter | Value | Note |
|---|---|---|
| Chassis length | 500 mm | Default value from config.py |
| Chassis width | 500 mm | Default value from config.py |
| Body height | 180 mm | Default value from config.py |
| Length including bumpers | ~535 mm | Bumper protrudes beyond the chassis envelope |
| Width across wheels | ~555 mm | Outside edge of the tyre tread |
| Wheelbase | 340 mm | Distance between front and rear wheel axes |
| Track width | 519.6 mm | Distance between left and right wheel centres |
| Ground clearance | ~6.3 mm | Low-profile chassis for flat simulation surfaces |
| Robot mass | estimated 150-250 kg | Not modelled directly; typical for this class |
| Parameter | Value |
|---|---|
| Top platform size | 400 × 400 mm |
| Lower base size | 380 × 380 mm |
| Lowered platform height | 190 mm from the robot origin |
| Raised platform height | 260 mm from the robot origin |
| Lift stroke | 70 mm |
| Actuation | 4 telescopic hydraulic cylinders |
| Platform yaw | Independent rotation around the vertical Z axis |
The platform can be raised and lowered while remaining attached to the robot. It can also rotate independently clockwise or counter-clockwise, including counter-rotation while the chassis turns.
| Parameter | Value |
|---|---|
| Quantity | 4 |
| Wheel diameter | 120 mm (60 mm radius) |
| Tyre width | 35 mm |
| Material | Rubber |
| Layout | Independent driven wheels, symmetrically placed near the corners |
The wheels include protective guards. In high mode, metallic hubs and drive mounts are added.
- QR scanner: mounted on the underside of the robot with Y = -130 mm offset and Z = 45 mm height. The scanner includes a lens and LED indicators.
- Motion type: four-wheel-drive 4×4 base with skid-steer turning.
- Forward/backward movement: external control can translate the
AGV_Robotroot along its current heading. - Turning: external control can rotate
AGV_Robotin place in 90° increments clockwise or counter-clockwise. - Platform synchronization: external control can set the lift platform yaw independently from the chassis yaw.
| Parameter | Value |
|---|---|
| Battery type | estimated LiFePO4, 24-48 V |
| Capacity | estimated 20-60 Ah |
| Runtime per charge | estimated 8-12 hours |
| Full charging time | estimated 2-4 hours |
| Charging method | Contact pads for automatic charging at a docking station |
Battery and charging parameters are not modelled in the code and are included only as typical values for industrial AGVs of this size. They do not affect geometry generation.
- Perimeter rubber bumper: 25 mm thick around the body envelope.
- Emergency stop button: placed on the body perimeter at approximately Y = -262.5 mm and Z = 81 mm in generator coordinates.
- Low-profile chassis: reduces the risk of catching obstacles.
- Independent platform rotation: helps keep cargo orientation controllable in simulation.
