Design and Implementation of Visual Remote Remote Mobile Manipulator

In modern society, manipulators have been widely used in manufacturing, aerospace and military industries, and will also enter the service industry. Mobile robots are high-tech and intensive electromechanical products that have developed rapidly in recent years. With the rapid development of social production technology, the application field of mobile robots continues to expand. From automated production lines to the exploration of marine resources, to space operations, robots have become a representative strategic goal in the high-tech field. However, in terms of the current level of manipulator technology, the manipulator has limited information acquisition, processing and control capabilities. For complex work tasks and changing working environments, the manipulator's ability is even more insufficient. With the advent of the mobile Internet era, the rapid development of embedded technology and software technology, the emergence of more and more high-performance embedded chips, the rapid development of embedded operating systems, and the application to embedded processors, promoted Mobile robots are moving toward more intelligent. This article takes TI's OMAP4430 heterogeneous multi-core processor as the core, and the Android mobile phone is the control terminal, which realizes a visual mobile robot based on the joystick handle operation. The control terminal Android phone responds to the joystick event to control the movement of the robot. At the same time, with the powerful advantages of OMAP4430 heterogeneous multi-core processor in video codec, real-time wireless transmission of 720P video is realized. In order to improve the control accuracy and corresponding speed of the mobile manipulator, a DC motor is used to drive the manipulator movement and seven AX-12 motors that achieve 180 degrees of angle and speed are used to provide greater torque. Finally, the feasibility of this design was verified by experiments.

1 hardware platform

The visual remote control mobile robot hardware part of this design is mainly divided into three parts: OMAP4430 development board, Android mobile phone, car body and robot motor.

1.1 OMAP4430 Development Board

OMAP4430 is TI's Soc that achieves a perfect balance of high performance and low power consumption. It includes four processing engines: SMP Cortex-A9 1Ghz dual-core processor based on ARMv7l instruction set, programmable multimedia hardware acceleration engine IVA-HD And the co-processing core Cortex-M3, high-performance graphics card Power SGX540 and ISP providing image and video parallel computing. Among them, the IVA-HD multimedia acceleration engine has seven acceleration engines designed for various video codecs, which can realize real-time encoding and decoding of 720P video. Its internal schematic diagram is shown in Figure 1:

Design and Implementation of Visual Remote Remote Mobile Manipulator

Figure 1 OMAP4430 internal engine schematic

1.2 Android platform

Android is a Linux-based open source mobile device operating system for mobile devices. The Open Handset Alliance, founded by Google, continues to lead and develop. Android has open source, good portability and become the world's largest smartphone operating system. This design Android phone uses MediaTek Cortex-A7 processor, supports wireless network card AP hotspot, supports H264 hard decoding.

1.3 Mobile Manipulator

The mobile robot consists of a sports car and a robot. The sports car is responsible for ground movement, and the robot performs the task of capturing the ground target by rotating six motor joints.

1.3.1 Mobile trolley

Using the high-performance MCU ATmega128L chip to capture the current state through the sensor and drive the DC motor to move, the ATmega128 microcontroller is an 8-bit low-power CMOS microprocessor based on the AVR RISC architecture. Thanks to its advanced instruction set and single-cycle instruction execution time, the ATmega128 microcontroller has a data throughput rate of up to 1MIPS/MHZ. The car uses a 4-wheel drive wheel-shaped mobile robot with four DC DC motors and a variety of sensors for excellent rotation. The characteristics of the ability and stability, the car control framework is shown in Figure 2:

Design and Implementation of Visual Remote Remote Mobile Manipulator

Figure 2 Schematic diagram of trolley motion control

1.3.2 Robot

The robot consists of six AX-12 motors with 180-position position and speed control, real-time feedback of position angle and speed, and warnings when internal temperature or torque is out of range. The joint of the first motor is responsible for the 360 ​​degree rotation of the robot, and the second joint controls the two motors at the same time. This joint provides the necessary torque when lifting and lowering the object, so the torque is insufficient by controlling the two motors. The third and fourth motors provide the torque required for the robot to reach and retract when capturing the target, and the fifth motor is the wrist rotation motor that rotates the air angle of the last motor. The rotation of the last motor will push the clip open and closed to capture the surface target. Through the robotic arms of these six motors, it is possible to move in all directions and perform a variety of motion experiments.

1.4 System Hardware Framework

