Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

CIMCO Integration Software Products
Servo Background Servos provide control of rotary position Servos are used extensively in the remote control hobby world for: Aircraft (flaps, ailerons,
Presented by Team 3350 (T-BOTS).  Students should lead their teams in the building, design, and all other aspects of the robot.  Knowledge of the Kit.
In this presentation you will:
Microprocessor Motor Control Spring Introduction  Stamp projects Robots  Sensors  Motor control  Logic Rocketry  Reading acceleration (“g”
Team Spot Cooperative Light Finding Robots A Robotics Academy Project Louise Flannery, Laurel Hesch, Emily Mower, and Adeline Sutphen Under the direction.
Indian Institute of Technology Hyderabad ROBOTICS LINE FOLLOWER HARI KISHAN TANDEY – ES12B1008 DILIP KONDAPARTHI – ES12B1010 SAI KARTIK – CE12B1015.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Mine Mapping Remote Communication.
Robot Soccer Challenge
From Teleoperators to Robots Development of machines and interfaces.
Wireless Networks for Multi- Robot Communications Creating a Sensor Network of Robots.
1 Lecture 1: Your Boe-Bot's Servo Motors Presentation based on: "Robotics with the Boe-Bot" By Andy Lindsay Parallax, Inc Presentation developed by: Martin.
Autonomous Metal Detector Vehicle (AMDV)
Servos The material presented is taken from a variety of sources including:
Autonomy using Encoders Intro to Robotics. Goal Our new task is to navigate a labyrinth. But this time we will NOT use motor commands in conjunction with.
Available at: – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.
Motion Tracking Recorder 360 (MTR-360) Group #1 Lee Estep Philip Robertson Andy Schiestl Robert Tate.
Final Presentation Andres Fausto Stewart Bewley Philip Dawsey Ki Baek Eom.
ME 224-Final Project Jim Lovsin Erica Morales Dan Sheehan Josh Widzer.
The Alix.1c microcontroller on board the vehicle runs Fluxbuntu Linux and is connected to a g wireless card and a USB web camera. A background process.
ME 224 Final Project Final Presentation 12/08/05 David Macedonia David Storch Adam Same Norbert Wroblewski.
Deon Blaauw Modular Robot Design University of Stellenbosch Department of Electric and Electronic Engineering.
EIGHTH GRADE ROBOTICS KITTATINNY REGIONAL HIGH SCHOOL MR. SHEA Introduction to Robotics Day4.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.

Manufacturing Advanced Design Applications Manufacturing © 2014 International Technology and Engineering Educators Association, STEM  Center for Teaching.
DEC0905 Remote Control of Home Appliances ABSTRACT The objective of this project is to enable users to remotely control home appliances and systems over.
Microcontroller Hands-on Workshop #3 Ahmad Manshad New Mexico State University Institute of Electrical and Electronics Engineers November 7, 2009.
ROBOTICS PROGRAMMING AND APPLICATIONS By Rajesh.Valusa ME Manufacturing Engineering.
Program ultrasonic range sensor in autonomous mode
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class 2.
Ruslan Masinjila Aida Militaru.  Nature of the Problem  Our Solution: The Roaming Security Robot  Functionalities  General System View  System Design.
Engaging Undergraduate Students with Robotic Design Projects James O. Hamblen School of ECE, Georgia Tech, Atlanta, GA
Coding for the FIRST Tech Challenge: RobotC
Weston Schreiber & Joshua Gabrielse Robotics Summer Training Programming #1: EasyC Basics.
10/10/ Controlling YOUR ROBOT. 10/10/2015 Basic Stamp  Basic Stamp Input - output pins Interpreter Chip Power supply: 5 Volts voltage Memory: EEPROM.
Automated Distinguisher (AD) New York City Research Initiative Athar Abdul-Quader Stephen Brandes Isaiah Silver Mentor: Professor Vikram Kapila Mechanical.
Multi-Vehicles Formation Control Exploring a Scalar Field Polytechnic University Department of Mechanical, Aerospace, and Manufacturing Engineering Polytechnic.
Autonomy using Encoders Intro to Robotics. Autonomy/Encoders Forward for Distance In this unit, you will learn to use the encoders to control the distance.
Phong Le (EE) Josh Haley (CPE) Brandon Reeves (EE) Jerard Jose (EE)
See3PO - A Visually Capable Path Finding Robot See3PO Frank Marino, Nick Wang, Jacky Yu, Hao Wu and Debarati Basu Department of Computer Science University.
Autonomous Metal Detector Vehicle (AMDV) Jared Speer Lamar Williams Jr. Nathan Stephan University of Central Oklahoma Department of Engineering and Physics.
Xtreme Robot Olympiad Programming Basics Dr. Peter Laz Associate Professor Department of Engineering University of Denver.
Advisor: Dr. Edwin Jones 1 Client: Paul Jewell ISU Engineering Distance Learning Facility May01-13 Design Team: David DouglasCprE Matt EngelbartEE Hank.
1 Lecture 1: Your Boe-Bot's Servo Motors Presentation based on: "Robotics with the Boe-Bot" By Andy Lindsay Parallax, Inc Presentation developed by: Martin.
PHY 201 (Blum)1 Microcode Source: Digital Computer Electronics (Malvino and Brown)
July 7, 2003 Slide 1 of 6 Automation, Robotics and Mechatronics Lab, SUNY at Buffalo Introduction To Programming Chetan Jadhav Talib Bhabharawala Seung-Kook.
Automatic accident avoiding system PROJECT MEMBERS MUTHUKUMAR.K (05ME33) SAKTHIDHASAN.S (05ME39) SAKTHIVEL.N (05ME40) VINOTH.S (05ME56) PROJECT GUIDE:
Digital Electronics The Boe-Bot and Servo Motors.
Electronics and Robotics Merit Badges Class 5 – Programming Robot Controllers for Sumo Competition 12/23/2015 Electronics and Robotics Merit Badges - Class.
PHY 235 Robotics Workshop Day 4 Robotic Behaviors, Light Sensing, Voltage Dividers, LCD-MOD.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
See3PO - A Visually Capable Path Finding Robot See3PO Frank Marino, Nick Wang, Jacky Yu, Hao Wu and Debarati Basu Department of Computer Science University.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Limited rotation servo basics David Hall output shaft servo horn red wire = 5V + black wire = Gnd - white wire = control signal standard servo.
SPECIAL FUNCTIONS ON ASDA-A2. To Audience Advance level This slide will teach some special functions on ASDA-A2. For better understanding the content,
We are an energetic and dynamic young company having specialization in the fields of Electronics and Communication, Mechanical Systems and Robotics. We.
ROBOTICS DEEP DESAI( ) BRIJESH PATEL( ) NIMESH PATEL( ) Presented By: RUTVIJ JAVERI SOFTYOUG solution provider Ltd.( JIGAR.
ROBOTC for CORTEX Teacher Training © 2011 Project Lead The Way, Inc. Automation and Robotics VEX.
Voice Controlled Robot by Cell Phone with Android App
ROBOTICS PROGRAMMING AND APPLICATIONS
Digital Control CSE 421.
Servos The material presented is taken from a variety of sources including:
Automation (자동화) Associate Professor Su-Jin Kim
Controlling YOUR ROBOT
An Introduction to VEX IQ Programming with Modkit
Fevzi Ozaydin & Violet Mwaffo
Presentation transcript:

Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr. John R. Wright, Jr., CSIT Department of Industry & Technology Millersville University of Pennsylvania

The Need for Education “Advances in the field of robotics have resulted in dependable robots that are extremely accurate and repeatable while becoming affordable. In the last decade the prices for robots have fallen nearly 40%. During the same period robots have become faster and more versatile. Analysts expect the use of robots in the electronics industry to grow at an average rate of 35% annually during the next four years” (Dunham, 2001). “It has been cited by the RIA [Robotics International Association], that only 12% of the American companies that could use a robot, are presently using one. Therefore, 88% of the market is still untapped. There are many reasons for this. But the predominant reason is the lack of a trained workforce that understands how to implement the technology. We need more engineers to develop a hands-on understanding of what constitutes a good application” (Harris, 2003).

The Need for Education Recent advances in the development of robotics combined with significant reduction of their costs have made the implementation of such devices in today’s smaller and midsize companies increasingly necessary and feasible. According to Peter Cavallo, head of U.S. sales for Denso Robotics, “it’s well within the means of any size company to use robots. It’s no longer just the realm of large or dollar-intensive companies” (Spencer, 2003).

Overview of Robotic Control Industrial Robots Bang-Bang Point-to-Point Controlled Path Continuous Path Mobile Robots Hard Wired Tele-operation Semi-Autonomous Autonomous Known versus Unknown

Sectors of Society that Employ Mobile Robots 1) Manufacturing Automatic Guided Vehicles (AGVs) 2) Medical Hospital Food Delivery 3) Military (Urbie) Recognizance 4) Research/Exploration Space, Hazardous Environments, etc.

