How to Use ControlIt! with stickbot_bipedal_12dof (Joint Position)

This section describes how to control the joint positions of stickbot_bipedal_12dof using ControlIt!.

Generate the Model

To generate the model:

$ roscd stickbot_bipedal_12dof_controlit/models/
$ ./generate_stickbot_bipedal_12dof_controlit_urdfs.sh

Launch Using a Single Command

To run the demo using a single command:

$ reset && roslaunch stickbot_bipedal_12dof_controlit simulate_jpos.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 stickbot_bipedal_12dof_controlit load_stickbot_bipedal_parameters_jpos.launch 

The command above will load the parameters and then exit.

Start the simulation:

$ roslaunch stickbot_bipedal_12dof_controlit gazebo.launch 

Gazebo will appear with a simple 12 DOF robot as shown below.

Start the controller:

$ roslaunch stickbot_bipedal_12dof_controlit start_controlit.launch

The above command will start ControlIt! and block. Hit play in Gazebo to start the demo. You should see the robot stabilize in the following pose:

To view the robot in RViz:

$ rosrun rviz rviz 

Here is what you should see:

In RViz, you can visualize the frames of each link. For example, the screenshot below shows the frames of the robot’s left and right feet.

Usage Notes

TODO: Add Usage Notes here

Demo Notes

  1. The YAML configuration file is located here:  hcrl_robots/stickbot_bipedal_12dof/parameters/JointPositionControl.yaml
  2. To get the names and indices of each joint in the robot:
    $ rosservice call /stickbot_bipedal_12dof_controller/diagnostics/getJointIndices