Design and Implementation of Visual Remote Remote Mobile Manipulator

Figure 3 system hardware framework diagram

2 software design

System software design includes Android mobile phone application, OMAP4430 development board Linux control server and wireless video service software design, AVR microcontroller program design, system software framework shown in Figure 5.

The Android application is mainly responsible for receiving the joystick time and handle button events of the handle horizontally and vertically, analyzing the processing events in real time, and sending the results to the OMAP4430 development board through the Socket. At the same time, Android will receive the 720P video stream compressed by the O2644430 development board through the H264 algorithm in real time and draw the decoding cache onto the control interface through hard decoding technology.

The OMAP4430 development board is equipped with the Linux3.9.11 operating system. It communicates with the Android mobile phone through the wireless network card Socket programming. It is mainly responsible for receiving the control commands sent from the Android platform and processing the data and sending the data to the AVR microcontroller to control the mobile robot through the wireless Bluetooth serial port. Motion and motor operation. Utilizing the powerful advantages of the OMAP4430 heterogeneous multi-core processor in video codec, the 720P resolution video frame is captured by the USB camera through the libdce library, using the internal IVA-HD multimedia hardware acceleration engine for H264 encoding, and the encoded video buffer stream is passed. The wireless network card Socket communication is sent to the Android mobile phone for display.

The bottom AVR MCU is responsible for receiving the control commands sent by the OMAP4430 to operate the four DC motors for motion, and simultaneously parsing the communication data into the mechanical motor rotation speed and the angle of the robot to complete the task.

Design and Implementation of Visual Remote Remote Mobile Manipulator

Figure 4 system software framework

2.1 Mobile robot MCU software implementation

The control core of the mobile manipulator is the ATmega128L MCU, which internally controls the movement of the robot by controlling the rotation of the four DC motors by clock-transformation PWM. At the same time, there are two UART serial ports, the Bluetooth serial port that communicates with OMAP4430 and the serial port that controls the rotation of AX-12 motor. The software flow is as follows:

1) Register initialization: including initialization clock timer, port input and output initialization, setting LED control register, etc.

2) Open the Bluetooth serial port and the AX-12 communication serial port, set the baud rate, parity, stop bit and other attributes of the serial port.

3) The Bluetooth serial port receives the control parameters sent from the OMAP4430 and performs parameter analysis processing. If it is a motion control parameter, the PWM direction is modified by PWM_change() to control the direction of movement of the robot. If the parameters are set for the robot, the rotation angle and rotation speed of each AX-12 motor are set by Ctrl_Array_MT() to complete the task of capturing the target.

4) Read the temperature and torque of the AX-12 motor. If it exceeds the predetermined range, adjust the motor speed and torque and send a message to the OMAP4430 development board. The robot motion control commands are shown in Table 1:

Design and Implementation of Visual Remote Remote Mobile Manipulator

Table 1 Mobile Robot Operation Command

2.2 Android application software design

2.2.1 Rocker Handle Event Processing

The joystick handle is connected to the Android phone using USB OTG, and the Linux kernel already includes its driver. The horizontal vertical rocker event and key events of the handle will trigger the call of MainAcTIvity's onKeyDown() function and onGenericMoTIonEvent() function, and analyze the properties of the event object (trigger button ID, event type) in the function to send different control to OMAP4430. command. The reference code is as follows:

Boolean onKeyDown(int keyCode, KeyEvent event)

{if(event.getSource()==InputDevice.SOURCE_JOYST ICK || event.getSource()==1281) //Handle button event

{ if(event.getAction()==KeyEvent.ACTION_DOWN)

{ int keycode=event.getKeyCode();

Swicth(keycode)

{ case KeyEvent.KEYCODE_BUTTON_1:

.... Break; //ID=1 button press triggered event

Case KeyEvent.KEYCODE_BUTTON_2:

Case KeyEvent.KEYCODE_BUTTON_3:

Default:break;}}}}

Boolean onGenericMotionEvent(MotionEvent event){

If(event.getSource()==InputDevice.SOURCE_JOYSTICK)

{ //Handle rocker event

Float Raw_x=event.getRawX(); //horizontal offset

Float Raw_y=event.getRawY(); //vertical offset

}}

2.2.2 Android H264 decoding