Progression of Semi-Autonomous Research Students began with general Basic Stamp II tutorial books which included programs to run servo motors and various sensors. What’s a Microcontroller and Robotics with the BOE Bot Once familiar with the basics, the students were able to start applying this knowledge to begin operating speed controllers and steering servos to move a mobile robotic vehicle. Independent research was performed on more advanced sensors and wireless Bluetooth technology.

SA-1’s Development SA-1 was first introduced using only tele-operated control but was designed to have an autonomous function integrated into it. This was done while the team members were being introduced to the technology in various classes. Independent Studies and Independent Research expanded our technical capability in the use of infrared sensors and wireless Bluetooth communications. The original SA-1, which was built for the 2004 NAIT conference employed semi-autonomous control (tele-operation and autonomous modes). SA-1 was modified for the 2005 National Robotics Challenge. The autonomous function was expanded to include a search pattern that could be activated to find an object and then grab it. This advanced our autonomous mode, leaving the tele-operation the same.

Motor Control Many tele-operated vehicle motors are controlled by speed controllers. Research was preformed on to how to control a hobbyist level speed controller via a microcontroller. We found that the control is similar to that of a servo motor. A pulse out range of 500 to 1000 milliseconds will drive the speed controller from full reverse to full forward (750 being neutral).

Infrared (IR) Sensors To detect objects, two Parallax S.S.I.R infrared sensors were used. These required no integration other then connecting them to the proper pins. These were placed inside of the gripper to detect the object and then center the robot on it. The sensors used one pin on the Microcontroller to both send and receive signals. Certain kinds of light sometimes cause erroneous signals with this type of sensor. The code had to be modified to filter out these stray signals, which allowed for more accurate detection. This code will be explained later. Sensors

