Introduction

ACDC4Robot (Automated Conversion of Description Conventions for Robot), an open sourced add-in to extract robot model information from robot design for simulation.
ACDC4Robot supports exporting URDF, SDFormat, and MJCF files from Autodesk Fusion 360 from a GUI panel.
ACDC4Robot aims to bridge the gap between robot morphology design and simulation for data driven methods, thereby advancing the fields of robotics.

Installation instruction can be found at ACDC4Robot repository.

Motivations

Robot development is a systematic project that unfolds through several distinct phases. A practical way to describe this process is by delineating it into four key phases: design, simulation, deployment, and application.

  • Design Phase: The mechanical design, which dictates the robot’s morphology, is developed during this initial phase. Presently, the design of robot mechanics is accomplished using CAD (Computer-Aided Design) software. This phase is crucial for establishing the foundational structure and capabilities of the robot.
  • Simulation Phase: Simulation serves two primary purposes. Firstly, it validates the mechanical design’s viability. More importantly, simulation is pivotal for designing control policies, especially leveraging data-driven methods such as machine learning, which have shown substantial promise in generating effective control policies. Simulators, being cost-effective and efficient platforms for data collection, play a vital role in the development of robotics.
  • Deployment Phase: After the simulation, the control policy is deployed onto the robot’s hardware to test its efficacy. This phase is essential for evaluating how well the theoretical designs and simulations translate into real-world functionality.
  • Application Phase: In the final phase, the robot is required to perform tasks in specific environments and, potentially, collaborate with humans. This phase tests the robot’s ability to operate in real-world conditions and interact safely and effectively with human operators.

Throughout these four stages, significant research challenges emerge, not only within each phase but also in the transitions between them. For instance, the “Design2Sim” challenge refers to the difficulties in transferring morphological information from CAD software to simulators, highlighting issues of compatibility. The “Sim2Real” gap represents the challenges in bridging the differences between simulated environments and real-world conditions. Lastly, “Human-Robot Interaction” (HRI) becomes a critical research area when robots are deployed in environments that require interaction with humans.

Design2Sim Problem

In the design phase of robotics, designers draw upon their engineering knowledge and experience to develop robots that meet specific requirements. Crafting a robot that fulfills these criteria extends beyond merely devising a particular geometric shape; it is crucial to ensure that the robot’s design accommodates the necessities of motion control and the demands of the task space. Hence, the design process must take into account the robot’s kinematic characteristics to satisfy the requirements of the task space; consider material and geometric properties to meet certain mechanical performance indices; and incorporate relevant dynamic features to fulfill the needs of motion control.

The kinematic, dynamic, and geometric characteristics of a robot are precisely the types of model information required for robot simulation and learning. This data forms the essential foundation for the feasible transfer of robotic design information into robotic simulation systems.

In practice, however, the file formats output by CAD software systems, such as STEP, STL, DAE, and others, do not align with the robot description formats required by robotic simulators, such as URDF, SDF, and MJCF. This lack of uniformity in file formats presents significant challenges and complications for research and development efforts. Researchers and developers must invest considerable time and resources to address this Design2Sim issue, navigating the gap between design outputs and simulation requirements.

Methods

CAD for robot design

The current phase of robotic morphology design has advanced beyond the rudimentary tools of pen and paper, embracing sophisticated computer software—specifically, Computer-Aided Design (CAD)—to facilitate designers in more effectively translating their experience, knowledge, and concepts into viable robotic form designs. Presently, the market offers a multitude of three-dimensional CAD software options. Among those frequently employed in the domain of robotic design are SolidWorks, Fusion 360, OnShape, and Blender, to name a few. We provide a preliminary comparison of these tools herein.

SolidWorks, recognized as one of the most venerable and widely utilized three-dimensional design software, is confined to the Windows operating system, which limits its applicability. Moreover, its subscription-based pricing model introduces a barrier to entry for some users. Blender, on the other hand, is compatible with various operating systems and is free and open-source, making it accessible to a broad range of users. However, the modeling approach adopted by Blender is less precise, making it less suitable for mechanical design. OnShape shares similarities with Blender in terms of accessibility, but its API does not support Python and C++, which are the most widely used programming languages in the field of robotics. This limitation imposes a certain learning cost on developers.

Fusion 360 accommodates both Windows and macOS operating systems, making it versatile across different platforms. Its pricing model, which allows for free use by individual users, renders it particularly user-friendly. Moreover, the support for Python and C++, two programming languages that are extensively utilized in the robotics sector, makes it highly conducive to developers in this field.

In summary, Fusion 360 emerges as an exceptionally competent CAD software platform within the realm of robotic design. On this basis, we have selected Fusion 360 as our CAD software platform of choice to serve as the foundation for this project.

Simulators for robotics research

In the field of robotics, a variety of simulators exist, each possessing distinct characteristics and applications. Herein, we enumerate several commonly utilized generic robot simulators and provide a cursory comparison among them.

Robot Description Format

Robot description format is a stractured data format to represent robot system model and even the environment informatioin. It contains information about robot that can be used for simulation, visualization, and planning, etc. Like CAD software and robotics simulators, there are several robot description formats such as URDF(Unified Robotics Description Format), SDFormat (Simulation Description Format), MJCF, etc.

ACDC4Robot

Here we present ACDC4Robot to reduce the gap between robot design process to robot simulation thus accelerate the robot development especially data driven methods.

As the diagram above shows, robot model can be designed or imported in Fusion 360 and ACDC4Robot will extract necessory information to transform into robot description formats. ACDC4Robot can export URDF, SDF, and MJCF that can be used for most general robot simulators.

ACDC4Robot provides an intuitive GUI to execute the operations.

Examples

Manipulator

The following example illustrates the application of ACDC4Robot:

This UR5e robot model is acquired from manufacturer’s website in .step file format and we assemble it manually in Fusion 360. UR5e is a widely used colliborative robot arm type in industry and research thus can represent the type of manipulator and serial chain structure.

Utilizing ACDC4Robot, we exported the robot model in .urdf, .sdf, and .mjcf file formats to evaluate its performance within the simulation environments of PyBullet, Gazebo, and MuJoCo, respectively.

The outcomes demonstrate that ACDC4Robot successfully translates the design into the required robot description formats accurately, facilitating seamless design to simulation process.

Gripper

The Robotiq gripper, another commercial product, was modeled based on its .step file obtained from the manufacturer, which we then manually assembled in Fusion 360. Compared to the UR5e example, the Robotiq gripper presents a more intricate case due to its closed-loop chain structure.

Given that URDF and MJCF formats do not inherently support closed-loop chain structures, we opted to export the Robotiq gripper model in the SDFormat and conducted tests within the Gazebo simulation environment.

These tests indicate that ACDC4Robot proficiently addresses the challenges associated with simulating closed-loop chain structures, showcasing its robust capability in this domain.

Bennett Quadruped Robot

This quadruped robot is design by our lab using bennett mechanism as its leg, which embodies another instance of a closed-loop chain structure. This design is notably more complex than those of the UR5e and the Robotiq gripper, comprising a greater number of components.

This case exemplifies how ACDC4Robot can be effectively employed for complex robotic models in research, significantly hastening the transition from design to simulation.