Package Summary

Tags No category tags.
Version 2.2.0
License BSD
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2024-05-17
CI status Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Example scripts for controlling the my xarm robot.

Additional Links

No additional links.


No known maintainers.


No additional authors.

Setting up ROS with virtualenv

We set up ROS with virtualenv because it is a better way to contain the python packages needed when running ROS.

Installing virtualenv

You can install virtualenv by opening a terminal and running:

$ pip install virtualenv

Setting up the virtual environment

Make and navigate to a directory folder where you will keep your virtual environment folders, then run:

$ virtualenv -p /usr/bin/python2.7 ros_py27
$ source ros_py27/bin/activate

[Please note for the following steps we assume that you already have the xarm_ros repo cloned] Navigate to xarm_ros/examples/xarm7_redundancy_res, and run:

(your-venv)$ pip install -r requirements.txt

This will install the python dependencies needed for the script.

You can check that the requirements are installed properly by running:

(your-venv)$ pip freeze

Running Instructions

In the below steps we assume: (1) that you’ve set up a loadable virtual env and (2) that you’ve built the xarm_ros package using catkin_make

In a terminal, run:

$ source /opt/ros/your_ros_version/setup.bash
$ source your_ws/devel/setup.bash
$ roslaunch xarm_gazebo xarm7_beside_table.launch

In a second terminal, run

$ source /opt/ros/your_ros_version/setup.bash
$ source your_ws/devel/setup.bash
$ roslaunch xarm7_moveit_config xarm7_moveit_gazebo.launch

Using the Rviz move_it interface, move the xarm to a position you are happy with. Then, in a third terminal, run:

$ source /opt/ros/your_ros_version/setup.bash
$ source your_ws/devel/setup.bash
$ source  ros_py27/bin/activate
(your-venv)$ rosrun xarm7_redundancy_res -q 30.0 -i 1 -a -1.1

In the above command line, the -q option is the desired angle change, the -i option indicates the ith joint, and the -a option is the stepsize alpha.

Alternatively, can be run within a python shell, allowing you to make function calls from the shell to the jog and redundancy_resolution functions defined within To do this alternative method, open the third terminal and run:

$ source /opt/ros/your_ros_version/setup.bash
$ source your_ws/devel/setup.bash
$ source  ros_py27/bin/activate
(your-venv)$ python
>>> execfile('PATH_TO_YOUR_WS/src/xarm_ros/examples/xarm7_redundancy_res/scripts/')
>>> jog(0.05, 0, 0, 0, 0, 0, client)
>>> redundancy_resolution(3.14/6, 1, -1.0, client)

Creating the requirements.txt file for new packages

All required python libraries should be installed using pip while the virtual environment is activated.

With the virtual environment created and activated, run:

(your-venv)$ pip install pip --upgrade
(your-venv)$ pip install -U rosdep rosinstall_generator wstool rosinstall
(your-venv)$ pip install --upgrade setuptools
(your-venv)$ pip install defusedxml

Open a new terminal without activating the ros and catkin setup.bash files. Only activate the virtual environment and then navigate to your project’s directory. Run:

(your-venv)$ pip freeze > requirements.txt

The requirements.txt file should be created with all the python dependencies.


Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found


No message files found.


No service files found


No plugins found.

Recent questions tagged xarm7_redundancy_res at Robotics Stack Exchange