Git Product home page Git Product logo

seawolf's People

Contributors

akiyeng2 avatar aogaeru4 avatar bfisher1 avatar c2nes avatar dralley avatar johntp3 avatar jsalzbergedu avatar jshitchi avatar mbrown1413 avatar mejohn avatar mrwiggin avatar poidragon avatar rafaelesteller avatar rayounts avatar rdedward avatar seawolf-urc avatar smosh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

seawolf's Issues

Catch Ctrl+C on simulator

Catch the Ctrl+C signal so the simulator exits cleanly (currently keeps process running, must reboot or pkill to fix).

Switch over to OpenCV 'cv2' api

OpenCV3 is removing the old c 'cv' api entirely, and it has been deprecated for quite some time. Translate all code that is currently using the old c api to the new cv2 api.

Dependency on #20

Process Dashboard

Make GUI or other interface for better managing seawolf processes dynamically

Toggle Mission frame rate

Create ability to control fps of video streams in order to reduce heat problems.

Look for old SVR method to adjust fps or modify it to do so

Develop a framework for using opencv2

This includes creating a way to transition between opencv and opencv2 images and recreating image transformations for use on opencv2 images.

Resolved:
-- Converting between CV1 and CV2 image formats (Kurt, Ryan & Matthew)'
-- New syntax for image transformations (Ryan & Daniel)
-- Adaptive threshold issue (Daniel)

TODO:
-- ...
-- ...

Separate movement control (sw3) from navigation logic (mission_control)

This is up for debate, but mission_control should mostly be high-level logic regarding navigation. sw3 would be better off as a standalone module called 'movement' or something. I can refactor it in experimental branch if nobody has any objections.

Additionally, data.py is all IMU sensor data, it doesn't really belong in either.

Install Script

Create script that automatically downloads and installs everything

Integrate new computer

Run new computer with autonomous Seawolf and all peripherals hooked up

Then mount and power new computer

Incorporate LEDDAR into missions

Once the CANbus packet-dropping problem is solved, add data from leddar sensor into mission code (hopefully) better accuracy.

Gate Vision

Rewrite gate mission to use overhead beam, not side poles in detection. This should reduce the false positives when detecting the poles.

Frames sync with sensor data

Sensor data needs to be captured at the same time that frames are grabbed from the cameras. This was a problem in the 2011 competition with the path mission.

The solution is to send a message from vision to mission control whenever it grabs a frame. Mission control then grabs sensor values at that time.

Update Pitch PID

Pitch PID needs to be updated to use variable subscriptions, like the other PIDs. Right now it doesn't even use PID_pause, or reset the integral.

Replace SVR

SVR uses the old C api for OpenCV, which has been deprecated and is being removed from OpenCV 3. In order to remove all c api dependency, the needed parts of SVR should be recreated (likely in python).

Improving Gate Mission

Task

The new gate mission, gatesimp, in the newMissionBranch currently runs for a set time. Ideally the mission will wait to see the gate for a certain amount of time, if it does not see it, it will quit after that time. If it does see it, it runs until the gate is no longer seen, after that there is another short time the mission runs until it ends.

Running mission

Go to the seawolf/mission_control2 directory
do run.py
to change the missions being run modify the missions array.

Process

make new branch improveGate
make the new gateTimeState.py mission and make it work as described above.

yawpidpy

Figure out why yawpidpy isn't working

Details:

  • Regardless of whatever orientation the IMU is positioned in on the yaw plane, yawpidpy will only ever output .4 and -.4 for the port and starboard thrusters, respectively. This is totally independent of p, i, and d setpoints, as well as angle

Thrust Protection Code Test

Create test that changes thruster values very quickly. Values should switch between negative and positive polarities to make sure that the thrusters don't accidentally switch too fast.

Improvements for Gui

When the value is 0 the dials show 180. at 1 or -1 the dials are okay but at 0 it shows up as 180.

Also it might be better to place the gui folder directly in the applications directory and not in applications/src. The filename also doesn't need a date stamp since github can handle the revision number.

Combine acoustics and vision into a "localization" module

This would be a useful change for several reasons.

  • It would allow us to keep a persistant model of our surroundings and our place within them, which is a technique used by Cornell, Sonia, and UF.
  • All of the sensor data from cameras, acoustics, (leddar, DVL, sonar?) can be combined into one unified model of the environment and reduce the amount of crap that mission control has to deal with.
  • It would make implementing new sensors much easier, since they can just contribute more information into that model instead of trying to handle it separately

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.