Skip to content

Latest commit

 

History

History
 
 

single_lwr_example

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

single_lwr_example

This package is a guide-trough-example to show how to use the kuka_lwr packages.

1. Set your scenario

Create you robot and environment using the lwr model.

For instance, in the package single_lwr_robot, the robot is a lwr mounted on a box, and the environment is just a ground plane with a sun.

Controllers and joint names are in the config folder. Note that the name space of controllers and the joint names contain the word lwr, which is the name you gave to the arm when creating the robot here.

NOTE: Other than standard ros-controllers, there are custom controllers that can be found in the lwr_controllers package.

2. Configure MoveIt!

Use the setup assistant to configure a MoveIt! package of your robot.

We already did that in the package single_lwr_moveit. We followed the instructions given in Section 3 here to update the configuration files of MoveIt!.

Note that the name of the controller and joint names must coincide with the name given in the robot package for the controller and joint names.

NOTE: recall that to run a real LWR 4+, you must follow instructions in lwr_hw.

3. Set your launch control panel

We encourage to have a separated package with your launch file to configure your different uses of your robot, including the network parameters.

We have an example in the package single_lwr_launch. To check which arguments are available use:

roslaunch --ros-args single_lwr_launch single_lwr.launch

Argument autocomplete was available in Groovy, but somehow it skipped Hydro, hence Indigo, but it is comming, see this issue.

4. Test in simulation

a. Just bring your robot on:

roslaunch single_lwr_launch single_lwr.launch

By default, it does not load the MoveIt! configuration. Eventhough, you can open rqt, and open Plugins->Robot Tools->Joint trajectory controller and move the robot manually with slides.

b. Testing MoveIt! the configuration in simulation:

roslaunch single_lwr_launch single_lwr.launch load_moveit:=true

5. Test in real

a. Once everything went well in simulation, you can procede to use the real robot by using:

roslaunch single_lwr_launch single_lwr.launch use_lwr_sim:=false lwr_powered:=true

b. If you wish to use MoveIt!, you can potentially use:

roslaunch single_lwr_launch single_lwr.launch use_lwr_sim:=false lwr_powered:=true load_moveit:=true

If the robot complains a lot about bad communication quality, then just launch the robot with the previous command, and after everything has started, then use:

roslaunch single_lwr_moveit move_group.launch allow_trajectory_execution:=true fake_execution:=false info:=true debug:=false

And that's it! 🤘