Skip to content

Commit

Permalink
Final unification
Browse files Browse the repository at this point in the history
  • Loading branch information
rafal-gorecki committed Jul 23, 2024
1 parent fb3c99b commit 6696964
Show file tree
Hide file tree
Showing 11 changed files with 134 additions and 321 deletions.
12 changes: 4 additions & 8 deletions panther_battery/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,13 @@ This package contains:

- `battery.launch.py` - is responsible for activating battery node, which dealing with reading and publishing battery data.

### battery.launch.py - Nodes

| Node name | *Type* |
| ---------------- | ---------------------------------- |
| `battery_driver` | [*panther_batter/battery_node*](.) |

## ROS Nodes

- `battery_node`: Publishes battery state read from ADC unit for Panther version 1.2 and above, or based on Roboteq motor controllers' data for earlier versions of the robot.
| Node name | Description <br/> *Type* |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `battery_driver` | Publishes battery state read from ADC unit for Panther version 1.2 and above, or based on Roboteq motor controllers' data for earlier versions of the robot. <br/> *[panther_batter/battery_node](.)* |

### battery_node
### battery_driver

#### Publishes

Expand Down
36 changes: 17 additions & 19 deletions panther_bringup/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,22 @@ This package contains:

- `bringup.launch.py` - is responsible for activating whole robot system.

### bringup.launch.py - Nodes

| Node name | *Type* |
| ------------------------- | ----------------------------------------------------------------------------------------------- |
| `battery_driver` | [*panther_battery/battery_node*](../panther_battery) |
| `controller_manager` | [*controller_manager/ros2_control_node*](https://github.com/ros-controls/ros2_control) |
| `ekf_filter` | [*robot_localization/ekf_node*](https://github.com/cra-ros-pkg/robot_localization) |
| `imu_broadcaster` | [*ros2_controllers/imu_broadcaster*](https://github.com/ros-controls/ros2_controllers) |
| `joint_state_broadcaster` | [*ros2_controllers/joint_state_broadcaster*](https://github.com/ros-controls/ros2_controllers) |
| `lights_controller` | [*panther_lights/lights_controller_node*](../panther_lights) |
| `lights_driver` | [*panther_lights/lights_driver_node*](../panther_lights) |
| `lights_manager` | [*panther_lights/lights_manager_node*](../panther_lights) |
| `navsat_transform` | [*robot_localization/navsat_transform_node*](https://github.com/cra-ros-pkg/robot_localization) |
| `panther_system` | [*panther_hardware_interfaces/PantherSystem*](../panther_hardware_interfaces) |
| `robot_state_publisher` | [*robot_state_publisher/robot_state_publisher*](https://github.com/ros/robot_state_publisher) |
| `safety_manager` | [*panther_manager/safety_manager_node*](../panther_manager) |
| `system_status` | [*panther_diagnostics/system_status_node*](../panther_diagnostics) |

## ROS Nodes

This package only runs external nodes. If you want to learn how to configure individual nodes, please check the appropriate package.
| Node name | Description <br/> *Type* |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `battery_driver` | Publishes battery state read from ADC unit for Panther version 1.2 and above, or based on Roboteq motor controllers' data for earlier versions of the robot. <br/> [*panther_batter/battery_node*](../panther_batter) |
| `controller_manager` | Controller Manager performs two main functions. First, it manages controllers and their required interfaces, handling tasks like loading, activating, deactivating, and unloading. Second, it interacts with hardware components, ensuring access to their interfaces. For more information, refer to [controller_manager](https://control.ros.org/master/doc/ros2_control/controller_manager/doc/userdoc.html). This node manages the: `imu_broadcaster`, `joint_state_broadcaster`, `drive_controller` <br/> *[controller_manager/controller_manager](https://github.com/ros-controls/ros2_control/blob/master/controller_manager)* |
| `drive_controller` | Manages mobile robots with a differential drive. It converts velocity commands for the robot body into wheel commands for the base. It also calculates odometry from hardware feedback and shares it. <br/> *[diff_drive_controller/diff_drive_controller](https://github.com/ros-controls/ros2_controllers/tree/master/diff_drive_controller)* |
| `ekf_filter` | The Extended Kalman Filter node is designed to fuse odometry data from various sources, including wheel encoders, IMU, and GPS. <br/> *[robot_localization/ekf_filter](https://github.com/cra-ros-pkg/robot_localization)* |
| `hardware_controller` | Plugin responsible for communicating with engine controllers via the CAN bus and providing E-Stop functionalities. <br/> *[panther_hardware_interfaces/PantherSystem](../panther_hardware_interfaces))* |
| `imu_broadcaster` | Publishes readings of IMU sensors. <br/> *[imu_sensor_broadcaster/imu_sensor_broadcaster](https://github.com/ros-controls/ros2_controllers/tree/master/imu_sensor_broadcaster)* |
| `joint_state_broadcaster` | Reads all state interfaces and reports them on specific topics. <br/> *[joint_state_broadcaster/joint_state_broadcaster](https://github.com/ros-controls/ros2_controllers/tree/master/joint_state_broadcaster)* |
| `lights_container` | Node for dynamically loadable components such as plugins <br/>[*rclcpp_components/component_container*](https://github.com/ros2/rclcpp/tree/rolling/rclcpp_components) |
| `lights_controller` | This node is responsible for processing animations and publishing frames to be displayed on the Husarion Panther robot Bumper Lights. <br/> [*panther_lights/ControllerNode*](./panther_lights) |
| `lights_driver` | This node is responsible for displaying frames on the Husarion Panther robot's Bumper Lights. <br/> [*panther_lights/DriverNode*](./panther_lights) |
| `lights_manager` | Node responsible for managing Bumper Lights animation scheduling. <br/> [panther_manager/lights_manager](../panther_lights/) |
| `navsat_transform` | It converts raw GPS data into odometry data and publishes corrected GPS positions based on sensor data at a higher frequency. <br/> *[robot_localization/navsat_transform](https://github.com/cra-ros-pkg/robot_localization)* |
| `robot_state_publisher` | Broadcasts a robot's state to tf2 using a provided URDF model and joint states. It updates the model and broadcasts poses for fixed and movable joints to tf2 topics. <br/> *[robot_state_publisher/robot_state_publisher](https://github.com/ros/robot_state_publisher)* |
| `safety_manager` | Node responsible for managing safety features, and software shutdown of components. <br/> *[panther_manager/safety_manager_node](../panther_manager)* |
| `system_monitor` | Publishes system state of the Built-in Computer such as CPU usage, RAM memory usage, disk usage and CPU temperature. <br/> *[panther_diagnostic/system_status_node](../panther_diagnostics/)* |
Loading

0 comments on commit 6696964

Please sign in to comment.