-
 

Package Summary

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

Repository Summary

Checkout URI https://github.com/xArm-Developer/xarm_ros.git
VCS Type git
VCS Version master
Last Updated 2024-11-28
Dev Status DEVELOPED
CI status Continuous Integration
Released UNRELEASED
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.

Maintainers

No known maintainers.

Authors

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 robot_jogging.py 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 robot_jogging.py -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, robot_jogging.py 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 robot_jogging.py. 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/robot_jogging.py')
>>> 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.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged xarm7_redundancy_res at Robotics Stack Exchange