Skip to content

uArm-Developer/RosForSwiftAndSwiftPro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SwiftAndProForROS

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.

1. Download and install

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

2. Set up enviroment

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

3. Simulation

Connect your swift/swiftpro to computer and get USB permission to access uArm

$ sudo chmod 666 /dev/ttyACM0

3.1 Display mode: Get data from swiftpro

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.

3.2 Control Mode: Send data to swiftpro

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!.

3.3 Display mode: Get data from swift

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.

3.4 Control Mode: Send data to swift

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!.

3.5 About nodes and topics

3.6 About message

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