Comments (9)
As in Semaphore, zero effort is expended to see if
- install script runs on a fresh install
- flake8 passes
- build works
- unit-tests and integration tests run
We should be able to do something similar in Gazebo. Being as painless as Semaphore is probably aiming too high, but minor improvements over @mattlangford 's current JobRunner implementation will save everybody days of test time.
from subjugator.
What I think this would look like:
- CLI like missions
# Internally runs/stops/restarts the appropriate mission as a subprocess
rosrun sub8_gazebo test test_gazebo
But I am just now trying to write a Gazebo job using @mattlangford 's script and finding it to be even easier than I thought
from subjugator.
So my idea was that the gazebo server would constantly be running the jub_runner, then people could start up missions anywhere on the network. That being said I'm sure it wouldn't be difficult to modify the script to be all in one and that would make it easier to use and would save dev time. The main thing my script would need is some identification over if the mission passed or failed (for bagging and statistics) which could be refactored by just returning information from the mission script.
from subjugator.
@mattlangford, what happened to the job_runner script? I am going to try to create a server on the gazebo machine to do 24/7 testing. Basically, there would be a web interface (or maybe just an SSH terminal interface if that takes too long) where jobs can be submitted, monitored, and controlled. A master queue would run the following in the specified order of priority:
- A specific set of tests required for every version of the master branch and pull requests (so we can compare the accuracy of each branch)
- Jobs submitted by individual users to be run a set number of times
- A series of tests that are to be cycled through when nothing else is being run
Basically, this will ensure there are no gaps in our software and provide us with cool statistics (@jpanikulam really wants a mileage ticker). Sound good? Any suggestions?
from subjugator.
It's in sub8_gazebo/diagnostics. I think a web interface would be cool.
We do have a mileage ticker in the gazebo controller.
from subjugator.
It might be easier to rosify the mission adding process and make an rqt plugin that lets you monitor mission status.
from subjugator.
A git-independent mileage counter would be a lot simpler to manage and fairly easy to set up. If I implement this, we should be able to send all kinds of statistics to be centrally tracked from any Gazeb session.
Rosifying the process might be easier, but it'd be difficult to get working remotely. Ros really likes to use all kinds of crazy ports, so I'd prefer to make something ros-independent to submit jobs. My assumption is that jobs created with job_runner are a single script, so an upload or reference to a committed script would be much cleaner.
from subjugator.
Ah, I see what you're saying remote would be cool.
Yeah you'd upload one or two scripts to run with it. Normally I'd have the mission script that would run on the sub then a mission running script that handles any errors or whatnot and checks for success or failure.
It could be one script though.
from subjugator.
Anthony might expand on this idea later on but this seems resolved.
from subjugator.
Related Issues (20)
- Thrusters...? HOT 1
- Kinematic Simulator HOT 1
- ROSify DVL???? HOT 1
- Fix barebones launch file for simulator
- MOTD for basic system check
- Clean up the Torpedo Challenge Code HOT 1
- Sever / Server typo
- Implement Adaptive Controller HOT 5
- Integrate mil_passive_sonar
- Use mil_pneumatic_actuator HOT 1
- Simulate/Fix kinemetics in gazebo
- Model SubjuGator using URDF
- High Level Archecticure Graph
- Kinematic Simulator HOT 1
- Use dynamics model in state estimation
- Basic Move Test
- SIMULATION: simulate state sensors
- SIMULATION: simulate individual thrusters
- HARDWARE: interface for new thruster board HOT 1
- Model SubjuGator's drag
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from subjugator.