Difference between revisions of "Projects:2014s2-74 Antonomous Robotics using NI MyRIO"
Line 96: | Line 96: | ||
Since the MyRIO device could not provided enough power to the motors mainly due to current limit of the output supply, a motor driver is required to supply large power consumption from DC motors. The power source of motors should be the battery itself, and the driver should be able to provide the required power output as well as compatible to interface with the MyRIO device.A suitable motor driver board for the has been determined, which is the L298N Dual H Bridge Motor Driver IC. This board would support 2 motor at 12V with a maximum current of 2A. | Since the MyRIO device could not provided enough power to the motors mainly due to current limit of the output supply, a motor driver is required to supply large power consumption from DC motors. The power source of motors should be the battery itself, and the driver should be able to provide the required power output as well as compatible to interface with the MyRIO device.A suitable motor driver board for the has been determined, which is the L298N Dual H Bridge Motor Driver IC. This board would support 2 motor at 12V with a maximum current of 2A. | ||
− | + | [[File:Motor Driver.png|600px|frame|left|The L298N Motor Driver]] | |
'''Motor Control System''' | '''Motor Control System''' |
Revision as of 14:27, 4 June 2015
This project is focus on designing and building up an autonomous robot by utilizing the integrated microcontroller FPGA called MyRIO Device provided by National Instrument, which is based the requirements of 2014 National Instruments Autonomous Robotics Competition (NI ARC).
Contents
Project Overview
Project Aims
The aim of the project is to design and build an autonomous robot that would be able to satisfy the requirement in National Instruments Autonomous Robotics Competition 2014 (NI ARC). The key robotics area of this year's competition is path planning, obstacle avoidance and object handling. Our group isn’t took part in the competition due to the different timings of the honours project and competition. Nonetheless the rules and guidelines of the competition provide the specifications for the robot that the group will design and build. For the competition, teams must use the NI MyRIO device and the LabVIEW development environment to program the majority of the code for the robot.
Project Introduction
Each year, National Instruments (NI) sponsors a competition to showcase the robotics capabilities of students by building autonomous robots using one of their microcontroller and FPGA products. In 2014, the competition focuses on the agriculture setting where the robots will need to communicate with a device, collect seeds, navigate an obstacle course, and then deposit the collected seeds. The key robotics application focus areas for the 2014 competition are:
- Obstacle avoidance
- Object handling
- Navigation
This project investigates the use of the NI FPGA/LabVIEW platform for autonomous vehicles. The requirements of the competition will form the basis of the desired project outcome. The autonomous robot is mainly contains of three major parts for development: software algorithm and architecture design, vision system design, and hardware system design. The project would require basic electrical knowledge, mechanical knowledge and software programming to build the required robot. The rules and guidelines of the competition provide the competing teams and our honours group with the functional requirements of the robot. This information will therefore define the scope of the honours project. The rules for the time limits and points scoring scheme will be omitted as they do not affect the design of our robot. The competition objectives are:
- The robot will begin from the Start Area and make its way to the Seed Collection Area. Bumping into any obstacle or wall during its way to the Seed Collection Area will result in a penalty.
- Once the robot has reached the Seed Collection Area, a team member (simulating a conveyor system) will load a number of seeds onto the robot to be transported to the Farming Area.
- The robot must make its way to the opening of the Farming Area. Again, bumping into any obstacle or wall will result in a penalty.
- Using the coordinates received prior to commencing the task, the robot must navigate to the best ploughed row and zone to plant the seeds. The robot continues planting at the next best zones until it has run out of seeds. The robot must drop the seeds within the specified area.
The graph below show the objectives with on the competition track as well as the dimensions of the track and the farming area. The planting rows and zones are not labelled on the physical track so the robot cannot use visual cues for where to plant the seeds. Each planting row and zone has equal size.
Previous Studies
Robotic as one of the most heated application in electrical and mechanical engineering, a lot of work and example were done by other people in the past decades. These robots would be having a wide range which including quad copters, kinetic robots, vehicle models, and industrial robot applications etc. For the student orientated autonomous robot the most common ones are known as the Arduino, NXT (Lego) robots, the National Instrument robot and other related microprocessor based robotics. However, the main difference of our project when compared with the others, is that we will be utilizing the NI MyRIO devices which is a recent product lunched by National Instrument, and we are the first batch of people who is focus on the development of autonomous robot based on the MyRIO device. So there might not be much information available in regards of the MyRIO robotics development. Yet the previous example robot and projects could be a good way to approach this project design, as the principle and consideration for building up a robot is similar in a scale. For the National Instrument robotics, the previous project and competition is mainly focus on the CompactRIO Device, which is quite similar to ours and could be a reference for developing our own robots.
Objectives of the project
The major goal of this project is to develop a completed autonomous robot which would be including different objectives for robot's software and hardware system
This will be including:
• Building a robot base to carry all the hardware components.
• Implementing the MyRIO device and all the required sensors to the robot
• Developing LabVIEW programs to control the robot and achieve the required function
Hardware Component and Detail Design
MyRIO Device Introduction
The NI myRIO device is a highly integrated FPGA microcontroller device which has been designed for students to learn about robotics and mechatronic systems. It supports the LabVIEW reconfgurable I/O (RIO) architecture and can be programmed using the LabVIEW programming language and development environment.
The myRIO device will act as the processing unit for the robot which needs to handle the majority of processing on the robot as required by the competition rules. Its interfaces include two sets of Expansion Ports (MXP) and a Mini System Port (MSP) which contain an analog input channels, six analog output channels and forty digital I/O channels as well as audio and power output. It can connect to a host computer via USB or wireless 802.11bgn which is very convenient as it can be programmed and controlled wirelessly. It also contains a programmable button and LEDs which can be used to demonstrate simple programs. The device contains a dual-core ARM processor which combines the software programmability of a processor with the hardware programmability of an FPGA. Its processing power is more than adequate to handle the computations that will be required by the autonomous robot. A picture below shows the layout of the National Instrument MyRIO device.
Power System Architecture
As an essential requirement of electronic device, power must be provided in order to support all the internal components function well. Without power all the electronics would not be able to run, hence power is indispensible and the fundamental attributes of all the robots. For this specific autonomous robot system, power source should be portable and powerful enough to supply the main energy consumption from robot’s motion system, as well as supporting all the other components in various situations. When considered about power system design, it could generally be developed into three sessions: overall power system design, selection of power source and detail design of the power circuits.
The diagram above illustrates the architecture of our robot power system. In order to satisfy the mobile and portable requirements of the autonomous robot, we would be using DC battery as the main power source. The battery output connects into a power distribution board, which then separates into multiple channels, for our distribution board we have implemented 5 different channels for future applications.there are only three main channels presented in the diagram.
One channel is designed for the locomotion system only as it's the largest power consumption system of our robot.The gear motor would have the potentials of drawing very high current at stall situations, so we consider the worst condition that if both of the motor is stalling at maximum speed operations, which would draw up to 5Amps current and the distribution board should be able to sustain without causing any damages or instabilities.
The second channel is dedicated for the MyRIO device only, as it's the most important yet vulnerable components of the entire robot system, so we designed it to be isolated from the other channels which would be able to minimize the interferences from other channels, as well as protecting from instantaneous surge current causing by the motors and other components.
The third channel is allocated to the Kinect camera (sensor), since its small voltage range support we have discussed before, even though it's a well integrated module and robust for power variation, it still needs stable power condition to operate properly.
Locomotion System Design
Locomotion system is an important and indispensable part for an autonomous vehicle robot, as it provides the basic function for robot to move from place to place. Referred to the National Instrument competition task, the designed robot should be able to achieve navigation and obstacle avoidance, thus a good locomotion system will carry the robot through challenging environment condition and enhance the robot performance of dealing with multiple task requirements. The locomotion system design mainly contains of five sections: Mechanism Structure Design, Motor Selection, Motor Driver Selection and Motor Control System. These five sections, together with the MyRIO device and power source, formed up the entire locomotion system of the autonomous robot.
After detail research of the available selections from internet and local market, we have selected a 12V Gear DC Motor with a ratio of 43.7:1 and 250RPM to be the main driver motor, with an encoder feedback installed on the motor shaft. During the testing we’ve found out it’s a good selection for the locomotion system design, as it could provided enough power and speed to drive our robot. The motor is presented as follow
Motor Driver
Since the MyRIO device could not provided enough power to the motors mainly due to current limit of the output supply, a motor driver is required to supply large power consumption from DC motors. The power source of motors should be the battery itself, and the driver should be able to provide the required power output as well as compatible to interface with the MyRIO device.A suitable motor driver board for the has been determined, which is the L298N Dual H Bridge Motor Driver IC. This board would support 2 motor at 12V with a maximum current of 2A.
Motor Control System
A picture below shouws the general motor control system design of the robot:
Where the motion controller is represented as the MyRIO device, it controls the entire locomotion system and process the position command to send the signal to the amplifier. The amplifier is referred to motor driver board, which provides the power to the motor and transfer the control signal to drive the motor. There are also feedback signals from motors to reflect the velocity and position of the moving robot. The encoder feedback is basically consisted of two Hall Effect sensors, which are magnetic to detect the magnetic field change by motor spinning, based on the frequency and direction of the pulse signal from two different sensors, the MyRIO device would be able to calculate the velocity and traveled distance of each motor.
A variable pitch propeller and motor set is used for the generator initially. The set used for the test is a 1600KV motor and a 10-inch diameter propeller. It generates power at 1600rpm/V. The wind turbine is controlled by LabVIEW and the three phase AC power signal will be sent to the main board for further test.
The wind power generated by the wind turbine can be calculated from the equation P=1/2 ρAC_p v^3, where P represents the power generated by the wind power; ρ represents the air density; C_p represents the efficiency of the wind turbine; A represents the swept area of blades and v represents the wind speed. Humidity and temperature affect the value of air density. Therefore, wind speed sensor, humidity sensor and temperature sensor are required for the wind system to calculate the efficiency of the wind turbine and take further tests. The wind speed sensor is located at the exit of the wind tunnel, right in front of the wind turbine, to get accurate wind speed near the wind turbine. The temperature and humidity sensor are located on top of the exit of the wind tunnel.
Sensors for Wind System
Experiments using the Board
Solar |
Wind |
Microcontroller Boards
Plug-In Microcontroller Board
The purpose of the plug-in microcontroller board is to provide the control signals for the modules on the main board. It was designed as a separate board so that it could be easily interchanged with different microcontroller boards. Also this allowed for easier testing and replacement. The PIC24FV16KM204 was chosen as the microcontroller for the plug-in board. Commands from LabVIEW are sent over SPI.
The plug-in board has sixteen analogue inputs, to sense all the main board voltages and currents. It has ten outputs for controlling the circuits on the main board.
External Microcontroller Board
The purpose of the external microcontroller boards is to perform analogue-to-digital functions on the external sensors (e.g. wind speed sensor), control the external parameters of each system (e.g. solar panel angle). Commands from LabVIEW are sent over SPI. The sensor values are sent back to LabVIEW over SPI. A generic external board was designed, so that it could be used with both the wind and solar system. The PIC18F26K80 was chosen as the microcontroller for the external boards.
The board has five sensor inputs and external pins. Each of these has a ground pin, +5V supply pin and an input signal pin. A +5V voltage reference IC is powered from +15V to provide a reference for analogue-to-digital conversions. The board has an analogue output with a gain that can be set with an on-board operational amplifier. The board also has general purpose input/output pins.
Software Architecture Design
Quiz
A quiz program was developed to be integrated into the main program. It will test students’ knowledge of basic concepts before the experiment.
Experimental Panels
Experimental panels provide the user with controls for the various parameters of the solar system, wind system and main board. Data acquisition gets data from the sensors and this is displayed real-time on the screen. The “Capture Measurement” button allows users to capture all measurements simultaneously. Waveforms and captured data are displayed in plots for visualisation. File output features allow users to save their captured data to a spreadsheet. Students can then do post processing and generate graphs for reports.
Future Work
As our project timeline is close to the end, hence we might not be able develop the new functions and tested out in the field. However, as a pioneer of the MyRIO robotics development, our work would be of great benefit to those people who will be continuing for our project. For the object handling design, we haven’t implement a comprehensive mechanism which could be further developed as a robot arm or spinning wheels that could handle multiple seed collection. For the locomotion system, we’ve been only using a two wheel control system which is difficult to achieve turning movement, for future development it could be upgraded to a four wheel drive system or design a powerful control program which would be able to turn during forward or backward movement.
Team Management
Team Members
- Mr Jiannan Li
- Mr Martin Nobis
- Mr Zhanxiang Gong
Supervisors
- Prof Cheng Chew Lim
- Dr Hong Gunn Chew
Team Member Responsibilities
Group 74 has three members and the responsibilities have been allocated as follows:
- Zhanxiang is responsible for all the robot hardware design, testing and installation, which includes the power system ,motion system and the chassis / layout of the robot
- Martin is responsible for the robot software architecture design, which mainly includes the LabVIEW program development for the robot's internal system
- Jiannan is responsible for the robot's sensor deployment, which mainly about developing the vision system using Xbox Kinect Sensor and delopying the sonar sensor for the robot
Project Timeline
Starting at the beginning of August 2014,The final year project lasts for one academic year which contains of 24 working weeks in total. However, the actual working schedule might not be 24 weeks since we only have 10 weeks in semester 2 to finish all the required parts before the final demonstration. And we could also utilize the holiday period to perform our works although it is not recommended. There are three main milestones throughout the whole project, which are: Milestone 1 MyRIO basic I/O Interfacing Milestone 2 Prototype Robot Development Milestone 3 Final Robot Construction
Resources
- Computer
- DC Power Supply
- Laboratory Benches
- Oscilloscope
- Signal Generator
- LabVIEW 2014 Software
- NI MyRIO Device
- Soldering Stations