This is the swift and swiftpro ROS package designed by Roger Cui(roger@ufactory.cc) and David Long (xiaokun.long@ufactory.cc). These packages support Moveit!, RViz and serial communication with swift and swiftpro.
Download ros packages for uarm swift pro
$ cd ~/catkin_ws/src
$ git clone https://github.com/uArm-Developer/RosForSwiftAndSwiftPro.git
then manually copy package folders swiftpro swift_moveit_config and pro_moveit_config into a catkin_ws/src.
Install ros serial package
$ sudo apt-get install ros-kinetic-serial
Compile
$ catkin_make
Source all setup.bash files to set up your enviroment.
# System configure ROS environment variables automatically every time you open a ternimal
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
Connect your swift/swiftpro to computer and get USB permission to access uArm
$ sudo chmod 666 /dev/ttyACM0
Get data from serial and simulate swiftpro in RViz.
roslaunch swiftpro pro_display.launch
right now, you can drag your swiftpro and it will simulate in Rviz.
Connect swiftpro, send data though serial.
roslaunch swiftpro pro_control.launch
Open another ternimal to get joint angles from Moveit!.
roslaunch pro_moveit_config demo.launch
right now, you can do trajectory planning or grasping in moveIt!.
Get data from serial and simulate swift in RViz.
roslaunch swiftpro swift_display.launch
right now, you can drag your swift and it will simulate in Rviz.
Connect swift, send data though serial.
roslaunch swiftpro swift_control.launch
Open another ternimal to get joint angles from Moveit!.
roslaunch swift_moveit_config demo.launch
right now, you can do trajectory planning or grasping in moveIt!.
SwiftproState.msg: includes all data about swiftpro
float64 motor_angle1
float64 motor_angle2
float64 motor_angle3
float64 motor_angle4
float64 x
float64 y
float64 z
uint8 pump
uint8 swiftpro_status
uint8 gripper
position.msg: includes x, y, z information(mm)
float64 x
float64 y
float64 z
angle4th.msg: 4th motor angle(degree)
float64 angle4th
status.msg: work if 1; otherwise 0
uint8 status