Search the Community

Showing results for tags 'sdk'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Intera User Forum
    • Using Intera
  • SDK User Forum
    • Robot


  • Test Blog


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Company Name

Found 19 results

  1. Soh Wei Xiang

    Dashboard to send/receive data from Sawyer

    I am trying to create a server dashboard using Python that is linked to a number of devices (eg. sensors, conveyor, cameras and other robot brands) using an ethernet port switch, and send/receive data to Sawyer using this Dashboard and have a few questions. This dashboard is in the server PC with the following wired connection: Server PC > Port Switches > Sawyer (and other devices) I have referred to this link below but I would like to get more flexibility to control it (trajectory control etc) so I was looking into the SDK tutorials. I have tested the examples for the Sawyer in Oracle VM and made a sample program to run it. It resembles the program seen here: 1. How do I for example, retrieve joint angle (and maybe camera image) and show it in my dashboard? Have anyone done something like this before? Generally, I will have these shown in the dashboard: robot status (eg idle/ready/stopped/error) program name camera image joint angles 2. I plan to have my (currently non-existent) dashboard outside of the VM but in the same PC. How do I establish the communication to the robot from outside the VM? I have tried using the same leading IP address as my WiFi (NAT) but I cannot get a connection without disabling my NAT or PCIE. Individual connections was tested to be working fine so I think my error is about using WiFi and PCIE together. Connections: 1. PC <-> VM (NAT) 2. VM <-> Sawyer (PCIE) by TCP/IP Network: NAT: subnet: PCIE: subnet: Sawyer: subnet: Additional Info: Ubuntu 16.04 + ROS Kinetic Intera 5.3 3. I assume I needed to have a program for server (PC) and client (VM) so I made a sample socket client server program. I did try using packet sender to send data through TCP/IP in Intera and back from Sawyer. Can I do the same with sockets? This is my first time doing this so I appreciate any guidance you guys can provide. Thanks.
  2. Honglu He

    Toggle Vacuum On/Off in SDK

    In Intera Mode it's easy to toggle the vacuum on/off by pressing the white "grasp" button. Is there a way to do that in SDK mode? I've tried to publish command to "/io/end_effector/right_vacuum_gripper/command", "/io/end_effector/right_vacuum_gripper/command", and "/robot/digital_io/right_valve_1b/state", but they didn't change the state of the vacuum.
  3. Hello, I am giovanni. I am trying to connect with the Sawyer Robot using ROS. The ROS_HOSTNAME.local of my robot is: 021705CP00067 and my IP is: First, I'm doing "cd ~/ros_ws". Then, "./" and this show me the following message: "EXITING - Please edit this file, modifying the 'robot_hostname' variable to reflect your Robot's current hostname." So, to solve that I insert in my console "gedit", but after modify it I cannot connect with the robot. This is my "./" code: #!/bin/bash # Copyright (c) 2013-2016, Rethink Robotics # All rights reserved. # This file is to be used in the *root* of your Catkin workspace. # This is a convenient script which will set up your ROS environment and # should be executed with every new instance of a shell in which you plan on # working with Intera. # Clear any previously set your_ip/your_hostname unset your_ip unset your_hostname #-----------------------------------------------------------------------------# # USER CONFIGURABLE ROS ENVIRONMENT VARIABLES # #-----------------------------------------------------------------------------# # Note: If ROS_MASTER_URI, ROS_IP, or ROS_HOSTNAME environment variables were # previously set (typically in your .bashrc or .bash_profile), those settings # will be overwritten by any variables set here. # Specify Robot's hostname robot_hostname="021705CP00067.local" # Set *Either* your computers ip address or hostname. Please note if using # your_hostname that this must be resolvable to the Robot. your_ip="" your_hostname="giovanni.local" # Specify ROS distribution (e.g. indigo, hydro, etc.) ros_version="kinetic" #-----------------------------------------------------------------------------# tf=$(mktemp) trap "rm -f -- '${tf}'" EXIT # If this file specifies an ip address or hostname - unset any previously set # ROS_IP and/or ROS_HOSTNAME. # If this file does not specify an ip address or hostname - use the # previously specified ROS_IP/ROS_HOSTNAME environment variables. if [ -n "${your_ip}" ] || [ -n "${your_hostname}" ]; then unset ROS_IP && unset ROS_HOSTNAME else your_ip="${ROS_IP}" && your_hostname="${ROS_HOSTNAME}" fi # If argument provided, set robot_hostname to argument # If argument is sim or local, set robot_hostname to localhost if [ -n "${1}" ]; then if [[ "${1}" == "sim" ]] || [[ "${1}" == "local" ]]; then robot_hostname="021705CP00067" if [[ -z ${your_ip} || "${your_ip}" == "" ]] && \ [[ -z ${your_hostname} || "${your_hostname}" == "giovanni.local" ]]; then your_hostname="giovanni" your_ip="" fi else robot_hostname="${1}" fi fi topdir=$(basename $(readlink -f $(dirname ${BASH_SOURCE[0]}))) cat <<-EOF > ${tf} [ -s "\${HOME}"/.bashrc ] && source "\${HOME}"/.bashrc [ -s "\${HOME}"/.bash_profile ] && source "\${HOME}"/.bash_profile # verify this script is moved out of intera_sdk folder if [[ -e "${topdir}/intera_sdk/package.xml" ]]; then echo -ne "EXITING - This script must be moved from the intera_sdk folder \ to the root of your catkin workspace.\n" exit 1 fi # verify ros_version lowercase ros_version="$(tr [A-Z] [a-z] <<< "${ros_version}")" # check for ros installation if [ ! -d "/opt/ros" ] || [ ! "$(ls -A /opt/ros)" ]; then echo "EXITING - No ROS installation found in /opt/ros." echo "Is ROS installed?" exit 1 fi # if set, verify user has modified the robot_hostname if [ -n ${robot_hostname} ] && \ [[ "${robot_hostname}" == "021705CP00067.local" ]]; then echo -ne "EXITING - Please edit this file, modifying the \ 'robot_hostname' variable to reflect your Robot's current hostname.\n" exit 1 fi # if set, verify user has modified their ip address (your_ip) if [ -n ${your_ip} ] && [[ "${your_ip}" == "" ]]; then echo -ne "EXITING - Please edit this file, modifying the 'your_ip' \ variable to reflect your current IP address.\n" exit 1 fi # if set, verify user has modified their computer hostname (your_hostname) if [ -n ${your_hostname} ] && \ [[ "${your_hostname}" == "giovanni.local" ]]; then echo -ne "EXITING - Please edit this file, modifying the \ 'your_hostname' variable to reflect your current PC hostname.\n" exit 1 fi # verify user does not have both their ip *and* hostname set if [ -n "${your_ip}" ] && [ -n "${your_hostname}" ]; then echo -ne "EXITING - Please edit this file, modifying to specify \ *EITHER* your_ip or your_hostname.\n" exit 1 fi # verify that one of your_ip, your_hostname, ROS_IP, or ROS_HOSTNAME is set if [ -z "${your_ip}" ] && [ -z "${your_hostname}" ]; then echo -ne "EXITING - Please edit this file, modifying to specify \ your_ip or your_hostname.\n" exit 1 fi # verify specified ros version is installed ros_setup="/opt/ros/\${ros_version}" if [ ! -d "\${ros_setup}" ]; then echo -ne "EXITING - Failed to find ROS \${ros_version} installation \ in \${ros_setup}.\n" exit 1 fi # verify the ros file exists if [ ! -s "\${ros_setup}"/ ]; then echo -ne "EXITING - Failed to find the ROS environment script: \ "\${ros_setup}"/\n" exit 1 fi # verify the user is running this script in the root of the catkin # workspace and that the workspace has been compiled. if [ ! -s "devel/setup.bash" ]; then echo -ne "EXITING - \n1) Please verify that this script is being run \ in the root of your catkin workspace.\n2) Please verify that your workspace \ has been built (source /opt/ros/\${ros_version}/; catkin_make).\n\ 3) Run this script again upon completion of your workspace build.\n" exit 1 fi [ -n "${your_ip}" ] && export ROS_IP="${your_ip}" [ -n "${your_hostname}" ] && export ROS_HOSTNAME="${your_hostname}" [ -n "${robot_hostname}" ] && \ export ROS_MASTER_URI="http://${robot_hostname}:11311" # source the catkin setup bash script source devel/setup.bash # setup the bash prompt export __ROS_PROMPT=\${__ROS_PROMPT:-0} [ \${__ROS_PROMPT} -eq 0 -a -n "\${PROMPT_COMMAND}" ] && \ export __ORIG_PROMPT_COMMAND=\${PROMPT_COMMAND} __ros_prompt () { if [ -n "\${__ORIG_PROMPT_COMMAND}" ]; then eval \${__ORIG_PROMPT_COMMAND} fi if ! echo \${PS1} | grep '\[intera' &>/dev/null; then export PS1="\[\033[00;33m\][intera - \ \${ROS_MASTER_URI}]\[\033[00m\] \${PS1}" fi } if [ "\${TERM}" != "dumb" ]; then export PROMPT_COMMAND=__ros_prompt __ROS_PROMPT=1 elif ! echo \${PS1} | grep '\[intera' &>/dev/null; then export PS1="[intera - \${ROS_MASTER_URI}] \${PS1}" fi EOF ${SHELL} --rcfile ${tf} rm -f -- "${tf}" trap - EXIT # vim: noet Someone knows what can I do? Thanks for all
  4. Mike_Fair

    Sawyer SDK 5.2 is Now Available

    Rethink Robotics is thrilled to announce the latest version of the Sawyer SDK is available for download! The release includes: Gazebo Simulator - Allows you to simulate controlling Sawyer in a physics and virtual environment before running the actual robot. New Motion Interface - This mode allows the user to specify high-level (Joint or Cartesian space) waypoints. Sawyer’s own onboard motion controller will then generate smooth trajectories that will interpolate motion between these waypoints. Impedance and Force control mode interfaces - Users can more quickly take advantage of Sawyer’s unique differentiator of having built in torque sensors on each joint to use force or impedance control with the robot. Impedance control allows you to directly control the Cartesian stiffness of the endpoint. Force control enables the robot to exert forces and moments in the six Cartesian dimensions. ClickSmart - Support for the Rethink Robotics ClickSmart family of gripper kits. More detailed information about the release can be found in Ian’s recent blog post It is important to note that you must upgrade to Intera 5.2.2 in order to use the latest Sawyer SDK functionality. Also, if you intend to use Sawyer in Gazebo, you must make sure your workstation is running Ubuntu 16.04 and ROS Kinetic. If you're not using Gazebo at all, you may still use SDK 5.2 with a workstation running Ubuntu 14.04 and ROS Indigo. Getting Started with Sawyer SDK: 1. Download Intera 5.2.2 from the Forum 2. Update Developer Workstation to SDK 5.2 3. Check out the Gazebo Tutorial For additional support please be sure to visit our SDK Forum to tap into the vast network of global experts for answers, suggestions, and collaboration.
  5. lr101095

    Intera SDK Version

    Just wanted to ask if there's any way i could check what version of Intera i have on my Machine and what version is loaded on the sawyer? Please advise. Cheers, Luke
  6. Nawid

    Sawyer SDK license

    Changing to the SDK mode directs me to to get a license code, but I cannot find the any online forms to get. Where do I get the license code from? I have attached an image of the screen I get.
  7. Heriberto Tianjero

    Arm Forces

    Hi Forum Someone knows how I can get the force reading from the shafts of Sawyer's arm, to be able to process if it collided with something. I see the example but i think need more details thank you
  8. jorgegalds_DON

    Change Sawyer 'eyes'

    Wanted to know if there is a way to change the 'eyes' image for a pre selected image when booting in the SDK mode.
  9. Jianlan

    Enter payload in SDK mode

    Hello, We have a Sawyer robot with Intera 5.2, and a Robotiq 3 finger gripper installed on it (, it is 2.5 kg. We entered the payload information in Intera Studio, it looked fine in Intera mode. However, it did not work in SDK mode, the robot can't even hold it self, and motors started backdriving, can't move even. The specified payload of Sawyer is 4KG, the gripper plus coupling is surely under this, We wonder how to properly enter payload information or how to actually solve it in SDK mode. Thank you.
  10. Hello, I am having a Sawyer. My system is running ROS Kinetic in Ubuntu 16.04. I tried using the sh script, it ssh s myself inside how ever I cannot communicate with the ROS master. I tried using a virtual machine running ROS Indigo and Ubuntu 14.04. I still couldn't communicate to the ROS master. In all the cases i could ping the system from my workstation. Also in my SDK mode, it throws camera calibration error. I have attached a screenshot of that. Kindly help.
  11. Ulysse

    Execute Trajectory using MoveIt!

    Hi all, I am facing an issue trying to use the MoveIt! package to control the Sawyer. I followed all tutorials on how to set up ROS Kinetic, the Sawyer SDK packages and the MoveIt! package. I am know trying to work my way through the MoveIt tutorial. I am able to successfully load the robot inside Rviz, move the end effector in the interface and plan a trajectory. However when I try to execute it, Rviz shows a "failed" message and in the terminal output I can read : Failed to validate trajectory: couldn't receive full current joint state within 1s I also tried to use MoveIt! through the Python interface but when I execute the following : import sys import copy import rospy import moveit_commander import moveit_msgs.msg import geometry_msgs.msg from std_msgs.msg import String moveit_commander.roscpp_initialize(sys.argv) rospy.init_node('move_group_python_interface_tutorial', anonymous=True) robot = moveit_commander.RobotCommander() scene = moveit_commander.PlanningSceneInterface() group = moveit_commander.MoveGroupCommander("right_arm") display_trajectory_publisher = rospy.Publisher('/move_group/display_planned_path', moveit_msgs.msg.DisplayTrajectory, queue_size=20) print "============ Reference frame: %s" % group.get_planning_frame() print "============ End effector: %s" % group.get_end_effector_link() print "============ Robot Groups:" print robot.get_group_names() print "============ Printing robot state" print robot.get_current_state() print "============" ... I get something like : ============ Reference frame: /base ============ End effector: right_hand ============ Robot Groups: ['right_arm'] ============ Printing robot state [ WARN] [1526377733.002742750]: Joint values for monitored state are requested but the full state is not known joint_state: header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: "/base" name: [right_j0, head_pan, right_j1, right_j2, right_j3, right_j4, right_j5, right_j6] position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] velocity: [] effort: [] multi_dof_joint_state: header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: "/base" joint_names: [] transforms: [] twist: [] wrench: [] attached_collision_objects: [] is_diff: False ============ This is basically the same problem as in this ROS Q&A question : MoveIt: troubles with joint values Unfortunately this question did not get any useful answer. The weird thing is that the joint state is actually published, when I echo the /robot/joint_states topic I can see the values being updated : header: seq: 600867 stamp: secs: 1526364559 nsecs: 890697828 frame_id: '' name: [head_pan, right_j0, right_j1, right_j2, right_j3, right_j4, right_j5, right_j6, torso_t0] position: [-4.0742021484375, -0.2243544921875, -1.1203125, 0.4582724609375, 2.05134375, -0.29490625, 0.69954296875, -4.114162109375, 0.0] velocity: [-0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, 0.0] effort: [-0.012, 0.052, -20.068, -1.06, -5.996, 0.572, 0.104, -0.284, 0.0] And when I query informations about the /robot/joint_states topic, I can see that both the /realtime_loop and /move_group nodes are publishing/subscribing to it : Type: sensor_msgs/JointState Publishers: * /realtime_loop ( Subscribers: * /robot_state_publisher ( * /robot/environment_server ( * /calibrate_arm ( * /PositionKinematicsNode_right ( * /JointMotionPathNode_right ( * /motion_controller ( * /sdk_position_w_id_joint_trajectory_action_server_right ( * /move_group ( Any idea of what is going on or how I can further investigate the error ? Thanks for your help.
  12. chadfrench7

    Flash in SDK mode

    Hi, Can you use the flash on the right_hand_camera in SDK mode? If so, how would you do this? Thanks, chad
  13. Hi, Is it possible to control cameras (focusing, set exposure time, etc) through the SDK? And how to switch on/off the light source of the hand camera? Only lights of head and cuff can be commanded through the existing example code. Since the force control laws and algorithms are concerned, how can I read force sensor data of each joint? And is there any interface to directly read external force/torques by transformations? Thanks.
  14. lr101095

    Backwards Compatibility

    I recently updated to Intera 5.2 on my personal PC. However, i work in a lab and Sawyer is being shared among other lab techs. As it stands, the robot is only on Intera 5.1.2. Is there anyway i can still run the robot while having 5.2 on my pc but working with 5.1.2 on the actual robot? i dont want to update sawyer just yet because it might affect the performance for other users. i also dont want to downgrade my laptop back to 5.1 because i'm making use of the sawyer simulation. please advise. any help is much appreciated.
  15. oliver_lw

    IK and Camera Parallel to desk surface

    Hello, How do we set the IK parameters to make Sawyer arm camera parallel to table surface(facing down)? Is there a way to keep Sawyer's arm camera(J5 joint?) horizontal to desk surface during the whole task? Can you provide some sample code to do that? Or, is there a way to configure IK to achieve that ? I tried roll =0.5*Pi pitch = 0.5*Pi, in this case the arm will be parallel to desk, but not the camera. Thanks, Wei
  16. Reina

    Sawyer SDK Videos & Publications

    Thank you all for all the great videos you've been posting on Youtube showing your reseach: If you are interested in having Rethink Robotics add your video to our playlist, please send me a link! We are also building a repository of research publications on our Wiki: If you have a publication, we'd gladly include it in our Community Research section. You can reach me here on the forum or at
  17. mhohenaecker

    SDK on a virtual machine

    Hi everyone, i would like to program the sawyer on intera- sdk. I create a virtual machine with ubuntu 14.04.05 LTS. To ping the staticle ip of the controller from the virtual machine is possible but i cant ping the hostname of the controller (ping hostname.lokal). Is there a special setting necessary for the vm- solution? Or is it not possible to connect to the robot with a vm? Regards Michael
  18. Hello, I would like to have more information about how set_joint_trajectory() (from intera_interface.limb.Limb) works. Here is the documentation I found. I tried to send a trajectory to Sawyer using this method. For each of the 60 points of the trajectory, I run set_joint_trajectory(joint_names, joint_positions, joint_velocities, joint_accelerations). But it seems that the arm did not take into account the velocities and acceleration. The resulting move was very fast, maybe at the maximum speed of the robot. Therefore I have some questions for you: - I don't know how this method works, but regarding this result I think it is non-blocking ? - If it is the case, how should I proceed to run the whole trajectory correctly ? (I need to send point by point) - Is there a topic or something to know if the execution of the current point has finished ? - And finally, if this function use the JTAS (I don't think so from what I read), in which mode should it be running ? Clément
  19. Ian McMahon

    Intera SDK 5.1 Release

    Greetings Sawyer SDK Users, We are pleased to announce the release of a new version of the Sawyer Intera SDK software – v5.1.0. SDK 5.1.0 is a release focused on improving the Intera SDK user experience and added further improvements to motion quality. You can find a complete set of SDK-related release notes here. The Intera 5.1 update also allows for any user to reboot between Rethink's Python and ROS-based SDK, and the new Intera 5.1 manufacturing software with behavior trees through the FSM. From this point forward, both Intera Manufacturing and SDK upgrades are installed through the same update files. If your Sawyer robot is currently running SDK 5.0.4, please follow this Software Update tutorial to upgrade your robot to Intera 5.1.0. Running the $ wstool update command from the top of your ROS workspace will pull in the Intera 5.1.0 changes to update your workstation. We have provided examples and code walk throughs for many aspects of the Sawyer's Intera SDK, so that you can get working quickly as soon as you install the SDK. Happy Researching! ~ Ian McMahon