Android has added the H264 video hard decoding API from 4.1. Its MediaCodec internally encapsulates the openMax library for multimedia hard decoding acceleration. OpenMax is an open source, cross-platform multimedia codec acceleration API [5], including openMax application layer and openMax integration layer. , openMax development layer. The steps for decoding h264 include:

1) Create H264 decoding object by MediaCodec.createDecoderByType("video/mp4v-es")

2) mediacodec.configure(format,....) configures the parameters of the H264 decoder, including image resolution, video frame format, header information of the H264 video stream, etc.

3) mediacodec.dequeueInputBuffer() gets the available cache pointer, copies the received H264 code into the cache, and mediacodec.queueInputBuffer() sends the buffer to the decoder's cache queue.

4) The query waits for the decoder to complete, dequeueOutputBuffer() caches the decoded image, and draws the image onto the control interface through the Surafce display interface.

2.3 Linux Control Process and Wireless Video Service

OMAP4430 development board runs Linux3.9.11 operating system, which has the advantages of real-time and good portability. Create an AP hotspot using the Andriod mobile phone wireless network card. The wireless network card of the OMAP4430 development board will be connected to the AP, and the two will communicate data through the network.

The control process will create a TCP Socket server, wait for the Android application to connect, open the wireless Bluetooth serial device /dev/ttyUSB0 device, set the serial port properties (115200 baud rate, 8-bit data, no parity, etc.). After the connection is established, the control command sent by Andriod is cyclically received and the command parsing process is performed. The processing result is sent to the AVR MCU through the Bluetooth serial port to control the mobile robot.

The wireless video transmission process will call the USB camera through the V4L2 programming interface to capture 1280*720 video frames (acquisition speed is 30 frames per second). UMAP4430 heterogeneous multi-core processing in the multimedia video codec powerful computing capabilities, through the libdce library engine_open (), engine_create (), viddce_control (), viddec_procees () function to create H264 encoding instances and remotely call the coprocessing core through the RPMsg message bus IVA-HD's acceleration engine to improve video coding efficiency. In order to reduce network bandwidth requirements and improve wireless transmission efficiency, Baseline and Level 3.2 coding levels are used this time. Finally, the H264 code buffer is sent to the Android client through the wireless network card Socket server for decoding and display. The process of controlling the process and the wireless video transmission process is shown in Figures 6 and 7:

Design and Implementation of Visual Remote Remote Mobile Manipulator

3 test

Design and Implementation of Visual Remote Remote Mobile Manipulator

Table 2 Wireless video transmission real-time test

Since the H264 encoding acceleration is realized by the coprocessing core Cortex-M3 and the IVA-HD multimedia hardware engine in the heterogeneous multi-core processor OMAP4430, the 720P wireless video transmission has high real-time performance, reaching 28 frames per second.

4 Conclusion

In view of the shortcomings of the mobile robot control method and the lack of information acquisition ability around the environment, the Android mobile phone is used as the control center, and the joystick handle is the input device to realize the visual real-time operation of the mobile robot. At the same time, the OMAP4430 heterogeneous multi-core processor internal co-processing core Cortex-M3 and IVA-HD multimedia engine accelerates the 720P H264 video coding efficiency and improves the real-time performance of the wireless video service. Practice has proved that the system has the advantages of friendly human-computer interaction, simple control, balance of liabilities among multiple cores, and strong real-time performance of wireless video services.

Spindle For Insulator is a slender rod or pin used in insulators as a anchor point to connect the insulators with electrical wires or cables. The Insulator Spindle is an important part of the ceramic Pin Insulator Spindle, which determines the mechanical strength of the Insulator Long Shank Spindle. Its purpose is to fix the insulator on overhead transmission lines or substations, and can use strain clamps, U-bolts, plates and various accessories.

Advantage 

1. No waste electric energy 
2. Large grip strength
3. Easy to install 
4. Make pressure balanced 
5. Smooth surface long service life 
6. Versatility 

cold dipANSI small spindlecold dippole top pinspindle for CN45-2spindle for CN918spindle for p-11-yspindle

We warmly welcome friends both domestic and abroad to visit our company, if you have any questions, please contact with us directly. 



Insulator Spindle

Insulator Spindle,Spindle For Insulator,Pin Insulator Spindle,Insulator Long Shank Spindle

FUZHOU SINGREE IMP.& EXP.CO.,LTD. , https://www.cninsulators.com

Posted on