Bluetooth Communication To allow an operator to initiate the automation and monitor the status of the robot, a wireless communication link needed to be established. AppMod Header VSS Pins Code was written to allow communications between the EmbeddedBlue transceiver and the PC adapter. The user would first open a HyperTerminal window on the PC screen where he could see a prompt which was sent from the microprocessor. Then he could input a value that could be used in the code to do things such as start an automated process. This was done using a Parallax EmbeddedBlue transceiver and a USB Bluetooth adapter for the PC. The Bluetooth adapter simply plugs into a PC USB port. The EmbeddedBlue transceiver plugs directly into the AppMod Header on the BASIC Stamp II.

Tele-Operated to Autonomous Control SA-1’s control was transferred from the remote control to the Basic Stamp through the wireless Bluetooth connection. The user would drive the robot to a position where the object would be within a certain range of the gripper. At this point, the user would initiate the automated function from the HyperTerminal prompt on the laptop screen. This sent a start signal to the microprocessor, which began the automated process. During this process, the microprocessor takes precedence over the remote controller, temporarily disabling it. To transfer control of the robot back to the remote controller, the microprocessor activated a control relay which temporarily shorted out the BASIC Stamp reset. This reset the program and the process.

Integrating the Technologies Once the students had the knowledge base and more advanced technologies had been explored, the next step was to integrate the research into one working system. Many code adaptations were necessary to allow all of the systems to function together. Our team’s task was to develop a semi-autonomous system to allow an operator drive an unknown course and engage an automatic mode that searches for an object and then picks it up. This process was automated to allow the pick up to be done quicker and more reliably then if it were done through manual control. We will now go through an overview of the logic algorithm which was formed to develop the code for the automated portion of the robots control.

