Skip to content

Commit b8ce894

Browse files
committed
Pull request #200: feat: adding imu sensors for gazebo
Merge in MOCTRL/franka_ros2 from feat/gazebo_imu_sensors_jazzy to jazzy * commit '1179342fe673056de0c2855aea5a84a52d3e8d5e': fix: franka gazebo got deleted
2 parents df81747 + 1179342 commit b8ce894

5 files changed

Lines changed: 51 additions & 5 deletions

File tree

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Requires libfranka >= 0.20.4 and franka_description >= 2.4.0 requires ROS 2 Jazz
2424
* feat: mobile fr3 duo example added
2525
* refactor: franka example controllers divided into robot types
2626
* feat: mobile fr3 duo example for gazebo
27+
* feat: add gazebo sensors xacro in franka_gazebo
2728

2829
v3.2.0 (2026-01-15)
2930
-------------------

franka_gazebo_bringup/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ find_package(ament_cmake REQUIRED)
1212
# Install project launch files
1313
install(
1414
DIRECTORY
15-
launch config
15+
launch config urdf
1616
DESTINATION share/${PROJECT_NAME}
1717
)
1818

franka_gazebo_bringup/launch/visualize_franka_robot.launch.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,9 @@ def get_robot_description(context: LaunchContext, robot_type, load_gripper, fran
3636
franka_hand_str = context.perform_substitution(franka_hand)
3737

3838
franka_xacro_file = os.path.join(
39-
get_package_share_directory('franka_description'),
40-
'robots',
41-
robot_type_str,
42-
robot_type_str + '.urdf.xacro'
39+
get_package_share_directory('franka_gazebo_bringup'),
40+
'urdf',
41+
'franka_arm.gazebo.xacro'
4342
)
4443

4544
robot_description_config = xacro.process_file(
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="franka_arm_gazebo">
3+
<xacro:arg name="robot_type" default="fr3"/>
4+
5+
<!-- Include base robot fr3 -->
6+
<xacro:include filename="$(find franka_description)/robots/$(arg robot_type)/$(arg robot_type).urdf.xacro"/>
7+
8+
<!-- Include gazebo macros -->
9+
<xacro:include filename="$(find franka_gazebo_bringup)/urdf/sensors.xacro"/>
10+
11+
<!-- Arm IMUs -->
12+
<!-- arm prefix is inherited from the franka_description xacro -->
13+
<xacro:franka_gazebo_arm_imus arm_prefix="$(arg arm_prefix)" robot_type="$(arg robot_type)" imu_side="top"/>
14+
<xacro:franka_gazebo_arm_imus arm_prefix="$(arg arm_prefix)" robot_type="$(arg robot_type)" imu_side="bottom"/>
15+
16+
</robot>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0"?>
2+
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
3+
4+
5+
<!-- Franka Gazebo IMU -->
6+
<xacro:macro name="franka_gazebo_imu" params="link_target gz_topic rate:=100">
7+
<gazebo reference="${link_target}">
8+
<sensor name="${link_target}" type="imu">
9+
<topic>${gz_topic}</topic>
10+
<always_on>true</always_on>
11+
<update_rate>${rate}</update_rate>
12+
<visualize>false</visualize>
13+
<plugin filename="libignition-gazebo-imu-system.so" name="ignition::gazebo::systems::Imu"/>
14+
</sensor>
15+
</gazebo>
16+
</xacro:macro>
17+
18+
<!-- Franka Gazebo Arm IMUs -->
19+
<!-- Every joint has an IMU on both sides of the pcb -->
20+
<xacro:macro name="franka_gazebo_arm_imus" params="arm_prefix robot_type imu_side">
21+
<xacro:property name="prefix" value="${arm_prefix + '_' if arm_prefix else '' + robot_type}"/>
22+
<xacro:franka_gazebo_imu link_target="${prefix}_link0_accelerometer_${imu_side}" gz_topic="/${prefix}/imu/link0/${imu_side}"/>
23+
<xacro:franka_gazebo_imu link_target="${prefix}_link1_accelerometer_${imu_side}" gz_topic="/${prefix}/imu/link1/${imu_side}"/>
24+
<xacro:franka_gazebo_imu link_target="${prefix}_link2_accelerometer_${imu_side}" gz_topic="/${prefix}/imu/link2/${imu_side}"/>
25+
<xacro:franka_gazebo_imu link_target="${prefix}_link3_accelerometer_${imu_side}" gz_topic="/${prefix}/imu/link3/${imu_side}"/>
26+
<xacro:franka_gazebo_imu link_target="${prefix}_link4_accelerometer_${imu_side}" gz_topic="/${prefix}/imu/link4/${imu_side}"/>
27+
<xacro:franka_gazebo_imu link_target="${prefix}_link5_accelerometer_${imu_side}" gz_topic="/${prefix}/imu/link5/${imu_side}"/>
28+
</xacro:macro>
29+
30+
</robot>

0 commit comments

Comments
 (0)