chvmp / champ_setup_assistant

CHAMP Package Config Generator
BSD 3-Clause "New" or "Revised" License
81 stars 23 forks source link
legged-robotics legged-robots quadruped-robot-gaits quadruped-robots robotics ros urdf

CHAMP Setup Assistant Build Status

This software auto generates a configuration package containing all the files necessary to make CHAMP walk.

CHAMP Setup Assistant

1. Installation

1.1. Clone and install all dependencies:

    sudo apt install -y python-rosdep
    cd <your_ws>/src
    git clone https://github.com/chvmp/champ_setup_assistant
    cd ..
    rosdep install --from-paths src --ignore-src -r -y

1.2. Build your workspace:

    cd <your_ws>
    catkin_make
    source <your_ws/>/devel/setup.bash

2. Quick Start

2.1. Run the setup assistant:

    roslaunch champ_setup_assistant setup_assistant.launch 

Configure your robot by loading a URDF or manually key in the configuration parameters. If you don't have a URDF now, you can download ANYmal or SpotMicro to try the package.

3. Leg Configuration

You can either use a URDF file or manually key in the origin of each actuator in the robot.

3.1. Using a URDF file:

3.1.1 The following assumptions have been made to avoid fragmentation across different robots as there can be thousands of ways to create a robot's URDF. You need to modify your URDF if any of these assumptions are not met:

You can use the image below as a reference.

AXES: +X: Red, +Y: Green, +Z: Blue CHAMP Setup Assistant

3.1.2 Load the URDF file:

3.1.3 Select the namespace for each leg (auto-configuration):

3.1.4 Manually adding links if auto-configuration in previous step (3.1.2) fails:

3.1.5 Verify the configuration:

3.2. Manual Joint Configuration:

This step is only required if you don't have a URDF file to use. In this step, you'll define the position of each actuator in your robot to help the controller find the relative position of each joints.

By reference frame, it means the previous part in this chain: base - hip - upper_leg - lower_leg - foot. For instance if you're defining the position of the actuator at the hip, the reference frame will be 'base' and if youre defining the position of the upper_leg then your reference frame will be 'hip'.

You can take a look at the diagram below to gain some intuition. Alway define these positions from a bird's eye view.

CHAMP Setup Assistant

Some axis won't allow you to define in a certain direction if the assistant thinks that it doesn't make sense to define the position towards that direction. For instance, you won't be able to define front right hip's actuator y value as positive as this actuator is always at the right side (-y) of the base.

Once you're done with the left-front leg, the assistant will somehow predict the rest of the actuators' position. You can click on the rest of the leg tabs to check if the predictions are correct. You can still define the position manually if the prediction is wrong.

4. Gait Configuration

Click on the 'Gait Configuration' tab to define the robot's walking parameters.

CHAMP Setup Assistant

5. Generate Config Package

Before you generate the configuration package make sure you have configured all the legs and set the correct gait configurations.