ncsurobotics / seawolf Goto Github PK
View Code? Open in Web Editor NEWSeawolf Software Platform
Home Page: http://www.ncsurobotics.com/
Seawolf Software Platform
Home Page: http://www.ncsurobotics.com/
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.
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).
Max install of wxPython is 2.8 for now. Debian Jessie repos only contain 3.0. Upgrade application manager eventually.
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
Wrote hedgeR to identify the new hedge. Currently have filters that semi accurately separate the green and red onto different frames.
Complete:
-- Bins
TODO:
-- update hedge
-- update gate
-- ...
Make the robot do an aileron roll.
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:
-- ...
-- ...
Backup all files on robot
Make GUI or other interface for better managing seawolf processes dynamically
Once the CANbus packet-dropping problem is solved, add data from leddar sensor into mission code (hopefully) better accuracy.
Write code to cause settable delay when reversing direction of thruster.
When running missions, the cameras are always in the wrong order for the simulator.
Eventually, reimplement Haar Training so the robot recognizes the LED buoys
add auto record option for missions using svr
Rewrite gate mission to use overhead beam, not side poles in detection. This should reduce the false positives when detecting the poles.
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.
Go to the seawolf/mission_control2 directory
do run.py
to change the missions being run modify the missions array.
make new branch improveGate
make the new gateTimeState.py mission and make it work as described above.
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.
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.
Download all recorded videos off robot
Catch the Ctrl+C signal so the simulator exits cleanly (currently keeps process running, must reboot or pkill to fix).
With the brand-new robot, this is a good time to rewrite the missions. Also, most of them are at least a couple years old.
https://github.com/ncsurobotics/seawolf5/issues/new#
This would be a useful change for several reasons.
Verify Buoys Mission is working
Figure out why yawpidpy isn't working
Details:
Verify path mission is working
When trying to use the application runner gui, I get the following warning
Gtk-Message: Failed to load module "canberra-gtk-module"
Everything works, but I don't think this warning should be there.
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.
Basic movement/PID testing, especially strafing.
Amongst the 2 Cameras, IMU, and Seawolf, do we have a 5th USB port that can be used for acoustics?
Run new computer with autonomous Seawolf and all peripherals hooked up
Then mount and power new computer
Integrate acoustics into mission code
Create script that automatically downloads and installs everything
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
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.