This repository contains all the core ROS packages that make up the foundational layer of the Bender robot system. These packages provide low-level functionalities (e.g., motion control, sensors, robot description) that are expected to be always running, either in simulation or on the real robot. Lab members that contribute to this repository should ensure that new code adheres to the structural and modular conventions detailed below.
bender_arm: Control and interfaces for Bender’s robotic arm.bender_base: Launch files and parameters for Bender’s mobile base (Pioneer 3AT).bender_calibrate: Tools and configurations for calibrating Bender’s cameras.bender_description: Robot description (URDF/XACRO) and TF tree publisher for the real robot, including 3D meshes.bender_gripper: Drivers and control for Bender’s gripper.bender_hand:bender_hardware_interfaces: Customros2_controlhardware interfaces (SystemInterface/SensorInterface) for hardware without an off-the-shelf ROS 2 driver, such as the shoulder encoders and the Pioneer 3-AT base. See its README for details.bender_head:bender_joy: Joystick control interfaces for teleoperating Bender.bender_sensors: Drivers and interfaces for onboard sensors (RGB cameras, depth sensors, LIDAR, etc.).bender_sim: Simulation configurations and assets for running Bender in Gazebo or other environments.bender_sound: Interfaces for sound playback and audio feedback.bender_tts: Text-to-speech system for Bender's voice.
Every package should follow this general layout:
bender_<component>/
├── config/ # YAML configuration files
├── launch/ # Launch files
├── src/ # Source code
├── include/ # Header files (if C++ is used)
├── scripts/ # Python scripts
├── CMakeLists.txt
├── package.xml