Skip to content
logo
Perseus V2 documentation
Hardware
Initializing search
    Perseus V2
    Perseus V2
    • Home
    • Getting Started
    • Nix Basics
    • Perseus-Lite Operation
      • Quick Start
      • Basic Operation
    • Perseus Operation
      • Arm Teleoperation
      • Autonomy
      • Excavation
      • Powering on Perseus
      • Perseus Teleoperation
      • Web-UI
    • Systems
      • Hardware Systems
        • Perseus Assembly
        • I2C IMU
        • Network
      • Software
        • CMake Build Infrastructure
        • Core
        • Network Configuration
        • Nix outputs
        • Scripts
        • Web-UI
      • CAN Bus
      • CI/CD
      • Documentation
      • Nix
      • ST3215 Servo Protocol Documentation
    • Standards
      • Electronics Design Guidelines
      • GitHub Standards
      • Hardware Design Guidelines
      • Software Standards
        • C++ Standards
        • Python Standards
        • JS/TS Standards
        • Framework Specific Standards
        • General Software Standards
    • Development
      • Documentation
      • Environment
        • GitHub
        • Nix
      • Hardware
        • Chassis
      • Software
        • ArUco Detector Node (aruco_detector)
        • Local Localisation
        • Robot Description
        • Templates
        • Web UI
    • Maintenance
      • Documentation
      • GitHub Repository Maintenance
      • Nix Build System
      • Software
    • Hardware
      • Board Name Abbreviations
        • CAN Bus Daisy Chain PCB
        • Rover Control Board
        • Smol Brain Board
        • VESCs
    • Hardware
      • Board Name Abbreviations
        • CAN Bus Daisy Chain PCB
        • Rover Control Board
        • Smol Brain Board
        • VESCs
    • Challenge Breakdowns
      • Autonomy and Mapping Operations Manual
      • Excavation & Construction
      • Post-Landing
      • Space Resources Task Points Summary
    • Tutorials
      • Hi-CAN Tutorials
        • Setup
          • Basic Hi-CAN Usage
          • Using the PacketManager
      • RPLidar C1 Connection Testing
      • Running the Gazebo Simulation
      • Visualise Perseus-Lite in RViz
      • Widget Tutorial
    • Generated Documentation
      • Full API
        • Namespaces
          • Namespace @142147210374006135100366166122220100363051267113
          • Namespace boost::asio
          • Namespace bsp
          • Namespace hardware_interface
          • Namespace hi_can
          • Namespace hi_can::addressing
          • Namespace hi_can::addressing::compute
          • Namespace hi_can::addressing::compute::primary
          • Namespace hi_can::addressing::drive
          • Namespace hi_can::addressing::drive::vesc
          • Namespace hi_can::addressing::excavation
          • Namespace hi_can::addressing::excavation::bucket
          • Namespace hi_can::addressing::excavation::bucket::controller
          • Namespace hi_can::addressing::legacy
          • Namespace hi_can::addressing::legacy::drive
          • Namespace hi_can::addressing::legacy::drive::motors
          • Namespace hi_can::addressing::legacy::drive::motors::esc
          • Namespace hi_can::addressing::legacy::drive::motors::mcb
          • Namespace hi_can::addressing::legacy::excavation
          • Namespace hi_can::addressing::legacy::excavation::bucket
          • Namespace hi_can::addressing::legacy::excavation::bucket::bucket
          • Namespace hi_can::addressing::legacy::excavation::bucket::bucket::manipulation
          • Namespace hi_can::addressing::legacy::excavation::bucket::bucket::motors
          • Namespace hi_can::addressing::legacy::power
          • Namespace hi_can::addressing::legacy::power::control
          • Namespace hi_can::addressing::legacy::power::control::contactor
          • Namespace hi_can::addressing::legacy::power::control::power_bus
          • Namespace hi_can::addressing::legacy::power::control::rcb
          • Namespace hi_can::addressing::post_landing
          • Namespace hi_can::addressing::power
          • Namespace hi_can::addressing::power::battery
          • Namespace hi_can::addressing::power::distribution
          • Namespace hi_can::addressing::shared
          • Namespace hi_can::addressing::shared::elevator
          • Namespace hi_can::addressing::shared::elevator::elevator
          • Namespace hi_can::addressing::shared::elevator::elevator::motor
          • Namespace hi_can::addressing::space_resources
          • Namespace hi_can::addressing::status
          • Namespace hi_can::parameters
          • Namespace hi_can::parameters::drive
          • Namespace hi_can::parameters::drive::vesc
          • Namespace hi_can::parameters::excavation
          • Namespace hi_can::parameters::excavation::bucket
          • Namespace hi_can::parameters::excavation::bucket::controller
          • Namespace hi_can::parameters::legacy
          • Namespace hi_can::parameters::legacy::drive
          • Namespace hi_can::parameters::legacy::drive::motors
          • Namespace hi_can::parameters::legacy::excavation
          • Namespace hi_can::parameters::legacy::excavation::bucket
          • Namespace hi_can::parameters::legacy::power
          • Namespace hi_can::parameters::legacy::power::control
          • Namespace hi_can::parameters::legacy::power::control::contactor
          • Namespace hi_can::parameters::legacy::power::control::power_bus
          • Namespace hi_can::parameters::power
          • Namespace hi_can::parameters::power::bms
          • Namespace hi_can::parameters::power::distribution
          • Namespace hi_can::parameters::shared
          • Namespace hi_can::parameters::shared::elevator
          • Namespace hi_can::parameters::shared::elevator::elevator
          • Namespace hi_can::parameters::shared::elevator::elevator::motor
          • Namespace i2c_imu_driver
          • Namespace i2c_imu_driver::@174157226133370074226375240327124360033214005166
          • Namespace imu_processors
          • Namespace networking
          • Namespace perseus
          • Namespace perseus::servo
          • Namespace perseus::servo::communication
          • Namespace perseus::servo::error_bits
          • Namespace perseus::servo::instruction
          • Namespace perseus::servo::limits
          • Namespace perseus::servo::protocol
          • Namespace perseus::servo::register_addr
          • Namespace perseus::servo::timing
          • Namespace perseus::servo::ui
          • Namespace perseus_lite_hardware
          • Namespace perseus_lite_hardware::@142147210374006135100366166122220100363051267113
          • Namespace perseus_vision
          • Namespace perseus_vision::@236176170244200344370254035322071212240333323135
          • Namespace perseus_vision::@326035123243263144370256373045115053356163367302
          • Namespace pointcloud_to_laserscan
          • Namespace rclcpp
          • Namespace std
          • Namespace std::chrono
          • Namespace std::chrono_literals
        • Classes and Structs
          • Struct address_t
          • Struct filter_t
          • Struct flagged_address_t
          • Struct address_t
          • Struct standard_address_t
          • Struct structured_address_t
          • Struct PacketManager::callback_config_t
          • Struct PacketManager::callback_data_t
          • Struct PacketManager::transmission_config_t
          • Struct PacketManager::transmission_data_t
          • Struct raw_status_1_t
          • Struct raw_status_2_t
          • Struct raw_status_3_t
          • Struct raw_status_4_t
          • Struct raw_status_5_t
          • Struct raw_status_6_t
          • Struct set_brake_t
          • Struct set_current_brake_rel_t
          • Struct set_current_handbrake_rel_t
          • Struct set_current_handbrake_t
          • Struct set_current_rel_t
          • Struct set_current_t
          • Struct set_duty_t
          • Struct set_pos_t
          • Struct set_rpm_t
          • Struct status_1_t
          • Struct status_2_t
          • Struct status_3_t
          • Struct status_4_t
          • Struct status_5_t
          • Struct status_6_t
          • Struct _limits_t
          • Struct _speed_t
          • Struct _status_t
          • Struct _motor_speed_t
          • Struct _control_t
          • Struct _immediate_control_t
          • Struct _scheduled_control_t
          • Struct _status_t
          • Struct pack_status
          • Struct bus_status_t
          • Template Struct scaled_int16_t
          • Template Struct scaled_int32_t
          • Struct speed_t
          • Template Struct wrapped_value_t
          • Struct ImuData
          • Struct ImuDeviceConfig
          • Struct M2M2Lidar::sensor_config_t
          • Struct address_t
          • Struct socket_config_handlers_t
          • Struct ST3215SystemHardware::ServoState
          • Struct Detection
          • Class ArmDriver
          • Class BucketController
          • Class BucketDriver
          • Class CmdVelToOdomNode
          • Class FdWrapper
          • Class GenericController
          • Class GenericController::AxisParser
          • Class GenericController::EnableParser
          • Class CanInterface
          • Class FilteredCanInterface
          • Class NetworkClient
          • Class NetworkServer
          • Class Packet
          • Class PacketManager
          • Class BidirectionalSerializable
          • Class Deserializable
          • Class VescParameterGroup
          • Class EscParameterGroup
          • Class PowerBusParameterGroup
          • Class ParameterGroup
          • Class Serializable
          • Template Class SimpleSerializable
          • Class RawCanInterface
          • Class SoftwareFilteredCanInterface
          • Class TwaiInterface
          • Class I2cDevice
          • Class I2cImuNode
          • Class ImuDeviceRegistry
          • Class BiasEstimator
          • Class BiasRemover
          • Class M2M2Lidar
          • Class MapSaver
          • Class Nav2WaypointsBridge
          • Class Client
          • Class ST3215SystemHardware
          • Class ArucoDetector
          • Class CubeDetector
          • Class LaserScanToPointCloudNode
          • Class PointCloudToLaserScanNode
          • Template Class PtrWrapper
          • Class RcbDriver
          • Class SimPointcloudFilter
          • Class ST3215ServoReader
          • Class string
          • Class string::const_iterator
          • Class string::const_reverse_iterator
          • Class string::iterator
          • Class string::reverse_iterator
          • Class TemplateNode
          • Class TopicRemapper
          • Template Class vector
          • Class vector::const_iterator
          • Class vector::const_reverse_iterator
          • Class vector::iterator
          • Class vector::reverse_iterator
        • Enums
          • Enum device
          • Enum command_id
          • Enum device
          • Enum actuator_parameter
          • Enum bank_parameter
          • Enum group
          • Enum magnet_parameter
          • Enum device
          • Enum parameter
          • Enum groups
          • Enum parameter
          • Enum parameter
          • Enum device
          • Enum parameter
          • Enum device
          • Enum parameter
          • Enum groups
          • Enum device
          • Enum device
          • Enum parameter
          • Enum parameter
          • Enum motor_direction
          • Enum power_status
          • Enum socket_protocol
          • Enum ServoCommand
          • Enum ServoEpromRegister
          • Enum ServoErrorFlag
          • Enum ServoSramRegister
        • Functions
          • Function checksum
          • Function compute_mandelbrot
          • Function crc16
          • Function crc16_ccitt
          • Function crc16_modbus
          • Function crc16_usb
          • Function crc16_xmodem
          • Function crc32
          • Function crc32_bzip2
          • Function crc32_C
          • Function crc32_mpeg2
          • Function crc32_sata
          • Function crc8
          • Function crc8_maxim
          • Function crc8_sht75
          • Function demangle
          • Function get_time_ms(struct timeval *, struct timeval *)
          • Function get_time_ms(struct timeval *, struct timeval *)
          • Function i2c_imu_driver::apply_calibration
          • Function imu_processors::abslt
          • Function imu_processors::ewma
          • Function init_matrix
          • Function iter_to_char
          • Function iter_to_color
          • Function mandelbrot
          • Function matrix_multiply
          • Function networking::get_string_from_protocol
          • Function print_usage(const char *)
          • Function print_usage(const char *)
          • Function render_line
          • Function swap
          • Function yaw_to_quat
        • Variables
          • Variable bsp::A1
          • Variable bsp::A10
          • Variable bsp::A2
          • Variable bsp::A3
          • Variable bsp::A4
          • Variable bsp::A5
          • Variable bsp::A6
          • Variable bsp::A7
          • Variable bsp::A8
          • Variable bsp::A9
          • Variable bsp::CAN_RX_PIN
          • Variable bsp::CAN_TX_PIN
          • Variable bsp::I2C_SCL
          • Variable bsp::I2C_SDA
          • Variable CHARS
          • Variable hi_can::addressing::ADDRESS_LENGTH
          • Variable hi_can::addressing::compute::primary::SUBSYSTEM_ID
          • Variable hi_can::addressing::compute::SYSTEM_ID
          • Variable hi_can::addressing::DEVICE_ADDRESS_BITS
          • Variable hi_can::addressing::DEVICE_ADDRESS_POS
          • Variable hi_can::addressing::DEVICE_MASK
          • Variable hi_can::addressing::drive::SYSTEM_ID
          • Variable hi_can::addressing::drive::vesc::SUBSYSTEM_ID
          • Variable hi_can::addressing::excavation::bucket::controller::DEVICE_ID
          • Variable hi_can::addressing::excavation::bucket::SUBSYSTEM_ID
          • Variable hi_can::addressing::excavation::SYSTEM_ID
          • Variable hi_can::addressing::GROUP_ADDRESS_BITS
          • Variable hi_can::addressing::GROUP_ADDRESS_POS
          • Variable hi_can::addressing::GROUP_MASK
          • Variable hi_can::addressing::legacy::drive::motors::esc::esc
          • Variable hi_can::addressing::legacy::drive::motors::SUBSYSTEM_ID
          • Variable hi_can::addressing::legacy::drive::SYSTEM_ID
          • Variable hi_can::addressing::legacy::excavation::bucket::bucket::manipulation::GROUP_ID
          • Variable hi_can::addressing::legacy::excavation::bucket::bucket::motors::GROUP_ID
          • Variable hi_can::addressing::legacy::excavation::bucket::SUBSYSTEM_ID
          • Variable hi_can::addressing::legacy::excavation::SYSTEM_ID
          • Variable hi_can::addressing::legacy::power::control::SUBSYSTEM_ID
          • Variable hi_can::addressing::legacy::power::SYSTEM_ID
          • Variable hi_can::addressing::MASK_ALL
          • Variable hi_can::addressing::MASK_NONE
          • Variable hi_can::addressing::MAX_ADDRESS
          • Variable hi_can::addressing::MAX_PACKET_LEN
          • Variable hi_can::addressing::MAX_SHORT_ADDRESS
          • Variable hi_can::addressing::PARAM_ADDRESS_BITS
          • Variable hi_can::addressing::PARAM_ADDRESS_POS
          • Variable hi_can::addressing::PARAM_MASK
          • Variable hi_can::addressing::post_landing::SYSTEM_ID
          • Variable hi_can::addressing::power::battery::SUBSYSTEM_ID
          • Variable hi_can::addressing::power::distribution::SUBSYSTEM_ID
          • Variable hi_can::addressing::power::SYSTEM_ID
          • Variable hi_can::addressing::shared::elevator::elevator::DEVICE_ADDRESS
          • Variable hi_can::addressing::shared::elevator::elevator::DEVICE_ID
          • Variable hi_can::addressing::shared::elevator::elevator::motor::GROUP_ID
          • Variable hi_can::addressing::shared::elevator::SUBSYSTEM_ID
          • Variable hi_can::addressing::shared::SYSTEM_ID
          • Variable hi_can::addressing::space_resources::SYSTEM_ID
          • Variable hi_can::addressing::status::GROUP_ID
          • Variable hi_can::addressing::SUBSYSTEM_ADDRESS_BITS
          • Variable hi_can::addressing::SUBSYSTEM_ADDRESS_POS
          • Variable hi_can::addressing::SUBSYSTEM_MASK
          • Variable hi_can::addressing::SYSTEM_ADDRESS_BITS
          • Variable hi_can::addressing::SYSTEM_ADDRESS_POS
          • Variable hi_can::addressing::SYSTEM_MASK
          • Variable i2c_imu_driver::LSM6DS3_ACCEL_SCALE_FACTOR
          • Variable i2c_imu_driver::LSM6DS3_GYRO_SCALE_FACTOR
          • Variable i2c_imu_driver::LSM6DS3_TEMP_OFFSET
          • Variable i2c_imu_driver::LSM6DS3_TEMP_SCALE_FACTOR
          • Variable i2c_imu_driver::LSM6DSOX_ACCEL_SCALE_FACTOR
          • Variable i2c_imu_driver::LSM6DSOX_GYRO_SCALE_FACTOR
          • Variable i2c_imu_driver::LSM6DSOX_TEMP_OFFSET
          • Variable i2c_imu_driver::LSM6DSOX_TEMP_SCALE_FACTOR
          • Variable i2c_imu_driver::MPU_ACCEL_SCALE_FACTOR
          • Variable i2c_imu_driver::MPU_GYRO_SCALE_FACTOR
          • Variable i2c_imu_driver::MPU_TEMP_OFFSET
          • Variable i2c_imu_driver::MPU_TEMP_SCALE_FACTOR
          • Variable perseus::servo::communication::DEFAULT_ACCELERATION
          • Variable perseus::servo::communication::DEFAULT_BAUD_RATE
          • Variable perseus::servo::communication::MAX_RETRIES
          • Variable perseus::servo::error_bits::ANGLE_LIMIT
          • Variable perseus::servo::error_bits::CHECKSUM
          • Variable perseus::servo::error_bits::INPUT_VOLTAGE
          • Variable perseus::servo::error_bits::INSTRUCTION
          • Variable perseus::servo::error_bits::OVERHEATING
          • Variable perseus::servo::error_bits::OVERLOAD
          • Variable perseus::servo::error_bits::RANGE
          • Variable perseus::servo::instruction::ACTION
          • Variable perseus::servo::instruction::PING
          • Variable perseus::servo::instruction::READ
          • Variable perseus::servo::instruction::REG_WRITE
          • Variable perseus::servo::instruction::SYNC_WRITE
          • Variable perseus::servo::instruction::WRITE
          • Variable perseus::servo::limits::MAX_POSITION
          • Variable perseus::servo::limits::MAX_TORQUE
          • Variable perseus::servo::limits::MIN_POSITION
          • Variable perseus::servo::limits::MIN_TORQUE
          • Variable perseus::servo::limits::TORQUE_SAFETY_THRESHOLD
          • Variable perseus::servo::protocol::BROADCAST_ID
          • Variable perseus::servo::protocol::HEADER1
          • Variable perseus::servo::protocol::HEADER2
          • Variable perseus::servo::register_addr::ACCELERATION
          • Variable perseus::servo::register_addr::BAUD_RATE
          • Variable perseus::servo::register_addr::CCW_DEAD_BAND
          • Variable perseus::servo::register_addr::CW_DEAD_BAND
          • Variable perseus::servo::register_addr::FIRMWARE_MAIN_VERSION
          • Variable perseus::servo::register_addr::FIRMWARE_SUB_VERSION
          • Variable perseus::servo::register_addr::GOAL_POSITION
          • Variable perseus::servo::register_addr::GOAL_SPEED
          • Variable perseus::servo::register_addr::ID
          • Variable perseus::servo::register_addr::LOCK
          • Variable perseus::servo::register_addr::MAX_INPUT_VOLTAGE
          • Variable perseus::servo::register_addr::MAX_POSITION_LIMIT
          • Variable perseus::servo::register_addr::MAX_TEMPERATURE_LIMIT
          • Variable perseus::servo::register_addr::MAX_TORQUE_LIMIT
          • Variable perseus::servo::register_addr::MIN_INPUT_VOLTAGE
          • Variable perseus::servo::register_addr::MIN_POSITION_LIMIT
          • Variable perseus::servo::register_addr::MOVING_STATUS
          • Variable perseus::servo::register_addr::OPERATING_MODE
          • Variable perseus::servo::register_addr::POSITION_OFFSET
          • Variable perseus::servo::register_addr::PRESENT_CURRENT
          • Variable perseus::servo::register_addr::PRESENT_LOAD
          • Variable perseus::servo::register_addr::PRESENT_POSITION
          • Variable perseus::servo::register_addr::PRESENT_SPEED
          • Variable perseus::servo::register_addr::PRESENT_TEMPERATURE
          • Variable perseus::servo::register_addr::PRESENT_VOLTAGE
          • Variable perseus::servo::register_addr::RETURN_DELAY_TIME
          • Variable perseus::servo::register_addr::RUNNING_TIME
          • Variable perseus::servo::register_addr::SERVO_MAIN_VERSION
          • Variable perseus::servo::register_addr::SERVO_SUB_VERSION
          • Variable perseus::servo::register_addr::STATUS_RETURN_LEVEL
          • Variable perseus::servo::register_addr::TORQUE_ENABLE
          • Variable perseus::servo::register_addr::TORQUE_LIMIT
          • Variable perseus::servo::timing::COMMAND_INTERVAL
          • Variable perseus::servo::timing::DEFAULT_TIMEOUT
          • Variable perseus::servo::timing::MIN_RESPONSE_TIME
          • Variable perseus::servo::timing::PORT_SETTLE_TIME
          • Variable perseus::servo::timing::RETRY_DELAY
          • Variable perseus::servo::ui::MAX_DISPLAY_TORQUE
          • Variable perseus::servo::ui::POSITION_BAR_LENGTH
          • Variable perseus::servo::ui::SERVO_REFRESH_DELAY_MS
          • Variable perseus::servo::ui::TORQUE_BAR_WIDTH
          • Variable perseus_vision::CLASS_COLOURS
          • Variable perseus_vision::CLASS_NAMES
        • Defines
          • Define DEFAULT_HEIGHT
          • Define DEFAULT_MAX_ITER
          • Define DEFAULT_SIZE
          • Define DEFAULT_WIDTH
          • Define HI_CAN_PARAM_DECLARE_SCALED_INT16_T
          • Define HI_CAN_PARAM_DECLARE_SCALED_INT32_T
          • Define MISSED_PACKET_TIMEOUT_COUNT
          • Define POINTCLOUD_TO_LASERSCAN_EXPORT
          • Define POINTCLOUD_TO_LASERSCAN_IMPORT
          • Define POINTCLOUD_TO_LASERSCAN_LOCAL
          • Define POINTCLOUD_TO_LASERSCAN_PUBLIC
          • Define POINTCLOUD_TO_LASERSCAN_PUBLIC_TYPE
          • Define X_MAX
          • Define X_MIN
          • Define Y_MAX
          • Define Y_MIN
        • Typedefs
          • Typedef bsp::pin_pair_t
          • Typedef GoalHandleNav
          • Typedef hi_can::addressing::mask_t
          • Typedef hi_can::addressing::raw_address_t
          • Typedef hi_can::packet_callback_t
          • Typedef hi_can::parameters::excavation::bucket::controller::current_t
          • Typedef hi_can::parameters::excavation::bucket::controller::magnet_t
          • Typedef hi_can::parameters::excavation::bucket::controller::speed_t
          • Typedef hi_can::parameters::legacy::drive::motors::limits_t
          • Typedef hi_can::parameters::legacy::drive::motors::speed_t
          • Typedef hi_can::parameters::legacy::drive::motors::status_t
          • Typedef hi_can::parameters::legacy::excavation::bucket::motor_speed_t
          • Typedef hi_can::parameters::legacy::power::control::contactor::control_t
          • Typedef hi_can::parameters::legacy::power::control::power_bus::immediate_control_t
          • Typedef hi_can::parameters::legacy::power::control::power_bus::scheduled_control_t
          • Typedef hi_can::parameters::legacy::power::control::power_bus::status_t
          • Typedef NavigateThroughPoses
          • Typedef pointcloud_to_laserscan::MessageFilter
          • Typedef WINDOW
    • Board Name Abbreviations

    Hardware¶

    This sections contains information on the physical pieces of hardware within Perseus. If you’re looking for information on hardware systems, like networking, please see Hardware Systems.

    Board Name Abbreviations¶

    SBB¶

    Smol Brain Board

    RCB¶

    Rover Control Board

    CAN Daisy Chain Board¶
    Daisy Chain Board¶

    CAN Bus Daisy Chain PCB

    VESC¶

    The type of ESC used on Perseus. See more here: VESCs

    © Copyright 1980, ROAR Team.
    Created using Sphinx 8.2.3. and Sphinx-Immaterial