Robotic Actions - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Robotic Actions

Description:

The purpose of this presentation will be to look at how you ... { myRobot = robot; mySonar = myRobot- findRangeDevice('sonar'); if (mySonar == NULL) deactivate ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 21
Provided by: ca9
Category:

less

Transcript and Presenter's Notes

Title: Robotic Actions


1
Robotic Actions
  • Peter Watt
  • BSc. Computing
  • 3rd November 2002

2
Introduction
  • The purpose of this presentation will be to look
    at how you can control the robot in order for it
    to carry out simple actions
  • Go Forward, Turn Left, Open Gripper
  • Actions can be linked, e.g. grasping an action
  • Raise Gripper Open Gripper Close Gripper
    Lower Gripper
  • Commands are controlled via a software interface
    such as ARIA or MIRO. For this presentation we
    will look at ARIA.

3
Topics to be Covered
  • This presentation will look at
  • ARIA an overview
  • Movement Commands using ARIA
  • Examples of Code
  • Gripper
  • Use of this in my project
  • Demonstration ?

4
What is ARIA?
  • What does it stand for?
  • ActivMedia Robotics Interface for Application
  • What is it?
  • An API (Application Programming Interface)
  • Usable under Win32, Linux
  • Object orientated application
  • Written in C
  • Provides a robust client-side interface to a
    variety of robotic systems
  • Included with every P-series robot
  • Open Source (distributed under GNU license)

5
ARIA cont.
  • What does it do?
  • Allows programmers to quick and easily develop
    and deploy code that offers close control over an
    ActivMedia Robot.
  • Dynamically controls velocity, heading, relative
    heading, and other navigation settings
  • Integrates user I/O bus, gripper, pan-tilt,
    bumpers, and other accessories
  • Handles low-level client-server interactions
  • Provides the foundation for higher level robotics
    applications such as Saphira
  • Compatible with both Festival and Sphinx

6
ARIA cont.
  • Communicates via a client/server relationship.
  • Uses either a serial connection (to talk to the
    robot) or a TCP/IP connection (to talk to a
    simulator
  • Typically, developers use ARIA's high level
    controls in "actions" (behaviours) to read
    sensors and drive the robot

7
Key Features of ARIA
  • Dynamically controls velocity, heading, relative
    heading, etc.
  • Integrates user I/O bus, gripper, pan-tilt,
    bumpers, and other accessories
  • Polls all range devices with a single function
  • Highly flexible
  • Cross platform (Linux and Win32)
  • Complete reference documentation
  • Built-in threading system intended for
    multithreaded applications
  • Built-in socket layer eases inter-program
    communication via network

8
Key Features of ARIA
  • Built-in actions for obstacle avoidance
  • Eases implementation of custom actions
  • Maintain sonar history and gain sonar readings in
    a region (box or polar)
  • Utility code eases tasks such as built in time
    class, a class of math operations, and a position
    class, all with many built in  functions for
    doing common operations 
  • Includes many examples illustrating ARIA features
    and applications
  • Designed to be a solid base for large-scale
    applications
  • High-quality professional code, designed before
    implementation

9
Structure

10
ArRobot class
  • This class is the heart of ARIA
  • Acts as a client-server communications gateway.
    It is the gathering point for many tasks such as
    actions or range-finding sensors.
  • Most important class
  • Examples of Methods
  • void ArRobotsetVel (double velocity) - sets the
    velocity of the robot
  • void move (double distance) - moves the distance
    indicated
  • double getVel (void) - gets the translational
    velocity of robot

11
ArAction class
  • ArAction and ArActionDesired are used to create
    actions as opposed to direct control using
    ArRobot.
  • ArAction is the base class used when defining an
    action.
  • ArActionDesired should be used when you want to
    get the robot to carry out specific instructions
  • class DriveTo public ArAction
  • public DriveTo(ArGripper gripper)
  • virtual DriveTo(void)
  • virtual ArActionDesired fire(ArActionDesired
    currentDesired)
  • virtual void setRobot(ArRobot robot)protected
  • ArActionDesired myDesired double startup

12
ArGripper class
  • Used to control the gripper on the robot.
  • Examples of Methods
  • bool ArGripper gripOpen (void) - opens the
    gripper
  • bool gripClose (void) - closes the gripper
  • bool liftUp (void) - raises the gripper to the
    top
  • bool liftDown (void) - lowers the gripper to the
    bottom

13
Examples of Code
  • include Aria.h
  • class ActionGo public ArAction //class
    ActionGo is a subclass of ArAction
  • ActionGo (double maxSpeed, double StopDistance)
    //constructor
  • virtual ActionGo(void) //destructor
  • //find out what the action wants
  • virtual ArActionDesired fire(ArActionDesired
    currentDesired)
  • //sets robot pointer
  • virtual void setRobot(ArRobot robot)
  • ArRangeDevice mySonar
  • ArActionDesired myDesired
  • double myMaxSpeed
  • double myStopDistance

14
Gripper close class
  • class GripperClose public ArAction
  • public
  • GripperClose(ArGripper gripper)
  • virtual GripperClose(void)
  • virtual ArActionDesired fire(ArActionDesired
    currentDesired)
  • virtual void setRobot(ArRobot robot)
  • protected
  • ArRangeDevice mySonar ArGripper myGripper
    ArActionDesired myDesired double gripper_state

15
Gripper close methods
  • GripperCloseGripperClose(ArGripper gripper)
  • ArAction("GripperClose", "Got Object close
    gripper")
  • mySonarNULL myGripper gripper
    gripper_state0
  • void GripperClosesetRobot(ArRobot robot)
  • myRobot robot mySonar myRobot-gtfindRangeD
    evice("sonar") if (mySonar NULL)
    deactivate()
  • ArActionDesired GripperClosefire(ArActionDesire
    d currentDesired) myDesired.reset()
  • if (mySonar NULL) deactivate()
    return NULL //Breakbeam in gripper activated
  • if (myGripper-gtgetBreakBeamState() !0)
    //Close gripper
  • myGripper-gtgripClose()
  • //Stop robot myDesired.setVel(0)
  • return myDesired

16
Gripper an Overview
  • Nose mounted 2-axis arm allows grippers to handle
    objects 1 to 21.5 cm wide
  • 2 degree-of-freedom gripper provides sturdy, low
    maintenance handling
  • Twin break beams between gripper paddles provide
    accurate positioning information
  • Bump sensors inside each gripper provide allow
    software pressure controls
  • Good response time of 3 seconds from fully open
    to fully closed position
  • Strong 5.5 lbs. (2.5kg) lift capacity
  • Vertical 4-in (9cm) rise allow object to be
    raised high or just above the floor to avoid
    blocking robot sonar
  • Integrated in P2OS and Saphira software
  • Compatible with Pioneer PTZ Camera Systems and
    other Pioneer accessories except for Front
    Bumpers.

17
My Project
  • How does this tie in with my project?

18
Project
  • Project is based on associating language terms
    with sensors in order for the robot to carry out
    the appropriate action when asked to
  • Once program is complete for robots movements,
    will record readings from the robots sensors
    while it is carrying out these actions.
  • Devise a representation of these actions in order
    that they can be linked with language terms

19
Conclusion
  • This has been a brief overview of how to use ARIA
    to get the robot to carry out simple actions
  • If you want to learn more, there are manuals or
    you look at the websites below
  • ARIA is available on the Linux machines on the
    Terraces
  • For more info, look at
  • http//www.activrobots.com and
  • http//robots.activmedia.com

20
Questions?
Write a Comment
User Comments (0)
About PowerShow.com