Complete Algorithm Start Automation Open/Close Shell Object Search Grab Object

Starting the Automation Process SEROUT 1,84,[CR,"Press 1 to start the Automation process",CR] SERIN 0,84,[DEC1 CmdData] BRANCH CmdData,[Open_Shell] GOTO Main “SEROUT” puts a display on the computer screen prompt and “SERIN” waits for the user to give a response. A zero on the keyboard starts the automation process by directing the program to an open shell subroutine. No input re-loops the code until an input is given. START Check Bluetooth Input for Start Signal Is the Automation Procces Started? Yes No Start Automation To: Open the Shell

Complete Algorithm Start Automation Open/Close Shell Object Search Grab Object

Opening/Closing the Shell Open_Shell: IF IN4 = 0 THEN Manipulator PULSOUT Motor,870 PAUSE 20 GOTO Open_Shell This is a loop to open the shell. Once inside, the program will remain in the loop until a limit switch indicating “fully open” is depressed. That limit corresponds to “IN4 = 0” and the “THEN” goes to code to open the manipulator. If the limit switch is not depressed, the program will continue to run through the loop pulsing out to “Motor” which controls the speed controller for the hinge motor. This is the exact same process for closing the shell, except you pulse out to the speed controller in the opposite direction.

Complete Algorithm Start Automation Open/Close Shell Object Search Grab Object

Opening the Manipulator The code to open the manipulator is simply a set number of passes through a loop. (Notice, no feedback.) Each time through the loop, a pulse is sent to two servos on both sides of the manipulator to open the two doors. The program then proceeds to a search pattern. This is a left, then right zigzag pattern, checking the sensors for an object 8 times each cycle. Manipulator: FOR a = 1 TO 10 PULSOUT Servo1, Backwards PULSOUT Servo2, Fwd PAUSE 20 NEXT

Each time through the search, the cycle yields four pulses to the left and four to the right. This is done by always pulsing to “Motor2”, which is a drive motor speed controller. The zigzag motion is accomplished by pulsing out forward or reverse to “Pin 10”, which is the steering servo. You can also again see a “SEROUT” which gives a prompt indicating the status of the search. The “GOSUB” is a subroutine to check the sensors for object detection each after each pulse. Search: FOR x = 1 TO 4 PULSOUT 10, 1000 PULSOUT Motor2, 815 SEROUT 1,84,[CR,"The SA-1 is Searching", CR] GOSUB sensor_check NEXT PAUSE 250 FOR x = 1 TO 4 PULSOUT 10, 500 PULSOUT Motor2, 815 SEROUT 1,84,[CR,"The SA-1 is Searching", CR] GOSUB sensor_check NEXT PAUSE 250 GOTO Search The Search Pattern

Checking the Sensors The “LOOKUP” Command checks the sensor at different frequencies (different sensitivities). “FREQOUT” sends and receives the signal through Pin 1 or IN1. “CountUp” records how many times the something is detected. sensor_check: CountUp = 0 tally = 0 FOR freqSelect = 0 TO 6 LOOKUP freqSelect,[37500,38000,38500,39000,39500,40000,40500], irFrequency FREQOUT 1,1, irFrequency IF IN1 = 0 THEN CountUp = (Countup + 1) NEXT IF (CountUp > 1 )THEN tally = (tally + 1) IF tally = 2 THEN found ***Bolded code is for detection using two sensors If the reliability is high enough (enough instances of detection are seen), the a variable “tally” is incremented. This code is for one sensor. Setting up another sensor the same way would have the same result. To align the mobile robot on the object, all sensors must detect something reliably. In this case two sensors must set the variable “tally” to two before continuing to the object “found” section of the code.

