Please enable JavaScript to view this site.

Waijung 2 User Guide

The “Developing a Stand-alone System” topic focuses on creating an integrated system that combines the control algorithm with a web application. This allows for real-time monitoring and control of the robot’s movements and behavior through a user-friendly web interface. The stand-alone system is designed to operate independently, ensuring that the robot can perform its tasks without the need for constant supervision or connection to development tools. This topic will cover the steps involved in integrating the components, testing the system’s functionality, and deploying it for practical use. It’s the culmination of the project, where all the individual parts come together to form a cohesive and autonomous robotic system.

 

Example Simulink Model: br_stand_alone.slx

Step 01: Start Simulink

Open MATLAB and start Simulink. Create a new model.

Figure 193: Create new Simulink model

Figure 193: Create new Simulink model

Step 02: Add Waijung 2 Target Setup Block

From the Waijung2 blockset, find the Target setup block and add it to your model.

Figure 194: Add Waijung 2 Target Setup block to the model

Figure 194: Add Waijung 2 Target Setup block to the model

Step 03: Configure Target Setup Block

Double-click on the Target setup block to open its configuration parameters. Set the build option to ‘Deploy to Hardware’. This mode allows you to run real-time simulations, which will be handy in later steps when reading the robot tilt angle.

Figure 195:  Select Deploy to Hardware as Build Option

Figure 195:  Select Deploy to Hardware as Build Option

Select FreeRTOS tab and change "Default xTaskCreate_stack depth" to 20480.

Figure 196:  Increase Default xTaskCreate_stack depth to 20480

Figure 196:  Increase Default xTaskCreate_stack depth to 20480

Select ESP32 tab and Select the COM port connected to M5Stack BALA2 FIRE. Also edit the Partition table and increase the factory partition Size to 2M.

Figure 197:  Select ESP32 COM port and edit partition table

Figure 197:  Select ESP32 COM port and edit partition table

Step 04: Add SD Setup block

From the Waijung2 blockset, find the SD Setup block and add it to your model. Configure it as following figure:

Figure 198:  Configure SD Setup block for the SD card.

Figure 198:  Configure SD Setup block for the SD card.

Step 05: Add Wifi Setup block

From the Waijung2 blockset, find the WIFI Setup block and add it to your model. Configure it as following figure:

Figure 199:  Add Wifi Setup block

Figure 199:  Add Wifi Setup block

Step 06: Add String Processing blocks and Step block

From the Waijung2 blockset, find the String Processing block and add two blocks to your model. Set Function to sprintf and insert Wifi SSID and Password in the Formal property. Also add a Step block to trigger the Wifi Setup block and use following configuration on the figure:

Figure 200:  Insert SSID and Password

Figure 200:  Insert SSID and Password

Figure 201:  Create a trigger using Step block

Figure 201:  Create a trigger using Step block

Step 07: Add Enable Subsystem

From the Simulink blockset, find the Enable Subsystem block and add it to your model. Connect it to a status of Wifi Setup block through a comparison block. Compare to constant block will enable the subsystem when the value of wifi setup status equal to 0 (This represents a successful initialization of the Wifi connection without errors).

Figure 202:  Add Enable Subsystem

Figure 202:  Add Enable Subsystem

Step 08: Add Aimagin Connect blocks

From the Waijung2 block set, find the Aimagin Connect Server block and Aimagin Connect Custom mode block add it to your model. Configure Aimagin Connect Custom mode block by adding the new mode name get_input.
Note: Enter the same mode name used in the init callback of the created web page.

Figure 203:  Add Aimagin Connect Server and Custom blocks

Figure 203:  Add Aimagin Connect Server and Custom blocks

Step 09: Add Function-Call Subsystem

From the Waijung2 blockset, find the Function-Call Subsystem block and add it to your model.

Figure 204:  Add Function-Call Subsystem

Figure 204:  Add Function-Call Subsystem

Step 10: Add Aimagin Connect Read Request block

From the Waijung2 blockset, find the Aimagin Connect Read Request block and add it to your model. Use String Processing block with sscanf Configuration to extract the web page push button actions.

Figure 205:  Read data from the web page inputs

Figure 205:  Read data from the web page inputs

Step 11: Include Movement Control Algorithm

Copy and paste the Movement Control Algorithm implemented on the Developing and Testing Movement Control Algorithm tutorial.
Add two more conditions to prevent the robot from moving when conflicting commands are given, such as pressing both the forward and backward buttons or the left and right buttons at the same time. This is important for devices that support multi-touch, where multiple buttons can be pressed simultaneously.

Figure 206:  Copy the Movement control algorithm

Figure 206:  Copy the Movement control algorithm

Step 12: Add Aimagin Connect Send Response

From the Waijung2 blockset, find the Aimagin Connect Send Response block and add it to your model. Use the String Processing block with sprintf Function to send a response confirming the receipt of the push button values.

Figure 207:  Sending response to confirm data received

Figure 207:  Sending response to confirm data received

Step 13: Add Balancing components

Copy and paste the Balancing components from the br_control_movement.slx.

Figure 208:  Copy the balancing components

Figure 208:  Copy the balancing components

Figure 209:  Stand alone model

Figure 209:  Stand alone model

Example Simulink Model:br_stand_alone.slx

Step 14: Open Embedded Coder

Select APPS from the toolstrip and Select Embedded Coder.

Figure 210:  Open Embedded Coder

Figure 210:  Open Embedded Coder

Step 15: Build the Simulink Model

Select the Build button to build the Simulink model to the balancing robot.
Note: Insert the SD Card to the balancing robot with the web app exported data before building the model.

Figure 211:  Build Model to Bala2 Robot

Figure 211:  Build Model to Bala2 Robot

Step 16: Find the IP address

Find the IP Address of the Balancing robot by connecting to the COM port using a Serial Monitor(eg: Docklight,Putty).

Figure 212:  Find IP address

Figure 212:  Find IP address

Step 17: Sign-in to Aimagin Analytics Account

Open a web browser and enter the IP address on the address bar. Sign in to the Aimagin Analytic account using SSID and password.

Figure 213:  Enter IP address and sign in to Aimagin Analytics account

Figure 213:  Enter IP address and sign in to Aimagin Analytics account

Step 18: Open Web App

Select the BALA2 in the web app.

Figure 214:  Open Web app

Figure 214:  Open Web app

Figure 215:  Web App

Figure 215:  Web App

 

Self balancin robot remote control (Video)

 

Copyright 2024 Aimagin Co.,Ltd. Rev.1454