The raeros_system
package for ROS is necessary to start servo, rack and radialgripper server.
It consists of:
- launch/system.launch - launches the configured module servers
- scripts/example.py - example to show basic functions
- launch/example.launch - inclued
system.launch
and starts a node withscripts/example.py
First install raepy
which is an python based software interface and then install the ROS-packages which has raepy as dependency.
If you want to modify the software-driver raepy, you have to build the sources in your workspace. In order to do that just clone the repository, build and install it.
git clone github.com/romzn/raepy.git
cd raepy
## Build repository and Install
python3 -m pip install --upgrade build
pip3 -m build
pip3 install .
otherwise just install the package via pip
pip3 install raepy
Install the packages from the modules you need. At the moment these modules are available:
The following commands let you install all available modules.
cd ~/catkin_ws/src &&
git clone https://github.com/festo-se/raeros_system.git &&
git clone -b melodic https://github.com/festo-se/raeros_vacmod.git &&
git clone -b melodic https://github.com/festo-se/raeros_radialgripper.git &&
git clone -b melodic https://github.com/festo-se/raeros_rack.git &&
git clone -b melodic https://github.com/festo-se/raeros_servo.git &&
git clone -b melodic https://github.com/romzn/raeros_ledbutton.git &&
cd ../ &&
catkin_make
Each installed package includes an server which handle requests from a client. These Servers should be started in the RPI on the Rae.
Before starting you have to decide which modules shall be enabled.
For this look inside the launch file: /launch/system.launch
and choose the modules you need by setting the arguments to true.
<launch>
<arg name="servo" default="true"/>
<arg name="rack" default="true"/>
<arg name="radialgripper" default="true"/>
<arg name="vacmod" default="true"/>
<node pkg="rae_servo_server" name="rae_servo_server" type="rae_servo_server.py" output="screen" respawn="false" if="$(arg servo)"/>
<node pkg="rae_rack_server" name="rae_rack_server" type="rae_rack_server.py" output="screen" respawn="false" if="$(arg rack)"/>
<node pkg="rae_radgripper_server" name="rae_radgripper_server" type="rae_radgripper_server.py" output="screen" respawn="false" if="$(arg radialgripper)"/>
<node pkg="rae_vacmod_server" name="rae_vacmod_server" type="rae_vacmod_server.py" output="screen" respawn="true" if="$(arg vacmod)"/>
</launch>
Now connect to the Rae via ssh romzn@rae.local
and raeisgreat
as password.
After successful login launch the system with:
roslaunch raeros_system system.launch
The example executes some basic functionalites which is recommended to study. It is located in scripts/example.py. To start it execute:
rosrun raeros_system example.py
It leads you through the calibration procedure. And shows vacuum and gripping capabilities.
Feel free to contribute to the project and pin your issues.