How to Use ControlIt! with atlas_legs_plain (COM Position)

 

Generate the URDF

To generate the URDF:

$ roscd atlas_legs_plain_controlit/models
$ ./generate_atlas_legs_plain_urdfs.sh

Launch Using a Single Command

To run the demo using a single command:

$ reset && roslaunch atlas_legs_plain_controlit simulate_com.launch

Launch Using Multiple Commands

Start roscore:

$ roscore

Start the shared memory manager:

$ rosrun shared_memory_interface shared_memory_manager

Open a new terminal and load the necessary parameters by executing one of the following commands:

$ roslaunch atlas_legs_plain_controlit load_atlas_legs_plain_parameters_com.launch

The command above will load the parameters and then exit.

Start the simulation:

$ roslaunch atlas_legs_plain_controlit gazebo.launch

Gazebo will appear with a Atlas' legs.

Start the controller:

$ roslaunch atlas_legs_plain_controlit start_controlit.launch

The above command will start ControlIt! and block. Hit play in Gazebo to start the demo.

To view the robot in RViz:

$ rosrun rviz rviz

Usage Notes

To change the goal COM position:

$ rostopic pub /atlas_legs_plain_controller/COMTask/goalPosition std_msgs/Float64MultiArray '{layout: {dim: [{label: "x", size: 3, stride: 3}], data_offset: 0}, data: [0.03, 0.0, 0.35]}'

In the past, the most you could shift the COM to the side was 0.05m:

$ rostopic pub /atlas_legs_plain_controller/COMTask/goalPosition std_msgs/Float64MultiArray '{layout: {dim: [{label: "x", size: 3, stride: 3}], data_offset: 0}, data: [0.03, 0.05, 0.35]}'