Giter Club home page Giter Club logo

assistance_arbitration's Issues

Update README on how to run the task_executor

Just some quick notes on:

  • Motivation
    • When running a task through smach, there needs to be a separate watcher thread that monitors the execution and cancels if a preempt is requested. This is perhaps a better way of achieving that without the pains of multithreading
    • This method should allow for easy dynamic linking of actions
  • Prerequisites
    • psutil
    • pydub
    • hlpr_speech
  • The commands to run the executor
  • What actions are and how a task plan, and its components, can be specified.

Belief node

Need a belief node that keeps track of RobotState beyond just the breakers. I don't know what should go into this belief state yet though.

Lookat person

Background action with enable/disable toggles to look at a chosen person. If no chosen person provided, then at "a" closest person.

Use msg_utils functions and constants for dealing with message files

The method of handling the context dictionaries has gotten out-of-hand. We should consistently use the msg_utils functions and the constants in assistance_msgs when dealing with the context dictionary so that there is more control and a better API for handling the information in those crucial dictionaries

Additional speech capabilities to the DialogueManager

Specifically, create capabilities to help with debugging the cause of the error:

  • Most likely cause of error
  • What else might've failed
  • Explanation based on beliefs of what's going on right now
  • Ask for safety checks from the human before performing any movement

Spec for background actions and tasks that can be enabled/disabled

We need a common way to handle background tasks and actions that can be enabled or disabled. Some considerations for these:

  1. Specification
    • All tasks have an enabled boolean flag
    • ???
  2. Mutex conditions for different background and foreground tasks running at the same time.
  3. What should happen if a background task errors out?

Create a CLI action runner

Need a CLI action runner so that we can debug individual actions if they fail. Also, easier to reset the robot that way

Improve Navigation

  • Navigation code right now gets stuck on the carpet.
  • The robot is a bit "finicky" when it comes to moving near or away from the table
  • Rotating away from the table with the arm in stow still causes problems - update stow.

Local recovery strategy needs a mix of autonomous and compliant behaviour

Based on improvements to the dialogue management, the local recovery strategy needs to implement some autonomous behaviours. Potential ideas:

  • Follow Me
  • Look here
  • Open Gripper
  • Close Gripper
  • Move gripper here

Related: Ask for safety checks from the human before moving

(Especially important because re-enabling the gripper breaker automatically opens the gripper back up)

Convert EmotionML tags into SSML

Update the EmotionML markup on speech to SSML. As part of that process, we need to figure out how to emulate the different EmotionML affect classes in SSML.

Lookat gripper

Background action with an enable/disable toggle to look at the gripper

Unit tests and integration tests

I need unit tests and integration tests so that I don't accidentally break old functionality.

Make sure to include a travis build when the tests are complete

Improve the ROS Graph update logic

The ROS graph that is currently generated has too many connections and is in many ways very hard to parse. Need to make it more useful (should the need arise)

Update the database lookup in a task to be global

The database lookups in arm, move, look, etc. should instead happen when the task/action params are being parsed. That way, there will be a consistent referencing scheme for all database objects.

Better look behaviour for creating an octomap and costmap

Create and clear the octomap and costmap with better look behaviour.

Costmap:

  • If there is a collision with the robot, scan the collision area again to clear the costmap

Octomap:

  • Ensure that the region all around the arm's workspace is free before planning

With the velodyne, all of this might be moot anyway

Idle Behaviours Task or Action

Create an idle behaviours task or action. Basically pull out the idle code from the dialogue manager and put it into an action or task that can be enabled or disabled.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.