StateSpace Control and Python Bindings for the Amphibious AQUA robot - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

StateSpace Control and Python Bindings for the Amphibious AQUA robot

Description:

... access to all of the robot's outputs (inertial measurement units (IMUs), cameras, ... Provide GPS to the robot. Add precision to the path generator ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 18
Provided by: gabrielc2
Category:

less

Transcript and Presenter's Notes

Title: StateSpace Control and Python Bindings for the Amphibious AQUA robot


1
State-Space Control and Python Bindings for the
Amphibious AQUA robot
  • by
  • Gabriel Charette
  • supervised by Gregory Dudek

2
Outline
  • Problem description, goal, motivation
  • Control system infrastructure
  • State-space control, a new concept
  • Experiments
  • Future work
  • Conclusion

3
Problem Description
  • Complex Application Programming Interface(API)
    needed to control the robot
  • Hard to add new features to the API without prior
    knowledge
  • API depends on a lot of external libraries

4
Goal
  • Wrap the current API
  • Provide access to all of the robot's control
    functions (roll, pitch, yaw, ...)
  • Provide access to all of the robot's outputs
    (inertial measurement units (IMUs), cameras, ...)

5
Motivation
  • Provide ability to write scripts controlling the
    robot at a high abstraction level
  • Provide ability to add to the current system
    without modifying it
  • Provide a user-friendly system to control the
    robot and receive feedback from it.

6
Related Work
  • SWIG, C to Python Wrapper, www.swig.org
  • Mobile Robotics Lab
  • A Vision-based Control and Interaction Framework
    for a Legged Underwater Robot
  • Junaed Sattar and Gregory Dudek
  • Proceedings of the Sixth Canadian Conference on
    Robot Vision (CRV), May 2009, Kelowna, BC,
    Canada, pages 329-336
  • Aqua An Amphibious Autonomous Robot
  • Gregory Dudek, Philippe Giguere, Chris Prahacs,
    Shane Saunderson, Junaed Sattar, and Luz-Abril
    Torres-Mendez, McGill University, Michael Jenkin,
    Andrew German, Andrew Hogue, Arlene Ripsman, and
    Jim Zacher, York University, Evangelos Milios,
    Hui Liu , and Pifu Zhang, Dalhousie University,
    Martin Buehler, Boston Dynamics, Christina
    Georgiades, MathWorks.
  • A Visual Language for Robot Control and
    Programming A Human-Interface Study
  • Gregory Dudek, Junaed Sattar, Anqie Xu

7
Choosing a language why Python?
  • Very modern high-level programming language
  • No need for compilation (easy to quick fix small
    bugs in the field)
  • Highly-portable
  • Different operating systems
  • Two operating systems on board

8
Control System Infrastructure
System Independent Interface
Any Offboard Script Python
Any Script Python
PathGenerator Python
robocontrol module Python module
PathGenerator GUI Python
RoboControl Server Python
robomodule visionmodule C wrapper Python
module
robochat_module Human-Robot Control Interface C
wrapper Python module
VisionSandBox C
RoboDevel C
Robot Machine
Offboard
Onboard
9
Path Generator
10
State-Space Programming
  • A new programming paradigm!
  • Code executed based on state and position in
    space rather than following the regular flow
  • Global vs local script

11
State-Space Control
  • Allows for important tests to be made before
    continuing with path
  • Allows to load a new path on a given state-space
    event
  • Allows for manipulation of control components
    such as speed depending on situation faced at a
    particular node

12
Python Robot Control Live
  • Successfully controlled AQUA using python ONLY!
  • Robot controlled from python prompt using
    robomodule directly
  • Robot controlled from internet using TCP
    communication with robocontrol_server through the
    robocontrol python module

13
State-Space Control - Experiment
  • On end of path, take left or right depending on
    power status
  • Proof of concept
  • Tested live in water

14
Live Test - Video
15
Future Work
  • Add more functionality to the different modules
    used by the robocontrol server
  • Immediately benefits the top layer
  • Provide GPS to the robot
  • Add precision to the path generator
  • Allow for state-space control anywhere
  • Implement this control system in other robots
  • Easy as top layer is only python dependent!

16
Conclusion
  • Built a new user-friendly API to control AQUA
  • Highly flexible and portable system
  • New programming paradigm state-space control
  • All validated both in laboratory and on field!

17
Some code comparison!
In VisionSandbox or RoboDevel??
State-Space Control Path Code
  • It would take at least 100 lines of code to do
    this in VisionSandbox
  • It would be incredibly painful to do this in
    RoboDevel
  • global i
  • takePicture("Pictures/picd.jpg" (i))
  • ii1
  • -!!-
  • -2.82,3.28,0
  • -!!-
  • 2.72,3.06,0
  • -!!-
  • -2.76,-2.66,0
  • -!!-
  • 2.94,-3.12,0
  • -!!-
  • 0.04,-0.04,0
  • -!!-
  • Note This is generated by GUI too!!
Write a Comment
User Comments (0)
About PowerShow.com