How bhuman/bhumancoderelease works
B-Human is a humanoid-robot soccer codebase. Its runtime behavior-control modules produce motion requests; the motion engine selects and coordinates motion phases, which motion generators and engines turn into joint commands. The tree also contains a simulator/operator interface and debugging and log-playback tools. The README identifies the release but does not document subsystem wiring; links below are limited to explicit calls in the sampled motion source or conservatively documented by the runtime structure.
Main entry points: MotionEngine.cpp Motion coordinator · RobotConsole.cpp Robot console · WalkToBallAndKickEngine.cpp Walk-to-kick · Options Soccer options
Components 20
Behavior control
- Skill behavior
Src/Modules/BehaviorControl/SkillBehaviorControl/SkillBehaviorControl.cpp - Soccer options
Src/Modules/BehaviorControl/SkillBehaviorControl/Options - Motion skills
Src/Modules/BehaviorControl/SkillBehaviorControl/Skills
Motion control
- Motion coordinator
Src/Modules/MotionControl/MotionEngine/MotionEngine.cpp - Walk-to-kick
Src/Modules/MotionControl/WalkingEngine/WalkGenerators/WalkToBallAndKickEngine.cpp - Walk kick generator
Src/Modules/MotionControl/WalkingEngine/WalkKickEngine.cpp - Kick generator
Src/Modules/MotionControl/KickEngine/KickEngineData.cpp - Keyframe motions
Src/Modules/MotionControl/KeyframeMotionEngine/KeyframeMotionEngine.cpp - Fall protection
Src/Modules/MotionControl/FallEngine/FallEngine.cpp - Head motion
Src/Modules/MotionControl/HeadMotionEngine/HeadMotionEngine.cpp - Arm keyframes
Src/Modules/MotionControl/ArmKeyFrameEngine/ArmKeyFrameEngine.cpp - Pointing arms
Src/Modules/MotionControl/PointAtEngine/PointAtEngine.cpp
Robot runtime
- Robot runtime
Src/Libs/Framework/Robot.cpp - Module graph runner
Src/Libs/Framework/ModuleGraphRunner.cpp - Debug transport
Src/Libs/Debugging/TcpConnection.cpp
Simulation and tools
- Simulated robot
Src/Libs/SimulatedNao/SimulatedRobot.cpp - Robot console
Src/Libs/SimulatedNao/RobotConsole.cpp - Log playback
Src/Libs/LogPlayback/LogPlayer.cpp
Other components
- Operator
- Joint commands
Connections 12
- Operator → Robot console: operates
- Skill behavior → Soccer options: selects
- Soccer options → Motion skills: invokes
- Motion coordinator → Fall protection: checks falls
- Motion coordinator → Keyframe motions: requests phases
- Walk-to-kick → Walk kick generator: creates walk kick
- Walk-to-kick → Kick generator: creates kick
- Motion coordinator → Joint commands: outputs joints
- Module graph runner → Robot runtime: runs modules
- Robot runtime → Debug transport: uses transport
- Robot console → Simulated robot: controls
- Log playback → Robot console: provides playback