University: Southampton Solent University
Team Members: Josh Bowen
Project Supervisor: Marc Molinari
Email Address: firstname.lastname@example.org
Autonomous User-Trailing Utility Vehicle
The project utilizes an ultrasonic user-tracking system to extrapolate navigational data, which subsequently controls the motors and the direction of the vehicle. The platform was designed around modularity and autonomy to maximize its flexibility in both hardware and software for use within multiple applications.
Products: N.I. myRIO (1900 with cover)
LabVIEW 2013 for myRIO (Student Edition)
2x High Torque Stepper Motors
4x H-Bridge Buffer Circuits
5x Li-Ion Batteries
2x Receiver Modules
1x Transmitter Module
1x Private WLAN Router
The problem with current autonomous systems are that most of the platforms available are for specific applications, are quite big, expensive and relatively low-order units. The main aim of the project was to build a smaller more commercially available system that could potentially match its larger siblings in modularity and autonomy.
The premise of the project was to create a general purpose autonomous system with a focus towards maximizing modularity for a variety of purposes. In order to demonstrate its autonomy, it was decided that a user-tracking system would be implemented as its main sensory input.
The system employs the use of an ultrasonic tracking beacon that is attached to the user in order to provide navigational inputs to the vehicle. The beacon is acquired by two directive ultrasonic receiver modules that are angled so their beam widths cross at the half power point, giving the vehicle a total beam width of over 100 degrees.
The two receiver modules represent the left and right sides of the vehicle from which angle and range data is acquired, depending on the relative and absolute amplitudes of the received signal. The angle data is extrapolated from the two relative amplitudes and controls the left and right motor speeds respectively. This compensates for the transmitter offset, ensuring that the tracking beacon is kept at 0 degrees in a nice stable closed loop, in effect following the user's position.
The absolute amplitude data represents the the user's relative displacement from the vehicle (variable resistors are used to calibrate this data in hardware). This data is used to dynamically control the vehicle speed depending on the walking speed of the user, it is also used to trigger fail-safes such as:
The vehicle utilizes two high torque stepper motors for maximum accuracy open-loop speed control, as well as two free wheeling rubber castors for maneuverability.
A view from the front, the ultrasonic receivers can be seen clearly in front of the stepper motors. (Front.jpg)
A side shot showing the wheel arrangement and chassis, alongside the ultrasonic beacon. (Side.jpg)
The myRIO and custom H-bridge array can be seen clearly mounted on the back of the vehicle, the rubber castors are free wheeling allowing for easy maneuverability of the system and to support any payload weight. (Back.jpg)
This is the video demonstration of my autonomous vehicle. (Final Cut Autonomous system.wmv)
LabVIEW provided a simple and intuitive way to program my system's autonomy, as well as design the remote graphical user interface (GUI) for system testing. The NI myRIO is a truly impressive multifunctional platform and is brilliant for robotic applications with its accelerometers for potential inertial navigation, PWM for precise motor controls and embedded WiFi for remote application modes. The myRIO's architecture is a perfect mix of low-level, raw-data manipulation and I/O as well as high level interfacing such as USB peripherals with its Linux based file system.
The project build was part of my university dissertation assignment and as such its time to build has been over two semesters, most of which was composed of documentation writing and other university work. The subsystem design and testing started at Christmas and the construction started after the Easter holidays ending in early May.
The current build of the system is a fully working first alpha, the system is under a constant continuous-improvement development process, as is inherent to all intelligent robotic projects. I am also sure a lot of the autonomy could be outsourced to the FPGA but I still need the licence key for the FPGA compilation software.
Attempts were made to integrate a phone application GUI using the TCP/HTTP VIs and using visual studio with my old windows phone. However there was not enough time available to figure out how to do this using the complicated windows phone 7.1 architecture, but I would love to make this work in future iterations of the project.
Above is the advertising poster for the finished autonomous system project. (Poster1.jpg)
This is the LabVIEW code, click to enlarge. (code.jpg)
The code currently runs on start-up of the myRIO so there is no front panel GUI in this version, however the project is designed around modularity so it would be easy to program one in and use the WLAN router to implement remote wireless control.
Nominate Your Professor etc.
I would like to nominate my lecturer Marc. As a certified LabVIEW user he was an excellent choice for my dissertation project tutor. He is a very passionate lecturer and helped me with my attempts at a windows phone interface and strongly encouraged me to use LabVIEW in my project, as it is such an intuitive programming language. He currently teaches some of the electronic engineering courses here at Solent University and has really made the effort to improve the course and involve extra-curricular activities including helping me start the engineering society.
I first met Marc after I won the engineering careers myRIO competition, as a LabVIEW user he came along to the meeting I had with an N.I. representative. Southampton Solent University does not currently teach LabVIEW in any quantity hence graphical programming was quite a new concept to me so I asked him to be my tutor. I attended the LabVIEW core 1 training course in Newbury and learned about the fundamentals of graphical programming and the LabVIEW program, but I only really got the chance to learn it thoroughly once I started my project.
The training course did not cover the use of the myRIO so this was new territory when it came to implementing my program on this platform, however my version of LabVIEW came with specific VIs that can be used with this hardware which subsequently filled in the gaps in my knowledge and I picked it up surprisingly fast. I also heavily used the data-sheet to analyze the hardware capabilities of the myRIO.
Through all my efforts in this project Marc has been consistency encouraging throughout and has shown a genuine interest in my endeavors. Despite the limited resources and zero budget I had to complete it, it was always encouraging to have someone other than myself that was excited about the final result and it would be nice to give something back to him.
Thank you for reading my submission, I hope you found it as interesting and fun reading it as I did working on it.