Here is a list of the current services in MRL so we can figure out what to QA.
Links :
- Snapshot MyRobotLab - http://mrl-bucket-01.s3.amazonaws.com/myrobotlab.jar
- Snapshot Report - http://mrl-bucket-01.s3.amazonaws.com/report/junit-noframes.html
- Code Coverage Test Report - http://mrl-bucket-01.s3.amazonaws.com/report/jacoco/index.html
- Current Test Matrix https://docs.google.com/spreadsheets/d/1G0OCsPs4aN22A9NgsluxxMMj-F2N66fZGK8Hu3WmYKs/edit?usp=sharing
- Live Online WebGUI Demo - http://54.86.42.217:8888/#/main
Supported Services should have the following check boxes
- A service page to document the service
- An example python script that is known worky
- At least 1 platform that is supported
- Javadocs should have reasonable details
- A minimal unit test (This may be too difficult to do)
Supported Operating Systems for MRL should be
- Windows 7/8 64 bit / 32 bit (some windows tablets are apperantly 32 bit?!)
- Linux 64bit ? (which flavors?)
- Mac OSx
- Others? arm6 / arm7 variants of linux? 32 bit linux?
Priorities
-
Scripts to get Workyhttps://github.com/MyRobotLab/
pyrobotlab/blob/master/home/ hairygael/InMoov2.full3. byGael.Langevin.1.py
https://github.com/MyRobotLab/pyrobotlab/blob/master/toSort/ InMoov2.minimal.py
https://github.com/MyRobotLab/pyrobotlab/blob/master/home/ hairygael/InMoov2.minimalArm. py
Checklist:
-to get the voice commands using i01.getName() to work.
-to get the voice commands using i01.xxxxxx() to work as well.
-there might be more problems, but I haven't investigated more, because without the two above it is difficult to do anything with InMoov.
- purge repo button
- Capability to save service settings - e.g. last Arduino board type.
- A single worky script in each Service Page.
-
Master & Develop - complete seperation for releases & runtime - including repo
There are some hurtles to this as the url in some of the repo ivy files are self referential - additionally we or I need to know the details of how to do a develop to master release - the steps need to be well define - do I rename the current master ? delete all the contents? something else ? Merge to release ? what is the merge process ? - Speech - the current Speech service needs to turn into a interface service with peers - each peer can be an implementation of Speech service methods - MarySpeech should be the default. The current google implementation should be pushed into a GoogleSpeech service (which doesnt work - and possibly should be sent to the attic) (THIS RELEASE)
-
AI - should be done in a similar way - one AI Service - default implementation is ProgramAB - another Implementation would be the CleverBot service (wraps https://github.com/pierredavidbelanger/chatter-bot-api ) - which appears very much alive
(NEXT RELEASE) - Vision - same as above OpenCV default - BoofCV & Openimaj (seriously start looking at these other two) (NEXT RELEASE)
Service Name | Service Page | Needed for Release | Supported Operating Systems | Notes |
---|---|---|---|---|
_TemplateService | No | No | ? | Example for programming a new service only. |
Adafruit16CServoDriver | Yes | No | ? | ? |
AdafruitMotorShield | Yes | No | ? | ? |
Agent | No | Yes | All |
Needs work. This is supposed to manage the command line - and build a new process depending on operating system. Potentially MRL will have 2+ processes Got to avoid zombies and make sure the cli service reads stdin properly in cygwin.. |
AndroidSpeechRecognition | No | No | ? | ? |
Arduino | Yes | Yes | ? | Since the JSSC switch from RXTXLib I think I am seeing some problems in the read - the data looks erratic |
Arm | No | No | ? | Woah.. where did this service come from? maybe merge with IK3D ? |
AudioCapture | Yes | Yes | All | Needs to be merged with AudioFile into new Audio service which treats Audio data more generically. |
AudioFile | Yes | Yes | All | Needs to be merged with AudioCapture into more generic Audio service. |
|
|
|
|
|
BeagleBoardBlack | Yes | Yes | ? | I think people use this? |
Blender | Yes | Yes |
All Which Blender Supports |
should be tested for release with example to talk to vInMoov (not sure about the actual blender files? Maybe Gareth doesn't mind if we check them in?) |
|
|
|
|
|
ChessGame | Yes | Yes | ? | Pure Java - used for the robotic chess boards |
ChessGameManager | No | No | ? | Enhancement for multi-user use of chess board |
|
|
|
|
|
CleverBot | Yes | No | ? | Mr. Turing |
CLI | No | Yes | All | Need to fix reading stdin. Needs much better documentation... |
Clock | Yes | Yes | All | A clock service that can be started and stopped. |
|
|
|
|
|
Cron | Yes | Yes | All |
This does work - it is pure Java, pretty sure I use this for my sprinklers ;) |
|
|
|
|
|
EddieControlBoard | No | Yes | ? | Harland uses this - would be nice to get him to test it - hard to coordinate, but Harland seemed open to maybe auto testing on his platform. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MEH - not an open source service - move to Attic |
GPS | Yes | No | ? | ? - kmgerald wrote this one - I think it sort of works - pure Java |
|
|
|
|
|
GUIService | Yes | Yes | All | Like it or not, a lot of people still probably want the swing gui. |
GoogleSpeech | No | No | All | Speech back-end provider |
|
|
|
|
|
|
|
|
|
|
HtmlFilter | No | Yes | All | Required by program ab to filter text to speech. |
HTTPClient | No | No | ? |
A client as a service? Semantically that's a bit odd. - Ya your right.. I really wanted something to parse HTML - so a JSoup wrapper would be better. Let integrate "Apache Tika" for handling basic text extraction and html parsing. JSoup is cool, but i think Tika does 80% or more of what we want for that. (Having a web crawler service would be cool..but i digress...) |
Incubator | No | Yes | ? |
Need some clean up - but this could provide integration and more auto-testing more auto testy is good. lets see if end users can make use of it. |
InMoov | Yes | Yes | ... | We should pick which platforms are supported here. |
InMoovArm | Yes | Yes | ? | yes |
InMoovGestureCreator | Yes | Yes | ? | I think people like this service ,maybe MaVo can help test and validate. |
InMoovHand | Yes | Yes | ? | yes |
InMoovHead | Yes | Yes | ? | yes |
InMoovTorso | Yes | Yes | ? | yes |
InverseKinematics | Yes | Yes | ? |
Maybe merge with 3d service? merge services before release |
InverseKinematics3D | No | Merge | All |
Maybe merge with the 2d IK service? |
IPCamera | Yes | Yes | ? | looks like there's some code here. Is this to stream video from an IP camera? Maybe replace this with just OpenCV ? |
JFugue | Yes | No | ? |
Clever Sound Synthesis & Music generator. Would love to get this in, but we'll have to reconsider how we handle audio streams in MRL to do it properly. I.E. pipe from AudioFile to JFugue ... |
Joystick | Yes | Yes | ? |
Needs work .. turns out ids are not very standard - yes to refactor.. but we'll need to make sure we update example scripts to show the changes. |
Keyboard | Yes | Yes | All |
? Useful service - funny but Joystick has "more" keyboard capability but Joystick also JNI dependencies - Should keep it - its pure Java so could be low maintenance
Needs WebGUI component |
LeapMotion2 | Yes | Yes | Win64 ? | It's too fun and I want to make sure this is worky. Plus it gives x,y,z coordinates that we can use to test IK3D ! |
LIDAR | No | No | ? | Heh .. I wish I could test - Don't have the hardware. If someone has hardware to test, we'll bring it back in. |
Log | No | No | ? | record & playback of messages ? sounds pretty good, but looks like it's still lacking a lot of functionality. |
Maestro | Yes | No | ? | Looks like a servo control shield for the Arduino? not sure looks kinda sparse |
|
|
|
|
|
No | Yes | ? |
e.t. phone home... lets see if we can get a simple "send an email" service support. support some sort of a sensor event for example.. this is good stuff. |
|
MarySpeech | No | Yes | All | Pure java, should be able to replace |
Motor | Yes | Yes |
All Depends on a MotorController |
I suspect people want this also. |
MouthControl | Yes | Yes | All | Part of inmoov , is it not? |
MPU6050 | No | No | ? | looks light on code and documentation.. maybe it's worky? if someone can test it, we can include it. |
MQTT | No | Yes | ? | Play nice with the coming IoT protocols. lots of code here already, lets spec what we want it to do. |
MultiWii | Yes | Yes | ? | overlaps with joystick a bit, but if it's worky lets pull it forward. |
MyoThalmic | No | Yes |
Win64, Lin64, OSx ? |
Not sure what platforms this is worky on. |
OculusDIY | No | Yes | ? | Ale, is the only one using this currently ? |
OculusRift | Yes | Yes | Win64 | DK1 support definitely should work. DK2 isn't worky yet. |
OpenNI | Yes | Yes |
Win64, Linux64, Mac |
Kinect should work on at minimum those 3 platforms. |
|
|
No |
|
|
PICAXE | No | ? | There's a bunch of code here.. maybe it does something? | |
PickToLight | No | No | ? | I suspect thi is a legacy sort of service. |
PID | Yes | Yes | All | This is pure java I think, so shouldn't be an issue. - needs to switch & delete with PID2 |
PID2 | Yes | Yes | All |
I think this is pure java. Maybe consolidate with PID ? Ya Remove PID - consoludate the services which use multiple PIDS (like Tracking) - to use a single PID2 service |
Pingdar | No | Yes | ? |
Seventeen *days?* Hey man, I don't wanna rain on your parade, but we're not gonna last seventeen *hours!* Those things are gonna come in here just like they did before. And they're gonna come in here... If this is worky, lets document and support. |
Plantoid | Yes | Yes | ? | DHUltis project - need auto testing from him :) we should continue to support robots that need creative control. maybe we can ask him to test & help clean up documentation. |
ProgramAB | Yes | Yes | All | Pure java, we should publish an MRL AIML set. Documentation needs some updating. |
Proxy | Yes | Yes | ? | Nothing uses this? |
Python | Yes | Yes | All |
Definitely required When is the NodeJS coming ? ;) |
uir | Yes | ? |
P4J wrapper - very platform dependent - makes testing complicated (Is this the same service as python ?) |
|
RecorderPlayer | No | Yes | ? | Does this work in conjunction with the log service? I do like auto playback of messages. |
Red5 | No | No | ? | attic |
RemoteAdapter | Yes | Yes | All | Swarm MRL for all! |
RobotPlatform | No | Yes | ? |
Generalized differential drive platform - could be very useful - needs work elves love work. |
Roomba | Yes | Yes | ? | If someone can test.. there's a zombie roomba in my basement.. maybe i can find a way to communicate. |
ROS | No | No | ? | ? What is ROS ? |
Runtime | Yes | Yes | All | Should be rock solid! |
Sabertooth | Yes | Yes | ? | GroG needs to Test This !!!. |
Security | No | No | ? |
Good Security service .. capable if configured to do message/method level security I think Can also provide Simple Auth - needs interface with the WebGUI security is a big topic.. the web gui should have some basic auth support.. but i'm surprised that wouldn't be a netty level config or something like that. |
SensorMonitor | Yes | Yes | ? | There's some code here, not sure what it does or how to test, but if it's worky lets keep it. |
Serial | Yes | Yes | used by arduino.. so fundamental to have serial port support. support varies from platform to platform. | |
Servo | Yes | Yes | All | Needs testing in WebUI !!! Additionally Serial has recently switched from RXTXLib to JSCC - more testing |
ServoOrchestrator | No | No | ? | MaVo ? This looks pretty specific for a certain implemenation. There is a lot of code here though. |
Shoutbox | No | Yes | ? | Never shall we break the shoutbox! |
SLAM | No | No | ? | Either slam or slambad was semi-worky? lets pick one. |
SLAMBad | Yes | Yes | ? | at least check what state it's in. |
|
|
|
|
|
Solr | Yes | Yes | All | Pure java service, just a client that can query to Solr. |
Speech | Yes | Yes | ? |
Google speech is no worky. Consider MarySpeech instead. create interface. update inmoov to use maryspeech instead. |
Sphinx | Yes | Yes | ? | Should be upgraded to some better technology. Maybe we do something different with the Chrome webspeech toolkit |
Sprinkler | No | Yes | ? | Grog's house shall be watered! but maybe we make it more generic so others can water their plants too? |
Stepper | Yes | Yes | ? | I expect people want/use this one. |
Sweety | No | Yes | ? | creative robots need creative control. |
TesseractOCR | Yes | Yes | ? | requires native code, but this would be nice to support and reasonable easy to test. |
Test | No | No | ? | Seem like test services that maybe should not be part of the supported release |
TestCatcher | No | Yes | ? |
Is critical part of current testing |
TestThrower | No | Yes | ? |
Is critical part of current testing |
TextTransform | No | Yes | All | pure java, should document it if we want it in the release. |
ThingSpeak | Yes | Yes | ? | review documentation and test if it's worky. |
topCodes | Yes | Yes | ? | Is this part of OpenCV ? if so, merge this as an open cv filter. |
Tracking | Yes | Yes |
Pure Java but Depends On OpenCV |
nice service will be very interesting to test. |
|
|
No |
|
|
Yes | Yes | All | We should test this, it'd be nice for the build to tweet that a new release is ready, but probably not necessary. | |
UltrasonicSensor | Yes | Yes | ? | If someone has one, they can test for us. |
VideoStreamer | Yes | Yes | ? | I suspect OpenCV angluar gui will need this? maybe wrong...If not. maybe this is attic? |
OpenCV | Yes | Yes | Win64, Linux64, Mac OSX | Should make sure this is worky. Consider Ras PI / PI2 ? |
VirtualDevice | No | Yes | ? | virtual serial port? needed by blender service I think? good for auto testy. |
WebGUI | Yes | All |
New Angluar GUI! we'll worry about each service supporting it separately from this. Ya alot of work ! .... High Priority would be Servo |
|
|
No |
|
||
Wii | Yes | Wii controller as a sensor / maybe this could implement roll/pitch/yaw ? similar to myo band and leapmotion? maybe interface these up? | ||
WiiBot | No | No | creative robot? maybe it needs creative control? If we add a service page and an exmaple script, we can pull it in. | |
WolframAlpha | Yes | If we can continue to use the API ID / API Key, lets support this. | ||
XMPP | No | All | I suspect some people might use this to listen to the shoutbox? If not let's not support it |
Cool kwatters ! Where's the
Cool kwatters !
Where's the OS columns ?
Perhaps User Stories Too
Perhaps User Stories Too ?
Here's the old one which fell
Here's the old one which fell out of disuse many moons ago - but we can mebbe keep the image icons or get other ideas - http://myrobotlab.org/matrix.php
Yours is development - at the max there could be 2 - 1 for master & 1 for develop
Just throwing out ideas .. we'll figure the best way when the dust settles...
OpenCV
got a Raspi2 but can get only 5 frames/sec with a USB cam for the face tracking - that is not enough. Old Raspi might even be worse.
Maybe the directly connected Raspi cam will do better but its short distance as I understand - so the Raspi would need to go into the head (or into a hat or helmet ..).
Will try to use Odroid XU4 with OpenCV but do not have it in my hands yet.
Many services - puhhh
Jürg
Ehi juerg... Ya raspi cam is
Ehi juerg... Ya raspi cam is way faster than the usb one... Length of the flat ribbon cable isn't a problem cause you can replace it with a longer one...
I don t have a raspi cam module but my cousin does... And I asked him to make a small video to show the speed...
Here it is :
https://youtu.be/l6iAhNqaAzA
Alessandro
I have several
I have several cams for the Pi and several Pi boards (B, B+, and 2) so I can test this soon. I think I'm going to put one in InMoov's eye.
Houston to the attic. . .
Yeah it's time to retire Houston.
The Houston service was composed of a bunch of other "off the shelf" MRL services--some of which apparently don't even exist any more. For that reason, it's a relatively generic assembly.
My current project is based on a Raspberry Pi 2 with Adafruit motor and servo hats. (The servo hat should be equivalent to the Adafruit 16 channel servo controller.) This arrangement GREATLY simplifies power requirements and mounting. I hope to write it up and post it soon.
Welcome back to the
Welcome back to the collective DWR ! :)
Excited about your new project. Keep us updated !
Officially putting Houston into the attic. Salute <o
MQTT Service
I borged this in before disappearing and based on this page (http://myrobotlab.org/content/mqtt) I had it worky. Once I find my BBB I'll spin up my MQTT broker again and see if the service still works.
missing service seems raspi
hello KW! missing service seems raspi http://myrobotlab.org/service/raspi or this does not work.
RasPI service
So, the current RasPI service is a bridge to the Pi4J project. What support/features are you looking for? My guess is generic GPIO support?
It seems like using a ras pi 2 for the inmoov could be a great thing if we can control the servos off of the gpio ports.
http://www.myrobotlab.org/service/RasPI
There is a ras pi service in MRL, I have no idea how worky it is. You should be able to create one and call the methods that are listed in the Javadocs
https://rawgit.com/MyRobotLab/myrobotlab/master/javadoc/org/myrobotlab/…
What sort of functions should we have for the raspi/pi2 for GPIO support (or other devices?)
Lets keep it simple to start...
Backstory.... Ya general GPIO
Backstory....
Ya general GPIO support initially - potentially too is the I2C stuff which I've used with MRL to do the PickToLight stuff on a raspi.
But I2C drivers for specific sensors & actuators should be able to be used in any environment (not just RasPi) - this started the i2c package in mrl
Servo / InMoov service with Acceleration settings.
Is there a easy way to include a acceleration option in the Servo service or in a service from InMoov ?
Most servo's will start direct in full speed to move to the new position.
This gives a higher risk to burn a servo !
If this is possible, it will protect a lot of servo's :-)
approximate velocity
It's possible to simulate velocity control with the setSpeed on the servo...
In theory, you could numerically integrate the acceleration to compute velocity and use setSpeed() ..
In reality, hobby servos don't have speed control. Motors however, do have speed control.
If you want the servos to run slower, you can lower the voltage :)
Try
try something like, maybe works>
(assuming it is in position zero)
servo01.setSpeed(0.2) # set speed to 20% of full speed
servo01.moveTo(15)
servo01.setSpeed(0.50) # set speed to 50% of full speed
servo01.moveTo(30)
servo01.setSpeed(0.99) # set speed to 99% of full speed
servo01.moveTo(90)
Thanks Guy's for thinking
Thanks Guy's for thinking about this.
The reason why (I think) it's better to include this in the basic InMoov service, is that many starters don't now how to work with MRL.
I must say, I have to get in MRL to so I can't think about solutions right now.
So this question is more based for starters with a InMoov or "look like InMoov" project.
A option to lower the power voltage isn't the best way, because you will need the full torque.
I was more thinking in a ServoSlow idea, so the servo is at the beginning going in small steps to his new position.
With small steps, the servo is using less power.
You can see this with a endless servo, you will see in his center/sero position a small speedcontroled option.
I hope you understand my idea/suggestion.
If I now more about MRL, I will play with this and will think about better solutions :-)