-
Content count
67 -
Joined
-
Last visited
-
Days Won
15
Ian McMahon last won the day on June 20 2018
Ian McMahon had the most liked content!
Community Reputation
14 GoodAbout Ian McMahon
-
Rank
Power User
Robot Information
-
Company Name
Please fill out
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Ian McMahon started following ROS for Sawyer setup with virtual box Ubuntu and Gripper Joystick Controller
-
Hi Jorge, Could you please copy and paste the exact error you are receiving from the terminal. That will help us help you debug. Thanks! ~ Ian
-
Yes the workstation does need a loopback network, but you do not need to add the loopback IP to the intera.sh file. That is done automatically if you invoke intera.sh with the "sim" argument. ~ Ian
-
Hi Junchao, The laptop and graphics card should be sufficient to run Sawyer in Gazebo, provided you've installed the correct driver as I outlined above. The error you are describing in your screenshot is a networking error. The ros server should have a loopback address on your computer like 127.0.0.1 or 127.0.1.1 in normal configurations. What is the contents of your /etc/hosts file? For instance, mine is the following: where "rhino" is my workstation's hostname. Then you can initialize your intera.sh environment with the following: $ ./intera.sh sim To get the simulated environment variables. I hope this helps! ~ Ian
-
Hi Sudeep, The SDK you have already installed has the functionality you need to command Trajectory Mode: Class - Limb Interface Class: https://github.com/RethinkRobotics/intera_sdk/blob/master/intera_interface/src/intera_interface/limb.py#L425-L453 Example Usage - Joint Trajectory Action Server: https://github.com/RethinkRobotics/intera_sdk/blob/master/intera_interface/src/intera_joint_trajectory_action/joint_trajectory_action.py#L243-L247 As for calculating consistent Position, Velocity, and Acceleration values for each joint, I would recommend avoiding discontinuities in all three, while remaining within the URDF limits. You could also artificially limit the velocity and acceleration limits to make the robot a bit slower than the URDF limits. Please see some example values of these lower limits in the Sawyer MoveIt package. As for how to calculate the values, there are many methods including cubic splining techniques, or differentiating and filtering the joint position commands over the delta time steps for velocity, and then again for acceleration. I don't have any examples on this exactly, but you can use the techniques found in Robotics textbooks to generate these values. A quick search on google turned up a useful set of notes from a class at Columbia on Trajectory planning: http://www.cs.columbia.edu/~allen/F15/NOTES/trajectory.pdf That's not an exhaustive resource, but it should hopefully help you get started. I hope this helps! ~ Ian
-
Hi Sudeep, Addressing your second question, Position mode is probably not the suitable control mode for your usecase, as it controls the speed of each joint based on the distance to the current joint angle furthest from the commanded joint position. A much more straight-forward command mode is Trajectory Mode: in Trajectory mode, you will supply a vector of joint [Position, Velocity, Acceleration] for every joint on the arm. The robot will attempt to achieve these commands as you supply them to the robot, without trying to interpolate any joint speeds. This requires a bit more work on your end to properly calculate the Position ,Velocity and Acceleration commands to be smooth and consistent, but those commands are converted directly to Torques and passed into the Joint Control Boards. Keep in mind, if the Velocities or Accelerations supplied in this control mode are not consistent between timesteps, or are delivered at an inconsistent time interval, this can produce less than smooth motion. To determine if this control mode makes sense, I would recommend trying Trajectory Mode side-by-side with Position mode, without Interaction Control parameters supplied to the robot to determine which produces smoother trajectories for your application. Then you can add back in the Interaction Control mode parameters. I hope this helps! Best, ~ Ian
-
HI Nawid, I would recommend re-download the update and place the new copy on your USB device after deleting the old update. Then boot into Intera Manufacturing, and performing the update process from there. If this still does not work, please contact us at Support@rethinkrobotics.com and we will help you resolve the issue. Thank you, ~ Ian
-
ROS for Sawyer setup with virtual box Ubuntu
Ian McMahon replied to Shreya Raghunandan's topic in Robot
Hi Shreya, While it is possible to configure the SDK in a virtualbox environment, it is complex due to network-forwarding configurations between the virtualbox, host, and robot. For this reason, Rethink doesn't provide support for any virtual machine configurations. We would recommend a bare-metal installation of Ubuntu 14.04 or Ubuntu 16.04, following the network configuration tutorial. I hope this is helpful. Best, ~ Ian -
Ian McMahon started following Enter payload in SDK mode, Endpoint Impedance Control for Sawyer (Intera 5.2), How can I make sawyer avoid hitting the table? and and 2 others
-
Hi Sudeep, Apologies for the lack of response here. I need a bit more input from our Controls Roboticists to properly answer your question. I will touch base with them Monday and get back to you. Thank you for your patience. Best, ~ Ian
-
Hi there, The built-in collision avoidance software can only prevent the robot from coming into self collision (except added end effectors), and is not currently modifiable. You can programmatically set up your own boundaries by using a 3rd party library like the Flexible Collision Library to check when the arm has collided with an arbitrary object (sphere, box, polygon, etc.) and then apply repelling joint torques to move the arm out of the collision field: https://github.com/flexible-collision-library/fcl Hope this helps! ~ Ian
-
Hi Jorge, The only way to access the head display for SDK users is to publish a PNG or JPG image from your workstation. Unfortunately there is no HTML access to Sawyer's head display. Please see the following tutorial for the full details on how to change the head display: http://sdk.rethinkrobotics.com/intera/Head_Display_Image_Example Best, ~ Ian
-
Hi Nawid, This license only popped up on the SDK Beta version of Intera Manufacturing 5.2. The full release of the SDK (5.2.2) can be found here: Please boot your robot into Intera Manufacturing mode, and update it to SDK 5.2.2 (linked above) to use the SDK without a license code. Best, ~ Ian
-
Hi Jianlan, Yes, all units are in S.I. (per ROS standards), with Kilograms and Meters. Cheers, ~ Ian
- 4 replies
-
- 1
-
-
- robotiq 3 finger gripper
- payload
-
(and 1 more)
Tagged with:
-
Hi Fynn, It is possible there is an underlying hardware issue. To debug this, please retrieve your logfiles by rebooting into the FSM and exporting them to a USB device, then sharing the resulting files with our Support team Support@rethinkrobotics.com : http://sdk.rethinkrobotics.com/intera/Field_Service_Menu_(FSM)#Diagnostic_Functions Thank you, ~ Ian
-
Hi Junchao, I am not 100% certain on the minimum required NVidia graphics card required, as neither we nor the Open Robotics Gazebo team have exhaustively tested NVidia's line of cards. I can tell you that my 2015 laptop containing an NVidia Quadro M1000M mobile graphics card will run sawyer_gazebo at the highest 1.0 realtime simulation factor, with the proper driver installed. You might be able to get away with an older / less powerful card, but I cannot guarantee it. I hope this helps. ~ Ian
-
Hi Jianlan, There are two ways to enter payload in SDK mode for Sawyer, one is supplying Sawyer with the relevant URDF fragment, or by using the Clicksmart Gripper mounting plate, with stored end effector data built into its memory. If you're using the Clicksmart, then configuring via Intera is the way to go. It will retain its configuration when booted into SDK mode, and maintain this information between reboots. Based on your description, it seems you're not using the Clicksmart plate. In that case, you will supply the robot with the relevant URDF data from your computer using the send_urdf_fragment script. That fragment can either be a full actuated gripper URDF or a simple fixed joint with payload, so long as it is attached to the "right_hand" link. For instance: Filename: basic_robotiq_gripper.xacro <?xml version="1.0"?> <robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="basic_robotiq_gripper"> <xacro:macro name="basic_robotiq_gripper" params="side"> <joint name="${side}_gripper_base" type="fixed"> <origin rpy="0 0 0" xyz="0 0 0"/> <!-- Enter the 3D pose of your end effector frame here w.r.t. end of arm --> <parent link="${side}_hand"/> <child link="${side}_robotiq_gripper"/> </joint> <link name="${side}_robotiq_gripper"> <inertial> <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> <!-- only modify this if there is an C.O.M. offset w.r.t your gripper_base joint above --> <mass value="2.5"/> <!-- Enter your mass and inertial properties here --> <inertia ixx="1e-08" ixy="0" ixz="0" iyy="1e-08" iyz="0" izz="1e-08"/> </inertial> </link> </xacro:macro> <xacro:basic_robotiq_gripper side="right"/> </robot> then in a terminal, supply the link onboard the robot to attach this object (right_hand here), the joint from your URDF (right_gripper_base from above), and the location of the file containing all of your URDF details (basic_robotiq_gripper.xacro in this example): $ rosrun intera_interface send_urdf_fragment.py --link right_hand --joint right_gripper_base --file basic_robotiq_gripper.xacro One thing to note, this needs to be run anytime you've rebooted the Sawyer, as the configuration is not saved inside of a Clicksmart toolplate. Please let us know if you have any additional questions on this. Hope this helps! ~ Ian
- 4 replies
-
- 1
-
-
- robotiq 3 finger gripper
- payload
-
(and 1 more)
Tagged with: