adityakamath / akros2_base

Packages related to the AKROS2 base including drivers, sensors, filters, and fusion

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

akros2_base

GitHub License X (formerly Twitter) Follow

ROS2 package to run AKROS2 base nodes with different configurations - Mecanum Drive (4 wheeled), Omni-Wheel Drive (3 wheeled) and Differential Drive (2 wheeled). This package includes packages related to drivers, sensors, filters and fusion.

twist_mixer_launch.py

This launch file runs the twist_mixer executable by itself. Parameter and Topic remappings are done in the launch file and there are no launch arguments.

teleop_launch.py

This launch files runs all teleop related nodes and launch files - the joy and teleop_twist_joy nodes using joy_launch.py, and the joy_mode_handler node, all from akros2_teleop. The joy_config launch argument is used to configure the controller. Parameters are set using config files in akros2_teleop.

sensor_fusion_launch.py

This is the launch file for running sensor fusion related nodes. Currently, this implements the Madgwick Filter for filtering IMU measurements and the Extended Kalman Filter from robot_localization to fuse the filtered IMU measurements and Wheel Odometry messages from the robot. This launch file subscribes to raw IMU (/imu), Magnetometer if available (/mag) and wheel Odometry (/odometry) messages, and publishes filtered IMU (/imu/filtered) and Odometry (/odometry/filtered) messages, alongside the odom->base_footprint transform. Additionally, this launch file also launches the motion_detector node which uses the angular velocities from the filtered IMU messages to detect for any motion based on thresholds defined in the config directory. If motion is detected, the published Bool message (/in_motion) is set to True.

The config launch argument can be used for selecting the robot platform: mecanum (4-wheeled), omni (3-wheeled) or diff (2-wheeled) with the config files available in the config directory in the corresponding folders (Default: mecanum).

laser_launch.py

This launch file runs the ldlidar and laser_filters packages. It has only one launch argument:

  • laser_filter: Enable/Disable the LIDAR filter chain (Default: True)

camera_launch.py

This launch file runs the v4l2_camera packages. It has two launch arguments:

  • config: Used to select cameras from the different configurations: mecanum, omni, diff (Default: mecanum)
  • compose: If True, launches the camera node as a composable container. If False, runs the node normally. The normal method also publishes compressed image data. However, with the composable container, the compressed image plugins are not used by default (WIP) (Default: False)

control_launch.py

Launches the micro-ROS agent with the correct arguments based on the value of config:

  • config: Launches specific low-level control nodes based on the configs: mecanum, omni, diff (Default: mecanum)

tof_imager_launch.py

Launches the tof_imager_ros package using the config file in config/akros2_diff/tof_imager_config.yaml as this sensor is currently only used on the differential drive robot. There are no arguments in this launch file.

About

Packages related to the AKROS2 base including drivers, sensors, filters, and fusion

License:Apache License 2.0


Languages

Language:Python 100.0%