Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results

Description:

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

Number of Views:163
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results


1
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

2
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).

www.rixan.com
3
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 todays smaller and midsize companies
    increasingly necessary and feasible.
  • According to Peter Cavallo, head of U.S. sales
    for Denso Robotics, its well within the means
    of any size company to use robots. Its no longer
    just the realm of large or dollar-intensive
    companies (Spencer, 2003).

4
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

5
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.

http//robotics.jpl.nasa.gov/tasks/tmr/picts/Stair
Photo.jpg
6
Progression of Semi-Autonomous Research
  • Students began with general Basic Stamp II
    tutorial books which included programs to run
    servo motors and various sensors.
  • Whats 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.

7
SA-1s 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.

8
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).

9
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
10
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.
  • 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.

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.

11
Tele-Operated to Autonomous Control
  • SA-1s 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.

12
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 teams 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.

13
Complete Algorithm
14
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.

15
Complete Algorithm
16
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.

17
Complete Algorithm
Grab Object
Start Automation
Object Search
Open/Close Shell
Open/Close Shell
18
Opening the Manipulator
  • Manipulator
  • FOR a 1 TO 10
  • PULSOUT Servo1, Backwards
  • PULSOUT Servo2, Fwd
  • PAUSE 20
  • NEXT
  • 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.

19
The Search Pattern
  • 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

20
Checking the Sensors
  • sensor_check
  • CountUp 0
  • tally 0
  • FOR freqSelect 0 TO 6
  • LOOKUP freqSelect,37500,38000,38500,39000,3950
    0,40000,40500, irFrequency
  • FREQOUT 1,1, irFrequency
  • IF IN1 0 THEN CountUp (Countup 1)
  • NEXT
  • IF (CountUp gt 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.
  • 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.

21
Object Found!
  • Found
  • FOR x 1 TO 8
  • PULSOUT Servo3, 750
  • PAUSE 300
  • NEXT
  • 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.

22
Complete Algorithm
Grab Object
Start Automation
Object Search
Open/Close Shell
Open/Close Shell
23
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

24
Complete Algorithm
Grab Object
Start Automation
Object Search
Open/Close Shell
Open/Close Shell
25
What the Process Looks Like!
  • The algorithm
  • in motion!

The operators view
Video taken at the 2005 National Robotics
Challenge, Marion Ohio
26
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.

27
Opening/Closing SA-1
  • A hinging action was used to open/close SA-1s
    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.

28
Opened
Closed
29
Hinging Motor Screw
  • Function
  • Lowered raised the manipulator.
  • Provided a mechanical advantage for lifting a
    load.

Motor Screw Threaded Nut
30
Hinging Motor Wiring Diagram
31
Hinging Open Limit Switch(Mechanical Interface)
32
Open
33
Hinging Open Limit Switch(Mechanical interface)
34
Hinging Closed Limit Switch(Mechanical interface)
35
Closed
36
Hinging Closed Limit Switch(Mechanical interface)
37
Limit Switch Wiring Diagram
Note - The wiring diagrams for all limit switches
are the same except each is wired to a different
input.
38
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 grippers grasp.
  • The limit switch employed an active compliance
    system to reduce contact shock to the object.

39
Gripper Limit Switch(Mechanical interface)
40
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.

41
Thank You!
  • Any Questions?

42
References
  • Dunham, P. (2001). Robots provide automated
    soldering solution. Electronics Manufacture and
    Test. Accessed online (July, 2003)
    http//www.emtmagazine.co.uk/
  • Harris, S. (2003). Stats for grant application.
    Email 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) http//www.roboticsworld.com/featur
    es.asp
  • Whats a Microcontroller. (VERSION 1.9). (1999).
    Parallax, Inc.
Write a Comment
User Comments (0)
About PowerShow.com