Main Page

From BRUCE Wiki
Jump to navigation Jump to search

Welcome to BRUCE (Bipedal Robot Unit with Compliannce Enhanced) Wiki, where we update infomation on hardware and software of BRUCE.

About BRUCE Project

BRUCE is an open-platform project led by Westwood Robotics. It focuses on the development of a low-cost kid-size humanoid robot for research and education.

Licensing

BRUCE is dual-licensed under both commercial and open-source licenses. The commercial BRUCE license gives you the full rights to create and distribute software on your own terms without any open-source license obligations. BRUCE is also available for free under version 3 (or later version) of the GNU General Public License (GPL), which is ideal for use cases such as open-source projects with open-source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all GPL obligations can be met. Read the full text of the GNU GPL version 3 for details.

Introduction

Hardware Platform

Photo of BRUCE platform

BRUCE has a total height of 660 mm adapting an average human body proportion. It is composed of a torso, two 3-DoF arms, and two 5-DoF legs. Each arm of BRUCE has a ball shoulder joint and a single DoF elbow joint. Each leg of BRUCE has a spherical hip joint, a single DoF knee joint, and a single DoF ankle joint. Each foot has a line contact with the ground. To have better torque transparency and compliance to the unknown environment, proprioceptive actuation is equipped for each leg joint, using the Koala BEAR actuators. Moreover, BRUCE's legs are designed to have low inertia for performing highly dynamic motions. A 2-DoF parallel actuation configuration realized by a cable-driven differential pulley system is applied to the hip joint to reduce the mass and inertia of the femur link. Meanwhile, two pairs of 4-bar linkage mechanisms are used to relocate the ankle actuator to the femur link for the light weight of the tibia link. Finally, to ensure reliable ground contact information, a sensing foot is designed based on the working principle of an electronic switch.

BRUCE is fully untethered. All the electronics are directly mounted onto the torso for easy installation and better weight distribution. A mini PC with an Intel Core i5-7260U Dual-Core CPU at 2.2 GHz is utilized as the onboard computing resource. A 14.8 V 2200 mAh LiPo battery is used to power the whole system with a running time of approximately 20 minutes. For the sake of safety during operation, a wireless E-Stop built in-house is mounted onboard as well to cut the power in emergencies. In total, BRUCE has a net weight of around 4.8 kg.

Software Architecture

To make BRUCE favorable to dynamic behaviors which require fast response, the overall software framework is developed in a multithreaded environment, which includes a state estimation thread combined with robot model computation, a high-level footstep planning thread, and a low-level WBC (whole-body control) thread. The main advantage of multithreading is that the idle time of the CPU can be kept to minimum since the waiting time for sensor response can be well distributed and utilized, which leads to faster overall execution as the CPU would have been idle if only a single thread was executed. Data communication utilizes a custom shared memory library. All programs are implemented in Python while some parts, including kinematics, dynamics, and state estimation, are precompiled using Numba for acceleration.

Work with BRUCE

Operation

Calibration

Troubleshooting

Developers

[Development in-depth]

Reference

[papers here]

Contributing to BRUCE Wiki