Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

FixPosition Simulator

Overview

The FixPosition Simulator is a ROS 2-based tool designed to emulate real-world positioning and odometry data for testing and development purposes. It publishes simulated data on various topics, enabling developers to test navigation, localization, and other robotics applications without the need for physical hardware.

Simulator Setup

To integrate the FixPosition Simulator with your robot, add the following <xacro:fixposition_full_setup> tag to your robot's URDF or Xacro file:

<xacro:fixposition_full_setup 
    parent="Bridge" 
    xyz="-0.0028148 -0.11697 0.21171" 
    rpy="1.5708 0 1.5708" 
    poi_frame_xyz="10.0 0.05 0.3" 
    poi_frame_rpy="0 0 0" 
    fusion_rate="30.0"/>

Parameters Explained:

  • parent: Name of the parent link in the URDF to which the simulator's sensor is attached (e.g., "Bridge").
  • xyz: Position of the sensor relative to the parent link (e.g., "-0.0028148 -0.11697 0.21171").
  • rpy: Orientation of the sensor in Roll, Pitch, Yaw angles (e.g., "1.5708 0 1.5708").
  • poi_frame_xyz: Position of the POI frame relative to the sensor (e.g., "10.0 0.05 0.3").
  • poi_frame_rpy: Orientation of the POI frame in Roll, Pitch, Yaw angles (e.g., "0 0 0").
  • fusion_rate: Fusion rate in Hz (e.g., "30.0").

Example Integration:

<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="my_robot">

  <!-- Include FixPosition Simulator Macros -->
  <xacro:include filename="$(find fixposition_sensor_pkg)/urdf/fixposition_main.xacro"/>

  <!-- FixPosition Simulator Setup -->
  <xacro:fixposition_full_setup 
      parent="base_link" 
      xyz="0.1 0.0 0.2" 
      rpy="0 0 0" 
      poi_frame_xyz="5.0 0.0 0.0" 
      poi_frame_rpy="0 0 0" 
      fusion_rate="30.0"/>
  
</robot>

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/fixposition_simulator.git
  2. Build the package:
    cd fixposition_simulator
    colcon build
  3. Source the workspace:
    source install/setup.bash

ROS Interface

The ROS interface, tree frame, and data generated by the simulator are similar to the real sensor (excluding NMEA topics). For more details, refer to the official FixPosition ROS Driver documentation.

/fixposition/reset_poish

The /fixposition/reset_poish service allows users to reset the POI (Point of Interest) frame in the FixPosition Simulator. This service accepts a std_srvs/Empty message, which clears any existing transformations or offsets applied to the POI frame and resets it to its initial state.

Use Case:

  • Useful during simulation when you need to reinitialize or realign the POI frame without restarting the entire simulator node.

Service Type: std_srvs/Empty

Example:

ros2 service call /fixposition/reset_poish std_srvs/srv/Empty

Expected Behavior:

  • The POI frame is reset to its original configuration as defined in the URDF/Xacro file.

Limitations

  • The simulator mimics normal sensor operations and is not intended for testing scenarios in GPS-degraded or denied environments.

About

Package for the fixposition Gazebo simulator.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages