Skip to content

seed-solutions/seed_r7_ros_pkg

Repository files navigation

seed_r7_ros_pkg

seed-noid meta package

Continuous Integration Status

service Master
Travis Build Status
service Kinetic Melodic
ROS Buildfarm Build Status Build Status

How to install

0. ROS

Kinetic or Melodic or Noetic

1. From Source

You need to clone and build some packages in your catkin workspace. Below is an example.

  • install catkin-tools
    ROS Kinetic or Melodic : sudo apt-get install python-wstool python-catkin-tools
    ROS Noetic : sudo apt install python3-osrf-pycommon python3-catkin-tools

  • make workspace, clone packages, and build

    mkdir -p ~/ros/${ROS_DISTRO}
    cd ~/ros/${ROS_DISTRO}
    mkdir src
    catkin init
    catkin build
    source ~/ros/${ROS_DISTRO}/devel/setup.bash
    echo "source ~/ros/${ROS_DISTRO}/devel/setup.bash" >> ~/.bashrc
    cd ~/ros/${ROS_DISTRO}/src
    git clone https://github.com/seed-solutions/seed_smartactuator_sdk
    git clone https://github.com/seed-solutions/seed_r7_ros_pkg
    cd ~/ros/${ROS_DISTRO}
    rosdep install -y -r --from-paths src --ignore-src
    catkin build seed_r7_ros_pkg
    source ~/.bashrc
    

If you still have not registered the robot's USB for your PC, you have to do it. (If /etc/udev/rules.d/90-aero.rules already exists, you need not to do.) Firstly, connect the robot's USB to your PC, and run the following command.

rosrun seed_r7_bringup make_udev_install.py

Secondly, please disconnect and reconnect the USB. When you run ls -l /dev/aero*, the follwing message will appear if USB is recognized:

/dev/aero_upper -> ttyUSB0
/dev/aero_lower -> ttyUSB1

The number of ttyUSB may not be same, but there is no problem.

How to launch

Bring up ros_control ( without / with real robot )

If you use real robot, please refer to Udev Setting.

roslaunch seed_r7_bringup seed_r7_bringup.launch
rosrun rviz rviz -d `rospack find seed_r7_bringup`/rviz.rviz

In either case, you have to run this command. The robot model is not displayed on rviz at this time, because Fixed Frame is set asmap that does not exist. However, it will be displayed correctly in the next step.

without real robot

roslaunch seed_r7_navigation wheel_with_dummy.launch

with real robot

  1. make map and save it
    make map : roslaunch seed_r7_navigation wheel_with_making_map.launch
    save map : roslaunch seed_r7_navigation map_saver.launch #run after making map
    Do not kill nodes of making_map before starting map_saver.launch.
    Map file is saved in ~/ros/${ROS_DISTRO}/src/seed_r7_ros_pkg/seed_r7_navigation/config/map.pgm
  2. use saved map
    roslaunch seed_r7_navigation wheel_with_static_map.launch

How to use

rqt_joint_trajectory_controller

It is easy to confirm a single axis movement by using rqt_joint_trajectory_controller.

sudo apt-get install ros-${ROS_DISTRO}-rqt-joint-trajectory-controller 
source ~/.bashrc
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller 

MoveIt!

Please run the following command.

sudo apt install xterm #especially on melodic
roslaunch seed_r7_samples demo.launch

Do not connect the robot's USB on your computer! The SEED-Mover start to move!

The ros_controller, moveit, navigation, smach_viewer and rviz are launched, and sample code will be started. This code mainly includes smach, moveit_commander and actionlib. moveit

If you want to make more complex programs, please refer to Kinetic tutorial, Melodic tutorial or MoveIt Manual by TORK(in Japanese).
When using MoveIt! commands, be sure to run following launch file.

roslaunch seed_r7_bringup moveit.launch 

Grasp / Release

  • Right Hand
    grasp : rosservice call /seed_r7_ros_controller/hand_control 0 grasp 100
    release : rosservice call /seed_r7_ros_controller/hand_control 0 release 100
  • Left Hand
    grasp : rosservice call /seed_r7_ros_controller/hand_control 1 grasp 100
    release : rosservice call /seed_r7_ros_controller/hand_control 1 release 100

The last number is percentage of maximum current.