Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Dual-Arm Robot RL-based Operational Space Control

The code provided includes:

  1. The simulation of a dual-arm robot (DAR) composed of two Franka FR3 arms in MuJoCo.
  2. The Compliant Control strategy combining the RL-based torque compensation scheme implemented in Tensor flow for the simulated DAR.
  3. The Compliant Control strategy combining the RL-based torque compensation scheme implemented in Tensor flow for the real DAR using two Franka FR3 arms with in C++/libfranka.
  4. The URDF MuJoCo files for the DAR involving the two Franka FR3 arms with optimized parameters for effective sim2real.

Requires Python 3.x, Tensoflow, MuJoCo 3.1.3, OpenGL, C++, libfranka.

Version 1.0 - 2025.10.15

Copyright (c) 2025 Robotics and Automation Laboratory of Pontificia Universidad Catolica de Chile under MIT License. See LICENSE.txt file.

Source: https://github.com/RAL-UC/Dual_Arm_Robot_RL_OSC


Dual-arm mobile manipulator


GENERAL DESCRIPTION OF THE DUAL-ARM COMPLAINT RL-BASED CONTROL

FR3 arms employ the model in MuJoCo Menangerie: https://github.com/google-deepmind/mujoco_menagerie/tree/main/franka_fr3, which is derived from the publicly available URDF description available at: https://github.com/frankaemika/franka_description.

An older model of the arms, based on the Panda Arm (or Franka Emika Robot FER), which includes the Franka Hand can be found at: https://github.com/vikashplus/franka_sim.

The mobile base model is derived from the Agilex Robotics description found at: https://github.com/agilexrobotics/ugv_gazebo_sim/tree/master/bunker/bunker_description

  • The Dual-Arm Mobile Manipulator Model inherits settings from the FR3 and Bunker Mujoco models.

  • The accuracy of the original model parameters has not been verified.

  • The model descriptions and assets are contained in folders:

           ../assets/FR3, ../assets/agilex_bunker
    
  • To use the assests in "../assets/.." the following MuJoCo compiler option was included:

           '<compiler ... meshdir="assets" ... />'
    
  • The main model file is DAMM1.xml, and the model was divided into subfiles:

          Mobile Base: <include file='assets/agilex_bunker/agilex_bunker_body.xml'/>
    
            Arm 1: <include file="assets/FR3/FR3_body.xml"/>
      	  
            Arm 2: <include file="assets/FR3/FR3_body_2.xml"/>
    
  • To change the position of the arms on the mobile base, simply update the posistion specification in the lines below:

           <body name="arm_base_1" childclass="fr3" pos="0.05 0 0.42">
           <body name="arm_base_2" childclass="fr3" pos="-0.3 0 0.42">
    

    Note, the current configuration has one arm in front and the other at the rear of the mobile base.

  • Actuators are all specified as motors, and are contained in the corresponding assets subdirectories:

           <include file='assets/agilex_bunker/agilex_bunker_actuators.xml'/>
    
           <include file='assets/FR3/FR3_actuators.xml'/>
    
           <include file='assets/FR3/FR3_actuators_2.xml'/> 
    
  • The model does not include sensors nor other settings. The goal was to keep it as simple as possible.


RUNNING THE MODEL

Simply execute sim_damm.py from the terminal.

To visualize the MuJoCo model in the XML file simply drag-and-drop the DAMM1.XML file onto the MuJoCo's simulate user-interface.

A short tutorial on MuJoCo's XML file for model description can be found in file L03_tutorial_mujoco.pdf.


Dual-arm mobile manipulator, another view. Dual-arm mobile manipulator, in MuJoCo's simulation user-interface.

About

Dual Arm Robot RL-based Operational Space Control

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors