Skip to content

Latest commit

 

History

History
executable file
·
183 lines (131 loc) · 6.55 KB

README.md

File metadata and controls

executable file
·
183 lines (131 loc) · 6.55 KB

ic2d_description

GitHub issues GitHub pull requests GitHub forks GitHub stars GitHub license


A ROS2 description package for the IC2D platform (Impedance Control in 2 Dimensions)

📝 Table of Contents

🧐 About

This package contains the ROS2 description (URDF/xacro files) of IC2D (Impedance Control in 2 Dimensions). The files were generated using a simplified version of the CAD model available on this other repo and the solidworks_urdf_exporter. For simulation purposes, the package includes the virtual_spring_damper node, that simulates a spring-damper connection between the two moving platforms, with customizable undeformed length, stiffness and damping.

The package also has 2 launch files:

  • rsp.launch.py: robot state publisher. Simply loads the URDF onto the /robot_description topic. Can be visualized in Rviz2 or Foxglove.
Arguments (pass arguments as '<name>:=<value>'):

    'use_sim_time':
        Use sim time if true
        (default: 'true')

    'joint_1_config':
        Joint 1 configuration. Possible values: "linmot", "hydraulic", "fixed"
        (default: 'linmot')

    'joint_2_config':
        Joint 2 configuration. Possible values: "linmot", "hydraulic", "fixed"
        (default: 'linmot')

    'link_1_mass':
        Link 1 total mass
        (default: '18.505')

    'link_2_mass':
        Link 2 total mass
        (default: '7.3822')
  • gz_sim.launch.py: launches the robot in a simulated environment (Ignition Gazebo). Currently loads a simple joint position controller (from ros2_controllers) for preliminary testing purposes.
Arguments (pass arguments as '<name>:=<value>'):

    'undeformed_length':
        Undeformed length of the spring
        (default: '0.3')

    'stiffness':
        Stiffness of the spring
        (default: '6000.0')

    'damping':
        Damping coefficient of the damper
        (default: '100.0')

    'use_sim_time':
        Use sim time if true
        (default: 'true')

    'joint_1_config':
        Joint 1 configuration. Possible values: "linmot", "hydraulic", "fixed"
        (default: 'linmot')

    'joint_2_config':
        Joint 2 configuration. Possible values: "linmot", "hydraulic", "fixed"
        (default: 'linmot')

    'link_1_mass':
        Link 1 total mass
        (default: '18.505')

    'link_2_mass':
        Link 2 total mass
        (default: '7.3822')

🏁 Getting Started

This repo is a standard ROS2 package (ament_cmake).

🛠 Prerequisites

  • A ROS2 workspace (colcon)

💻 Installing

As mentioned above, this repo is a standard ROS2 package. Thus, you simply have to clone it inside your workspace's src directory.

cd <path_to_your_ros2_ws>/src
git clone https://github.com/leggedrobotics-usp/ic2d_description.git

Then, use colcon to build.

cd <path_to_your_ros2_ws>
colcon build --symlink-install

🎈 Usage

Use the provided launch files to test basic robot visualization and Gazebo simulation. Parameters are listed above (generated running ros2 launch ic2d_description <launch_file>.launch.py --show-args). Use the launch and URDF files layout as a starting point to load different controllers and use cases.

The virtual_spring_damper node is executed with command line arguments as follows:

ros2 run ic2d_description virtual_spring_damper undeformed_length=<value> stiffness:=<value> damping:=<value>

🔋 Feature requests

Want something more on the robot description? Open an Enhancement issue describing it.

🤝 Contributing

  • Fork the repo
  • Check out a new branch based and name it to what you intend to do:
    • git checkout -b BRANCH_NAME
  • Commit your changes
    • Please provide a git message that explains what you've done;
    • Commit to the forked repository.
      git commit -m "A short and relevant message"
  • Push to the branch
    • git push origin BRANCH_NAME
  • Make a pull request!

✍️ Author


Victor T. N. 🤖

Made with ❤️ by @Vtn21

🎉 Acknowledgements


Elisa G. Vergamini

Designer of IC2D