Object Found! Once the robot searches and finds the object, it must straighten its wheels before proceeding to pick the object up. This is done by pulsing a centering value to a servo a set number of times to overcome the resistance of the ground. Found: FOR x = 1 TO 8 PULSOUT Servo3, 750 PAUSE 300 NEXT

Complete Algorithm Start Automation Open/Close Shell Object Search Grab Object

Grabbing the Object Within the “MOVE” loop, the code pulses to the drive motor speed controller until the object is in the gripper. This is indicated by a depressed limit switch “IN3”. Notice again that “SEROUT” is used to prompt the user of the status of the robot. Once the object is in the gripper the two servos on both sides of the gripper close the doors by receiving a set number of pulses. MOVE: PULSOUT Motor2, 815 SEROUT 1,84,[CR,"The SA-1 is now in motion", CR] IF IN3 = 0 THEN SERVO_CLOSE PAUSE 20 GOTO MOVE SERVO_CLOSE: FOR b = 1 TO 5 PULSOUT Servo2, Fwd PULSOUT Servo1, Backwards PAUSE 20 NEXT

Complete Algorithm Start Automation Open/Close Shell Object Search Grab Object

What the Process Looks Like! The algorithm in motion! The operators view **Video taken at the 2005 National Robotics Challenge, Marion Ohio

Seems Simple? Developing this algorithm may seem easy or difficult to some, but there is more to creating a working Semi- Autonomous system. So far, we have acquired the necessary knowledge, developed key technologies, and integrated them by forming a logic algorithm for the autonomous mode. Even though everything works as bench tested, you still need to perform electromechanical integration to make all those components function together. SA-1 had two major electromechanical systems: Opening and closing the shell and grabbing the object.

Opening/Closing SA-1 A hinging action was used to open/close SA-1’s shell. This also lowered manipulator to ground level to allow the object to be grabbed. This hinging was performed by means of a motor and a screw. The chassis hinged at its center and its front end, which allowed it to fold up as it opened.

Opened Closed

Hinging Motor & Screw Function Lowered & raised the manipulator. Provided a mechanical advantage for lifting a load. Motor Screw Threaded Nut

Hinging Motor Wiring Diagram

Hinging Open Limit Switch (Mechanical Interface)

Open Previous Slide

Hinging Open Limit Switch (Mechanical interface)

Hinging Closed Limit Switch (Mechanical interface)

Closed Previous Slide

Hinging Closed Limit Switch (Mechanical interface)

Limit Switch Wiring Diagram Note - The wiring diagrams for all limit switches are the same except each is wired to a different input.

Gripping The Object SA-1 employed an encompassing gripper to grasp the object. A limit switch was used to indicate when the object was within the gripper’s grasp. The limit switch employed an active compliance system to reduce contact shock to the object.

Gripper Limit Switch (Mechanical interface)

Conclusions We discussed the need for robotic education and an overview of mobile robotics and control. The progression of research leads students from performing simple applications to developing complex algorithms, which can be used to automate portions of the robots function. Once an algorithm is developed, code can be written to perform the tasks within each section. Finally, electromechanical integration must take place to allow the code to control the mechanical components properly.

Thank You! Any Questions?

References Dunham, P. (2001). Robots provide automated soldering solution. Electronics Manufacture and Test. Accessed online (July, 2003): Harris, S. (2003). Stats for grant application. correspondence with Stephen Harris, President of Rixan Associates, Inc. Dayton, Ohio. Lindsay, A. (2004). Robotics with the Boe-Bot (VERSION 2.2). Parallax, Inc. Spencer, R., Ed. (2003). Robotic machine tending a mature application, but still has room to grow. Robotics World, 21(5). Accessed online (July, 2003): What’s a Microcontroller. (VERSION 1.9). (1999). Parallax, Inc.