Giter Site home page Giter Site logo

kuri_edu's People

Contributors

jhwarren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kuri_edu's Issues

Launch file test doesn't notice bad nodes

Need to reach into the launch files a little deeper. The unit tests that check the launch files will notice if you try to import another launch file that it can't find, but it won't notice if you have a mis-named node that it can't find.

Desired Outcome:

In test_kuri_edu_launch.py, improve the check_launch_file method to look at nodes too.

Move chest light control to its own node

In kuri EDU have a sample chest-light node which does the following:

Desired behavior

  • Changes color depending on the battery level (this is already done)
  • Plays a simple animation as an example of how chest light animations work

Possible future activities

  • Implement a different animation and have that different animation play when Kuri is charging #8

Create a different animation for 'charging'

Depends on #3

Desired Outcome

Using the default animation provided as an example, implement another animation that plays when Kuri is charging

  • May need to provide a power client in mobile_base driver python package
  • Suggest animate chest light filling up from bottom to top, but go nuts with this one

Instructions for catkin_workspace, overlay, etc.

All of the activities will follow the same basic layout where the work is done in a workspace that overlays /opt/gizmo or /opt/edu or whatever

We need to write up instructions that describe what a workspace is, how to create one, and how to run code from it.

Move kuri_edu safety controller to its own node

To simplify kuri edu package, safety controller should be its own node to make it easier for people to disable the default safety behavior and substitute their own

Desired Behavior

  • Listen on /cmd_vel for imput from the keyboard teleop node
  • Listen on the ?? /navigation/command/cmd_vel ?? topic for may_nav
  • Disable bump and cliff safety

Possible future activities (create a new issue to implement these)

  • Add a back up one inch reaction for bumps
  • Have kuri look down and left, down, or down and right depending on where the bump came from
  • Have the chest light flash when a bump happens

Provide missing dependencies

Run through the activities using a PROD image, document missing dependencies

Desired Outcome

  • Provide a list of dependencies missing from image
  • Provide instructions for how to install these deps (apt, pip, etc. . .)

Have kuri's head react to bumps

Depends on #2
Depends on #6 (to clear safety events automatically)

Desired Outcome

Provide a guide so that the user can implement a head reaction when Kuri bumps something. Suggest modifying the same node that handles other head motions - maybe not the safety controller node

  • Left bump should make kuri look down and to the left, then return to the old head position
  • Right bump should make kuri look down and to the right, then return to the old head position
  • Center bump should make kuri look down, then return to the old head position
  • There should be a time-based lock-out so kuri doesn't react every time. Suggest around 5 seconds

Kuri smiles when she sees a face

Depends on #2

Desired Outcome

The user plumbs the output of face detection to the head so that kuri smiles for a few seconds whenever she sees a face

  • There should probably be a time-based lock-out so the eyes don't flutter. Maybe around 5 seconds like the bump reaction? Possibly shorter, since it's harder to know for sure where Kuri is looking

Cap Touch activity?

Provide an activity that uses cap-touch to control the chest LED. This can be a stand-alone node/launch file so it doesn't conflict with the other nodes that attempt to control the chest light

Dependencies

  • May need to provide a client for cap-touch in mobile_base

Need to flesh out this activity a bit

  • Plumb the segments on the cap touch sensor to LEDs on the chest light
  • Provide an example with white light that activates when the sensor detects touch
  • Suggested activities for students:
    • Different color LEDs
    • LEDs that get brighter the longer you touch, and then get dimmer over time when touch goes away.

Set up CI for kuri_edu

Right now the tests for Kuri Edu run in the GBZ repo
We should be able to set up a public travis job

For now, it can use docker dev environment to pull latest GBZ (EDU GBZ?) to build
Later, we may have to put the final released compiled GBZ into a git LFS repo or another git repo to have this build without docker dev environment.

Exit Criteria

Create a 'safety reaction' activity

Depends on
#2

Desired Outcome

Provide enough guidance that a user can make the following modifications to the safety controller node:

  • When a bump occurs, twist messages from nav and keyboard teleop are stopped from going to the wheels
  • Kuri automatically backs up about one inch
  • After the safety conditions are cleared, teleop and nav messages are re-enabled

Possible test cases

  • Start kuri in a simulated empty world
  • Use the /sim_interface/kick service to trigger the bumper
  • Observe that kuri backs up
  • Observe that the safety statuses are cleared

Activity: Safety controller doesn't back up when on the dock

This one is pretty straightforward to implement. The interesting part would be adding ROS tests for it

Desired Outcome

  • Modify the safety controller so no back-up happens when Kuri is docked
  • Add to the existing safety controller ROS test to check the new behavior

Upstream Requirements:

  • Need to simulate docked/undocked in the gazebo simulation

What would I need to do to get a Kuri?

I've been following Mayfield for awhile and super sad to see the Kuri line get shutdown!

What would I have to do get a Kuri unit? I'm a passionate roboticist and this platform is awesome and I'd absolutely love to be able to develop on/with one.

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.