Hello MRL'ians and InMoov Nation.
This is a request for help.
One of the great things I like about software is its ability to change and evolve quickly. I feel MRL has evolved relatively quickly - from its humble beginnings controlling a couple servos to its current capabilities (Kinect, Point Clouds, Voice, Networked InMoovs, Plantoids, WebGUI etc)
One thing I have noticed in my experiences creating software is the importants of tests.
Tests are fundenmental in rapid and robust software growth.
As software complexity grows so does the need for tests. We (especially I ) can not keep track of how each part works or interacts with other parts. Without something carefully monitoring how things work every release we run the risk of NO WORKY ... or worse .. magic blue smoke :(
The more tests which are run on different systems the less chance we will be surprised by magic blue smoke.
A simple test. Testing cause and effect in software can be very easy.
Here is an example.
t = 1 + 1
if t equals 2 then PASS else FAIL
But testing robotic software presents far more challenges. If we tell a servo to move to position 90 how do we know it "really" will?
Now some of us have more complex systems. Various InMoov projects in stages of development, pan-tilt kits, other exotic robots, even SBC Udoo an Odroids connected to webcams. So what if all this hardware was organized in such that it constantly tested itsellf all the time? Travis-CI is a system which does this - although it does not solve the "robotic" challenge. What if MRL could do this? It would leave me with more time to develop (Yay!) :D
Additionally, there are at least 2 simulators which will become available to MRL. I believe these will add a lot of testing potential. Testing virtual hardware has benefits too.
Just a heads up to all MRL'ians that I've started a test framework, and would be glad to have others involved in this project.
Cheers,
GroG
P.S. TO MORE WORKY!
Hi Grog, I remember we
Hi Grog,
I remember we mentionned having my InMoov connected at all time for you to run various tests.
If I haven't set that up, it is not because I don't want to, it's just by lack of time and computers. Hopefully when the Odroid U3 will be the onboard computer for InMoov, we should be able to get that done.
Anyway, when you have stuff you want to test on InMoov or other components I might have around, let me know, and I will try my possible to do it as soon as I can.
Cheers,
Gaël
I'll help out where I can.
I'll help out where I can. Let me know what I can do.