SPL Code Releases
The NaoQi image with root access for Nao V6 is only available to teams
qualified for RoboCup, yet many of the following code releases require this
image to work. So, teams interested in participating in RoboCup can write to
rc-spl-tc@lists.robocup.org to gain access to the image. However, teams must
understand and accept that the root image (and developer documentation) can
only be used for RoboCup and may not be shared outside the team.
Full Public Code Bases
The entries in this section are full releases from SPL teams that are
continuously developed in public.
Contributing Team: | Berlin United – NaoTH | |||
Summary: | Berlin United develops their code publicly on GitHub (as of 2022). | |||
Website: | https://github.com/BerlinUnited/NaoTH | |||
|
||||
Contributing Team: | HULKs | |||
Summary: | HULKs develop their code publicly on GitHub (as of 2022). Yearly releases are tagged with coderelease<year> . |
|||
Website: | https://github.com/HULKs/hulk |
Recent Full/Partial Code Releases
The entries in this section are full (annual) releases from the current or
previous year. Some of them may have particular components removed.
Contributing Team: | Bembelbots | |||
Summary: | Bembelbots have released most of their 2024 code, except for behaviour. | |||
Website: | https://github.com/Bembelbots/BembelSoccer/tree/coderelease-2024 | |||
|
||||
Contributing Team: | Berlin United – Nao Team Humboldt (BU-NaoTH) | |||
Summary: | Berlin United have released their full code from RoboCup 2024. | |||
Website: | https://github.com/BerlinUnited/NaoTH/releases/tag/release/rc2024 | |||
|
||||
Contributing Team: | B-Human | |||
Summary: | B-Human have released their full code from RoboCup 2024 | |||
Website: | https://github.com/bhuman/BHumanCodeRelease | |||
|
||||
Contributing Team: | Dutch Nao Team | |||
Summary: | Dutch Nao Team have released their full code from RoboCup 2024 | |||
Website: | https://github.com/IntelligentRoboticsLab/dnt-code-release | |||
|
||||
Contributing Team: | HULKs | |||
Summary: | HULKs have released their full code from RoboCup 2024 | |||
Website: | https://github.com/HULKs/hulk/releases/tag/robocup2024 | |||
|
||||
Contributing Team: | Nao Devils | |||
Summary: | Nao Devils have released their full code from RoboCup 2024 | |||
Website: | https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2024 | |||
|
||||
Contributing Team: | Naova | |||
Summary: | Naova have released their full code from RoboCup 2024 | |||
Website: | https://github.com/Naova/NaovaRelease | |||
|
||||
Contributing Team: | NomadZ | |||
Summary: | NomadZ have released their full code from RoboCup 2024. | |||
Website: | https://github.com/nomadz-ethz/nomadz-code-release | |||
|
||||
Contributing Team: | RedbackBots | |||
Summary: | RedbackBots have released their full code from RoboCup 2024. | |||
Website: | https://github.com/rmit-computing-technologies/redbackbots-coderelease | |||
|
||||
Contributing Team: | RoboEireann< | |||
Summary: | RoboEireann have released their full code from RoboCup 2024. | |||
Website: | https://github.com/roboeireann/RoboEireannCodeRelease | |||
|
||||
Contributing Team: | rUNSWift | |||
Summary: | rUNSWift have released most of their 2024 code, except for behaviour. | |||
Website: | https://github.com/UNSWComputing/rUNSWift-2024-release |
|||
|
||||
Contributing Team: | R-ZWEI KICKERS | |||
Summary: | R-ZWEI KICKERS have released their full code from RoboCup 2024. | |||
Website: | https://github.com/AK-Smart-Machines-HS-KL/R-ZWEI-Kickers-Code-Releases | |||
|
||||
Contributing Team: | SPQR Team | |||
Summary: | SPQR Team have released their full code from RoboCup 2024. | |||
Website: | https://github.com/SPQRTeam/spqr2024 |
Recent Component Releases
Contributing Team: | BadgerBots | |||
Summary: | BadgerBots have released their Abstract Sim for neural network training from RoboCup 2023. | |||
Website: | https://github.com/Badger-RL/AbstractSimRelease2023 | |||
|
||||
Contributing Team: | B-Human | |||
Summary: | B-Human have released a ready-to-run image for practice matches from RoboCup 2023 | |||
Website: | https://b-human.informatik.uni-bremen.de/public/image2023/ | |||
|
||||
Contributing Team: | Nao Devils | |||
Summary: | Nao Devils have released their image generator from RoboCup 2023 | |||
Website: | https://github.com/NaoDevils/NaoImage/ | |||
|
||||
Contributing Team: | Rinobot Team | |||
Summary: | Rinobot Team have released their ball detection module from RoboCup 2023. | |||
Website: | https://github.com/rinobot-team/yoloBallDetection | |||
|
Older Full/Partial Code Releases
Contributing Team: | BadgerBots | |||
Summary: | BadgerBots have released their full code from RoboCup 2023. | |||
Website: | https://github.com/Badger-RL/BadgerRLSystemCodeRelease2023 | |||
|
||||
Contributing Team: | Bembelbots | |||
Summary: | Bembelbots have released most of their 2022 code, except for behaviour. | |||
Website: | 2023 release: https://github.com/Bembelbots/BembelSoccer/tree/coderelease-2023 |
|||
2022 release: https://github.com/Bembelbots/BembelSoccer/tree/coderelease-2022 |
||||
|
||||
Contributing Team: | B-Human | |||
Summary: | B-Human has released their full code from RoboCup 2022. Previous yearly releases are tagged with coderelease<year> . |
|||
Website: | 2022 release: https://github.com/bhuman/BHumanCodeRelease/tree/coderelease2022 |
|||
|
||||
Contributing Team: | Camelia Dragons | |||
Summary: | Camelia Dragons has released their 2017 code base online. | |||
Website: | 2017 release: https://github.com/CamelliaDragons/CamelliaDragonsCodeRelease |
|||
|
||||
Contributing Team: | Nao Devils | |||
Summary: | Nao Devils have released their 2013, 2014, 2016, 2017, 2018, 2019, 2022 and 2023 code bases online. |
|||
Website: | 2023 release: https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2023 |
|||
2022 release: https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2022 |
||||
2019 release: https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2019 |
||||
2018 release: https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2018 |
||||
2017 release: https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2017 |
||||
2016 release: https://github.com/NaoDevils/CodeRelease/tree/CodeRelease2016 |
||||
2014 release: http://www.irf.tu-dortmund.de/nao-devils/download/2014/NDDCodeRelease2014.zip |
||||
2013 release: http://www.irf.tu-dortmund.de/nao-devils/download/2013/NDD-CodeRelease2013.zip |
||||
|
||||
Contributing Team: | Naova | |||
Summary: | Naova has released their full source code from RoboCup 2018 and 2023. | |||
Website: | 2023 release: https://github.com/Naova/NaovaRelease |
|||
2018 release: https://github.com/Naova/NaovaRelease/tree/release2018 |
||||
|
||||
Contributing Team: | NomadZ | |||
Summary: | NomadZ have released their full code from RoboCup 2022 and 2023. | |||
Website: | 2023 release: https://github.com/nomadz-ethz/nomadz-code-release |
|||
2022 release: https://github.com/nomadz-ethz/nomadz-code-release/tree/code-release-2022 |
||||
|
||||
Contributing Team: | Northern Bites | |||
Summary: | Northern Bites has publicly posted their entire code base online. They also have a wiki describing their code base, how to run it, etc available on GitHub. |
|||
Website: | https://github.com/northern-bites/nbites | |||
|
||||
Contributing Team: | NTU RoboPAL | |||
Summary: | Team report and code release 2015 | |||
Website: | 2015 release: https://drive.google.com/file/d/0B1d3UWuPZfdyVjlKRU1iTVpqUGc/view |
|||
|
||||
Contributing Team: | Rinobot-Jaguar | |||
Summary: | Rinobot-Jaguar have released their full code from RoboCup 2023. | |||
Website: | https://github.com/rinobot-team/SPL-Mari | |||
|
||||
Contributing Team: | rUNSWift | |||
Summary: | rUNSWift releases code regularly. The RoboCup 2014 & 2015 releases were championship winners. The 2010-2018 documentation is in the form of a wiki, which is part of the repository. The code released contains a slightly cleaned up version of their code from the competition, and with most of the behaviour removed. |
|||
Website: | 2022 release: https://github.com/UNSWComputing/rUNSWift-2022-release |
|||
2019 release: https://github.com/UNSWComputing/rUNSWift-2019-release |
||||
2018 release: https://github.com/UNSWComputing/rUNSWift-2018-release |
||||
2017 release: https://github.com/UNSWComputing/rUNSWift-2017-release |
||||
2016 release: https://github.com/UNSWComputing/rUNSWift-2016-release |
||||
2015 release: https://github.com/UNSWComputing/rUNSWift-2015-release |
||||
2014 release: https://github.com/UNSWComputing/rUNSWift-2014-release |
||||
2010 release: https://github.com/UNSWComputing/rUNSWift-2010-release |
||||
|
||||
Contributing Team: | SABANA Herons | |||
Summary: | SABANA Herons have released their full code from RoboCup 2019. | |||
Website: | 2019 release: https://github.com/SabanaHerons/Robocup2019 |
|||
|
||||
Contributing Team: | SPQR Team | |||
Summary: | SPQR Team has released their full code from RoboCup 2022. | |||
Website: | 2022 release: https://github.com/SPQRTeam/spqr2022 |
|||
|
||||
Contributing Team: | UPennalizers | |||
Summary: | Open Source Code | |||
Website: | 2016 release: https://github.com/UPenn-RoboCup/UPennalizers |
|||
|
||||
Contributing Team: | UT Austin Villa | |||
Summary: | Austin Villa have released their full code from RoboCup 2023 and has partially released their code from 2012, 2016, 2017, 2018, 2019, and 2022. | |||
Website: | 2012 release: http://www.cs.utexas.edu/~AustinVilla/?p=downloads/source_code_and_binaries |
|||
2016-2022 release: https://github.com/LARG/spl-release |
||||
2023 release: https://github.com/LARG/spl-release |
||||
|
Older Component Releases
Contributing Team: | Austrian Kangaroos | |||
Summary: | Austrian Kangaroos have released their 2014 Technical Challenge whistle detector module open source. |
|||
Website: | http://www.austrian-kangaroos.com/public/code/WhistleDetector.tgz | |||
|
||||
Contributing Team: | Bembelbots | |||
Summary: | Bembelbots have released their 2019 particle filter for self-localization. |
|||
Website: | https://github.com/Bembelbots/particlefilter | |||
|
||||
Contributing Team: | HTWK Robots | |||
Summary: | HTWK Robots have released different components in different years. | |||
Website: | Whistle detection 2022 release: https://github.com/NaoHTWK/WhistleDetection |
|||
Motion 2019 release: https://github.com/NaoHTWK/HTWKMotion |
||||
LolaConnector 2018 release: https://github.com/NaoHTWK/LolaConnector |
||||
Vision 2014/2015/2017/2018 release: https://github.com/NaoHTWK/HTWKVision |
||||
Strategy 2016 release: https://github.com/NaoHTWK/HTWKStrategy |
||||
|
||||
Contributing Team: | Kouretes | |||
Summary: | This release is a stand-alone, complete NAO kinematics software library. The C++ NAOKinematics library covers Aldebaran Robotics NAO versions H21 and H25, offers forward kinematics, inverse kinematics (analytical, closed-form solution), and center-of-mass calculation functions, and can be integrated into any existing C++ software architecture. |
|||
Website: | https://github.com/kouretes/NAOKinematics | |||
|
||||
Contributing Team: | Mi-PAL | |||
Summary: | Two tools: 1) gusimplewhiteboard. C++11 fast in-memory Object-Classes forwarding. 2) clfsm. C++ compiled arraignments of concurrent logic-label finite-state machines (on a single thread). Latest paper describing this is: V. Estivill-Castro, R. Hexel and Carl Lusty “High Performance Relaying of C++11 Objects Across Processes and Logic-Labeled Finite-State Machines” International Conference on Simulation, Modelling, and Programming for Autonomous Robots (SIMPAR 2014) Bergamo, Italy. October 20-23. In Brugali, D. et al. (Eds.): SIMPAR 2014, Lecture Notes in Artificial Intelligence LNAI 8810, pp. 182–194. Springer International Publishing Switzerland (2014).Downloads include examples and documentation for running with ROS (catkin environment), on the NAO we use bmake. |
|||
Website: | http://mipal.net.au/downloads.php | |||
|
||||
Contributing Team: | MRL-SPL | |||
Summary: | Multi-agent Coordination of the Nao Humanoid Robots in SPL. | |||
Website: | 2017 release: https://github.com/mrlspl/GamePlanner |
|||
|
||||
Contributing Team: | SPQR Team | |||
Summary: | The SPQR Ball Perceptor is a software module for black and white ball detection developed by the SPQR Team to be used within the B-Human framework.The SPQR Ball detector is based on a supervised approach implemented in OpenCV. In particular, an LBP binary cascade classifier has been trained to detect the official RoboCup SPL ball. The detector can be used without modifications both indoor and outdoor, inside and outside the game field. Details about how to generate the classifier are available in the
tutorial “How to Use OpenCV for Ball Detection – RoboCup SPL Use Case” (http://profs.scienze.univr. |
|||
Website: | https://github.com/SPQRTeam/SPQRBallPerceptor | |||
|
||||
Contributing Team: | Starkit | |||
Summary: | Starkit has released their whistle detection from RoboCup 2019. | |||
Website: | 2019 release: https://github.com/robocupmipt/BHumanCodeRelease |
|||
|
||||
Contributing Team: | TJArk | |||
Summary: | Code release | |||
Website: | 2019 release: https://github.com/TJArk-Robotics/TJArkCodeRelease2019 |
|||
Vision 2018 release: https://github.com/TJArk-Robotics/TJArK-Vision |
||||
2017 release: https://github.com/TJArk-Robotics/coderelease_2017 |
||||
2016 release: https://github.com/TJArk-Robotics/coderelease_2016 |
||||
|
||||
Contributing Team: | UChile Robotics Team | |||
Summary: | UChile Robotics team has shared the code of the ball perceptor used in 2016 to solve the ball problem. They indicated that it still has some minor issues but it may be a good start for the new teams that will join in 2017. They shared the code in Github, also including a wiki explaining how to use it and a general overview of the strategy used to detect the ball. |
|||
Website: | https://github.com/uchile-robotics/nao-ball-perceptor-2016 |
Other SPL Code
Contributing Team: | B-Human | |||
Summary: | The new SPL GameController was rewritten from the ground up in 2023. | |||
Website: | http://github.com/RoboCup-SPL/GameController3 | |||
SPL NaoQi Hacks
This section contains version-specific hacks that work around issues in
different versions of NaoQi.
- Somewhere between NaoQi 1.10.37 and 1.14.1 the value of
“Device/SubDeviceList/InertialSensor/AccY/Sensor/Value” had the sign flipped
(this is the Accelerometer in the y-dimension). Multiply it by -1 to get the
old values. (Contributed by
RoboEireann)
- Upgrading to 1.14.1 from 1.10.37, the raw gyroscope values
“Device/SubDeviceList/InertialSensor/GyrX/Sensor/Value” and
“Device/SubDeviceList/InertialSensor/GyrY/Sensor/Value” changed in both
range and scale.
RoboEireann
empirically found scaling these raw values by 0.7 brought them back to the
old sort of values they had previously seen.
- The V3 cameras have a few issues with them in 1.14.1.
RoboEireann
found that the frame buffers were still not marked as cacheable and that
auto black level functions were impossible to disable.
RoboEireann
forked the Aldebaran kernel and patched the camera driver to fix both of
these issues. The kernel is hosted at
https://github.com/mp3guy/linux-aldebaran, with versions 1.12 and 1.14. To compile the patched driver, just checkout
the source above and then:- Get the kernel config off a robot (/proc/config.gz)
- Extract it to the root of the kernel source as .config
- Run make ARCH=i386
- Make coffee
- If you get an error about arch/x86/vdso and -m elf_i386, open
arch/x86/vdso/Makefile and find the line containing VDSO_LDFLAGS and
replace -m elf_i386 with -m32 - Copy drivers/media/video/lxv4l2/lxv4l2.ko to your nao on
/lib/modules/2.6.29.6-rt24-aldebaran-rt/kernel/drivers/media/video/lxv4l2/lxv4l2.ko
(you’ll need root for this) - Reboot and enjoy the image being loaded into the Geode’s cache and auto
black level settings being disabled by default.
- The sonars work differently from what the documentation suggests (NaoQi
1.14.0-2). First of all, in firing modes 0-3 the readings are all returned
as measurements of the right sensor. In addition, only 70 ms after firing a
sensor, the readings seem to be correct. Before that, they still might
correspond to previous measurements. The firing modes 4-7 always fire both
transmitters and read with both receivers. In modes 4 and 7, the receivers
measure the pulse sent by the transmitters on the same side. In modes 5 and
6, they measure the pulse sent by the transmitters on the opposite side.
They do not seem to disturb each other. They either use different
frequencies or they are fired at different points in time. (Contributed by
B-Human)
- A new NAO V4 kernel can be found at
http://github.com/bhuman/KernelV4. It activates SMP and comes with different drivers for WLAN, LAN, and
cameras. (Contributed by
B-Human)