2 days ago •
Introduction of Service Robot
Fundamentals of Service Robot
As a kind of semi-autonomous or fully self-help robot, service robots are able to perform useful service work for human beings, such as carrying, cleaning, and rescue. As service robots gradually enter the social life of people, they are now widely used in public places such as exhibition halls, restaurants, and hotels, which have a profound impact on improving the quality of human life and the service industry.
Usually, service robots are equipped with high-precision LIDAR, voice acquisition module, motion module, display screen, wireless connection module, and other major equipment. The robot uses LIDAR to build a high-precision indoor map, a voice module to receive voice commands, a motion module to move the robot to the target location, and a wireless module to receive remote commands from the controller to achieve remote intelligent control.
The movement process of the service robot needs to go through functions such as map construction, path planning, speed planning, and roadblock avoidance, as shown in the figure below.
In this paper, a mobile robot demo is built, using an omnidirectional mobile chassis, so that the robot can complete steering, translation, and other actions in a small range.
Remote monitoring module: stm32F407 + wifi mode + stone STVC043WT-01 display
Robot Host control center: stm32F707 expansion board (ported freer to the system)
Motion control module: stm32f407 + motor driver
Voice acquisition module: Xunfei Six Pulse Voice Array
Lidar: Silan Technology LPR Lidar
Mobile Chassis: ROTACASTER 125mm *3
Here we take a single-story scenario of a high-end office building as an example. The robot needs to serve the office workers in the building at regular intervals, and the task requires the robot to sense the environment and its own motion state through intrinsic or extrinsic sensors and perform collision-free motion from the robot's current location to the target location according to the principles of optimal time, shortest path, or lowest energy consumption.
To perform this task successfully, the floor environment is first scanned by using LIDAR to construct an indoor map and indicating the location of the task point with coordinates:
As the robot is performing its task, the operator cannot know the real-time status of the robot and give commands in time.
In order to enable the controller to remotely access the robot status and give control commands from the control center, I used the STM32F407 mainboard to interact with the robot through an external network card and the stone STVC043WT-01 display for UI design in the demo to improve the efficiency of the operator's use, the schematic diagram of the design is as follows:
This article will focus on how to use the stone STVC043WT-01 to design a UI to display the status of the service robot in real-time. Before working on the stone display, we need to write a simple test demo to ensure that the remote control module receives the robot's current status (robot ID, destination, x/y/z motor speed, coordinates of robot's current position, etc.) over the wireless network in a timely manner.
The following figure shows the robot state data generated when the robot is rotating at the origin, from the data it is clear that the x, y, and z motor speeds should be consistent when the robot is in rotation:
The procedure of stone STVC043WT-01 Display
Stone provides a set of display design tools that are easy to use, and we can complete the development of display demos in a very short time through the company's STV series displays. Therefore, the Stone STVC043WT-01 display was chosen to monitor the status of the remote machine in real-time. The development of the display is divided into three main steps:
1. Design the display UI
2. Develop the corresponding embedded host program, mainly design the UART communication...Read more »
2 days ago •
This project shows how to use the STONE display, STM32 microcontroller, ultrasonic sensors, and a servo. The purpose of the project is to be able to display the distance measured by ultrasound in real-time through the STONE display.
Supplies used in the project:
The display uses an 8-inch STONE screen, 8-inch intelligent TFT-LCD (thin-film transistor - liquid crystal display) industrial display module.
8-inch intelligent TFT-LCD (thin-film transistor - liquid crystal display) industrial display module
The intelligent TFT LCD module with Cortex-M4 32-bit CPU can be controlled by Any MCU through simple Hex commands via the UART port.
STONE provides TOOLBOX software for engineers to easily and visually set up various functions on the GUI, such as text, numbers, curves, image switching, keyboard, progress bar, slider, dial, clock and touch buttons, data storage, USB download, video & audio.
Engineers can easily adopt TFT-LCD color user interface and touch functions on various industrial devices and also reduce a lot of development time and cost.
Easy to use:
1. Design a set of beautiful "graphical user interface" and use our toolbox software to set various application functions on the GUI.
2. Connect directly to customer MCU via RS232, RS485, or TTL level, plug and play.
3. Write the MCU program to control the TFT LCD module with 4 simple Hex commands.
For example, the Image switch command:
Send "0xA5 0x5A 0x04 0x80 0x03 0x00 0x01" to display image-01
0xA50x5A: frame header of each instruction
0x04: data length
0x80: write register instruction
0x03: Image switch instruction
0x000x01: Image_ID, the serial number of the image storage location
Application areas: medical and beauty equipment, engineering machinery and vehicle equipment, electronic instruments, industrial control systems, electric power industry, civil electronic equipment, automation equipment, transportation equipment, etc.
65536 colors (16 bit)
A Class Industry Panel
Industry Level 4 wire resistance
Or without a touch screen is optional.
400 cd/m2(Brightness can be adjustable in 100 levels.)
70°/ 70°/ 50°/ 70°(L/R/U/D)
-20°C ~ +70°C
-30°C ~ +80°C
Picture Switching Speed
47 ms/frame （21 images/s）
Standard 128MB, Extension 1GB
Memory Amount for picture
According to the capability of the image, Suggest "JPG" format.
USB2.0 (12Mbps) & U storage Disk downloading
DC6.0V ~ 35V (typical value: 12V)
-20°C ~ +70°C
Continuous Vibration Testing
10-55Hz, 1.5mm, 10G
Impact Acceleration Testing
Radiation Reliability Testing
1. Touch terminal, thin-film transistor-LCD display system
2. Any microcontroller can be controlled by a simple instruction set
3. Cost-effective HMI (Human Machine Touch Terminal)
1. Design a set of custom user interfaces.
2. Connect the device to the TFT-LCD module through RS232/RS485/TTL serial port.
3. Write a control program in any microcontroller with an instruction set (included in the product) to control the...Read more »
2 days ago •
Today is Friday, January 29, 2021, control of the COVID-19 in Beijing is also promoting the "New Year in place", the family said the Spring Festival can not visit each other, or each person is fined 1500. It seems to go out as little as possible, if there is nothing to do you'd better stay at home, do more projects, it is also considered to make a contribution to the country.
Just a few days ago the serial touch screen STVI056WT-01 arrived, I am ready to use it to upgrade the physical therapy instrument! Now start drawing up a plan and steps.
1. This project is based on the upgrade of the old physical therapy instrument in order to show a better experience to customers.
a. Add touch screen button function.
b. Through communication with Arduino serial port, realize the touch screen input to control the output of the product.
2. Upgrade the interface, add touch buttons to replace the silicone physical buttons and encoder on the right side of the product.
a. Make English pictures with the location of the touch buttons.
b. Import the picture into Tool4.3, make and configure normal buttons, incremental buttons and return value buttons.
3. Connect STVI056WT-01 serial screen and Arduino control board to realize programming control.
a. Connect the serial screen to the MCU.
b. Serial communication and control function programming.
c. Online debugging.
Planning as above, the next step is to do the specific work and solve the problems that will be encountered in the process of doing it.
First, make English pictures with touch button locations
That is, add the necessary buttons in each interface so that these buttons can achieve a reasonable jump between interfaces; there are also incremental buttons to adjust the output intensity instead of the encoder. Two examples are as follows.
Next, import the image into Tool4.3 and create three buttons
This will be done by continuing to watch the related videos and consulting the Tool software instruction manual that you downloaded last time. Of course, the point is to take good notes.
*General button. In Tool4.3 Tools menu Touch Configuration (M), select "Botton", or click on the button tool at "1" to create a button in the desired location, and fill in the "2" at the "botton effect" for the effective page location, "Page switch" for the jump page, you can complete the button jump function. The same button can be copied on different pages.
**Incremental button. Check "Incremental adjustment" in the Tool4.3 menu Touch Configuration (M) or click on the button tool at "1" in the figure to create a button at the desired location and fill in the "variable memory address" at "2" so that it is the same as the data variable address (0X0888); check the box" after the data automatically upload" at "3" to automatically upload changes to the serial port of the Arduino development board; select "the adjustment way" as "++" or "--"at "4"; in "5", fill in "adjust the step size" with a step value of 1; in "6", check the box "long-press quick adjust" to achieve long-press quick adjustment by touching the button.
*** Return value button. Check "Return pressed key-value" in the menu Touch Configuration (M) of Tool4.3 tool software, or click on the button tool in the picture as above, create a button in the desired location, and fill in the variable address and key value in the marker as above. Check the box to automatically upload the return value when pressed. The "test" button variable address is 0X0868, and the key value is changed to "0055" (0x0055); the "cure" button variable address is 0X0858, the key value is changed to "0066" (0x0066); the key test serial assistant returns the following values.
Next, connect the serial screen to the MCU.
By experience, a simple connection Arduino development board TX, RX, GND to the serial screen DIN, DOUT, GND, properly "enjoy" a failure. Quickly...Read more »