Tekkotsu 3.0 Released!
Announcing the Tekkotsu 3.0 Release!
This release has been long in development, and has many new features, performance improvements, and bug fixes to show for it. It was used in our Cognitive Robotics course last semester, and has received heavy in-house testing and feedback, yielding many usability and documentation enhancements.
The release notes below summarize the top items from the full Version History, which contains more information on each item, and is more exhaustive.New Features:
- DualCoding vision parsing API
- Toolkit for constructing visual parsing algorithms, intended for deliberate, in-depth visual processing of a scene
- For more info, see the Tekkotsu tutorial chapter on dual-coding representations, and the visual routines lecture notes from the CMU Cognitive Robotics course, weeks 3-4.
- Simulator now provides sensor loading, PNG loading, and motion feedback.
- Simulator is now functionally complete -- can run any behavior you would otherwise run on the robot
- Imported PitchDetector code from Jonah Sherman and Matus Telgarsky's final project in CMU's Cognitive Robotics course
- EventRouter now guarantees that all listeners for an event will receive that event before the next event is posted
- StackTrace interface -- generate stack traces during runtime like what is available in Java
- Quick reference sheets listed on documentation page
- Standardized capitalization style of LoadSave and SoundManager
- LoadFile() -> loadFile, LoadBuffer() -> loadBuffer(), etc.
- EventRouter::postEvent() now prefers pass-by-reference instead of pass-by-pointer. (Pass-by-pointer version is deprecated.)
- Timer cross-talk now enabled, with new dedicated TimerEvent class
- Console port (10001) is now defaulting to Controller-always mode.
- WorldStateSerializer protocol changed to send robot's model name and frame number before each packet.
- U and V color channels have been swapped -- we have been reversing the usage of these channels throughout the framework since its inception due to mis-mapping the 'Cr' and 'Cb' channels supplied by the system.
- Fixed possible crash triggered by toggling estop via back button double-tap
- Actually a bigger issue involving process identity confusion causing invalid mutex acquisition
- Fixed bug with vision calibration in config->vision.computeRay()
- SoundManager was not generating audioEGID deactivate events
- Behaviors can now auto-stop (call their own DoStop()) anytime without causing a crash
- The simulator is incompatable with Cygwin, (apparently) due to a bug in the cygserver background process which handles inter-process communication, causing it to hang. GDB is also not fully functional in Cygwin, which hampers efforts to determine the cause of the problem (and also the usefulness of the simulator even if it was working).
Visit the Version History for the full release notes
Enjoy! We look forward to hearing about your projects and receiving your feedback!