# gz_rosa_control **Repository Path**: ojeffreyo/gz_rosa_control ## Basic Information - **Project Name**: gz_rosa_control - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-18 - **Last Updated**: 2025-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gazebo\_ros\_omni\_drive ---------- *A omnidirectional (four mechanum wheels ) drive plugin for gazebo. Based on the diffdrive plugin and planar move plugin. *The planar move used includes an interesting correction made by F.M. Rico in 2023 *The plugin is partially operative It computes de Fk and IK and uses a simplified velocity controller for the wheels if used. tf broadcasting of wheels is made by default. *Although the plugin code uses only the gazebo_ros_omni_drive.(cpp,hpp) files, the repo also includes the sources used for the plugin implementation. *prof.: Miguel Hernando (2023)* [![Plugin demo with ROSA robot](https://markdown-videos-api.jorgenkh.no/url?url=https%3A%2F%2Fyoutu.be%2FV3p5xCgLpGY)](https://youtu.be/V3p5xCgLpGY) ### install: ``` cd src/ git clone https://github.com/mhernando/gz_rosa_control.git sudo rosdep init rosdep update rosdep install --from-paths src/gz_rosa_control -y --ignore-src colcon build --symlink-install source install/setup.sh ``` ### LIB REQUIREMENTS sudo apt install ros-foxy-gazebo-dev sudo apt install ros-foxy-gazebo-msgs sudo apt install ros-foxy-gazebo-ros   ### PLUGIN PARAMETERS: ![Image of rubik](images/gz_ros_plugin_parameters.jpg) The figure shows the main parameters needed for the similation of omnidirectional drive and also de used conventions. - commandTopic: Twist topic used as input - odometryTopic: topic where publish the odometry data - odometryFrame: the TF frame for odometry - odometryRate: (double) Odometry frecuency update [Hz] - robotBaseFrame: base frame of the robot - wheel_radius: All the 4 wheels have the same radius [meters] - base_lenght: (check figure) distance between front and rear wheels [meters] - base_width: (check figure) distance between left and right wheels [meters] - front_left_joint: joint name of the rotational joint of the referenced wheel - rear_left_joint: joint name of the rotational joint of the referenced wheel - front_right_wheel: joint name of the rotational joint of the referenced wheel - rear_right_wheel: joint name of the rotational joint of the referenced wheel - wheel_max_speed: maximun allowed ratational speed [rad/sec] - wheel_acceleration: angular acceleration of the wheel [rad/sec^2] - joint_config: a string with 4 integer values (1 or -1). Correction of the joint rotational direction. Its useful to allow the use of the same wheel component for all the wheels but controlling them with a virtual angular velocity. Internally, de FK and the IK, consider a positive velocity of the wheels when they try to move the robot forward. ### Example of use in a urdf file: ```xml cmd_vel odom odom 20.0 base_footprint 0.075 0.65 0.65 wheel_front_left_joint wheel_front_right_joint wheel_back_left_joint wheel_back_right_joint 20.0 10.0 1 1 -1 -1 ```