Software meetings on iCub and YARP
Next meeting TBA
Motor control interface with partial number of joints
As of discussion with Ugo we have two solutions:
- new remote control board object
- stateless interfaces
Discuss how to control what information is available as broadcast.
Meeting held 11-13 meeting room 3rd floor.
Participants: Lorenzo, Vadim, Marco R., Carlo, Elena, Ali, Daniele, Alessandro, Ugo.
Normally working correctly with sporadic failure difficult to debug. Usage was suspended again. Decided to go back using it and try to debug problems when they occur. Lorenzo suggestion: can we limit use of mcast for broadcasting images to modules from camcalib? (maybe it is already like this). This may limit fluctuations and help focusing on the problem. We should try to make the problem repeatable.
- TODO: don't give up (all).
- VADIM: Working with mcast and so far no problems...will push it further..
Working ok. However when the fg streams images in raw bayer format the saturation regulation is not available. This is limiting usage bc we have to switch back and forth when doing the ball demo.
This is not a huge deal bc saturation is only needed for the red-ball demo. However it is not negligible so we should try to fix it.
- DONE: implement saturation regulation in the camcalib (Vadim)
- VADIM: Can now increase saturation on bayer images, from the rpc port of camCalib
Working ok, fixing bugs as they are reported. Introduced default policy in YARP so that xml files are searched in the local directory or in ICUB_ROOT if YARP_POLICY=ICUB_ROOT.
- DONE: write documentation (Daniele)
You can find it here: http://eris.liralab.it/yarpdoc/yarpscope.html
- DONE: modify .bashrc in the cluster so that YARP_POLICY env variable is set to ICUB_ROOT (Ugo)
Working ok. We need to start using it. Elena has been using it in xperience; however we need a simple tutorial to show basic usage.
- DONE: write simple tutorial (Elena)
New links: http://eris.liralab.it/yarpdoc/thrift_tutorial_simple.html and, for the brave at heart: http://eris.liralab.it/yarpdoc/thrift_tutorial.html (They are both linked from the main YARP Tutorials page)
- TODO: talk to Andrea and Marco.
We need to define a standard format for writing manifest xml files for modules. Ideally this file should contain module documentation, parameters and ports. The file could be parsed by doxygen to produce documentation or pre-parsed by script to produce doxygen code. Agreed to keep it simple unless needed.
- TODO: come up with template and circulate (Ali).
Subversion: branches and head development
We discussed how to develop happily without affecting users. We decided that we should advertise usage of snapshots or releases to users that do not want to be exposed to fluctuations. We decided to export the enhance YARP versioning system to include the SVN revision number so we can check it in the iCub build.
- DONE: add SVN revision number in YARP build
- DONE: handling of lossless avi videos (Ugo)
Now dataDumper employes the "huffyuv" codec (available on win/linux/mac) to store lossless avi. Positive tests on windows and linux. On linux it is required to compile ffmpeg and OpenCV as per documentation within the module's page. Information about single frames time-stamps are also generated in order to enable step-wise playing in-sync with the encoders from within the dataSetPlayer.
This has been included in the release. It could be nice to make available a short dump so users can test it when they install the software.
- DONE: produce simple dump, to be uploaded in the MIT database (if public) (Vadim)
- VADIM: Some data are on the MIT ftp. http://download.rbcs.iit.it
There is a folder called test data (containing the red ball demo dump). I had to convert the ppm to jpg (1Gb to 47M - as it is for testing it does not really matter)
Here the details: Username: icubdata Password: icubdata
- TODO: update software installation pages with instructions on how to use the datasetplayer to play the test sequence (Lorenzo)
qt3 in iCubGui
To simplify we should plan to update iCubGui so that it does not use qt but gtk. This should be doable.
- TODO: nothing for now