rethinkrobotics / intera_sdk Goto Github PK
View Code? Open in Web Editor NEWSoftware Development Kit and Interface for Rethink Robotics robots
Home Page: http://sdk.rethinkrobotics.com/intera/
License: Apache License 2.0
Software Development Kit and Interface for Rethink Robotics robots
Home Page: http://sdk.rethinkrobotics.com/intera/
License: Apache License 2.0
I'm trying to control the robot from a program that requires python3. Is it possible to use the intera_interface with python3? When I try to import intera_interface my code I get import errors because of course the import statements in intera_interface are not valid in python 3.
What is the best way to work around this?
When running RViz in conjunction with the camera example, I would expect to be able to still use the RViz camera after the camera example has exited. Since the camera can be open before the example, I would expect the camera to remain open after the example closes. Can we try to avoid closing the camera on exiting?
Hi,
I am unsure if this is the right thread. I notice the Noetic is supported for Intera_SDK. Does this mean the Sawyer can be upgraded to ROS Noetic in the near future? I am curious about the timestamp for such an upgrade if possible.
currently:
rospy.Subscriber('/io/end_effector/config', IONodeConfiguration, self._config_callback)
should(maybe) do:
_ee_config_sub = rospy.Subscriber('/io/end_effector/config', IONodeConfiguration, self._config_callback)
Got issue with right_hand_camera, the camera not exist. So our interface died.
We should do 'try' to get the camera io 'except' bad things happened in camera interface.
We need a Navigator interface that properly exposes the signalling from each of the buttons onboard the robot. This is required for the examples, and handy for a basic user interface.
Hi,
I am wodering if there is still plans for the migration to ROS2 and which version of ROS2. My lab is planning to make a decision going forward for the future of the lab space.
-David A.
It would be nice to turn off and on each of the lights onboard the robot at will with the SDK interface. Preferably, this would be an intera_interface
class.
Hi, I hope someone is taking care of this project :)
Can you please provide a tutorial like this one that explains how to setup ROS Kinetic to run an Openai gym algorithm using Sawyer?
I have evidence that suggests that launching ./intera.sh modifies somehow the settings, therefore the classic tutorials are quite ineffective in this case.
After A/B testing against a handful of users (fellow developers), we got the feedback that the Canny-edge detection is really cool, but shouldn't be the default mode of operation for the camera example. Can we replace the -u
flag with a -e
flag and name the variable "edge" for Canny edge detection in camera_display.py
?
Currently pointing at the old wiki, let's update to the new wiki pages.
for ('right_hand'),Is there anything else that can be replaced ? how many?
The Gripper Cuff Control still uses the old interfaces (without the IO Framework). This example needs to be updated.
@rethink-forrest Mentioned it'd be useful to describe the nullspace biases in our IK example.
The intera_interface/limb.py
interface needs to function with the Sawyer robot:
ROS param
)Velocity Mode
functions should be removed (or disabled), as we dropped support for this mode at the JCB levelROS Param
, and fetched when initializing the interfaceThese examples need to be updated for Intera:
intera_examples/launch/gripper_action_client.launch
intera_examples/scripts/gripper_action_client.py
intera_interface/scripts/gripper_action_server.py
intera_interface/src/gripper_action/gripper_action.py
intera_interface/src/gripper_action/__init__.py
Everything on line 150 is ignored so even valid quaternions raise an errors.
Right now, when the electric gripper is uncalibrated, or jammed, we do not report this as an error state to the user. Gripper() class needs to be update to properly notify the user of error states.
Hi, I am new to sawyer. I haven't found commentary or docs mentioning the cartesian XYZ direction and the quaternion XYZW in the repo.
Does anyone know where I can find them?
Thanks
We observed and reconfirmed it several times that the Force and Torque values in the "end_point_state" and "tip_state" topics are in Left Hand Coordinate Frame for Firmware 5.2.0. Is there a particular reason for it?
Hello, I use ExternalTools/right/PositionKinematicsNode/IKService in cpp. How would I set "tip_names" like in python? What is the default value if "tip_names" is not set? I am a newbie just getting started. Thank you very much for your answers
Hi, I ran the gripper example, but I fould that I could not control its gripping force. The error message is
[ERROR] [WallTime: 1499118804.154082] Cannot find signal 'holding_force_n' in this IO Device.
And after I did rostopic echo /io/end_effector/right_gripper/config
, it turned out that there was indeed not a signal named 'holding_force_n'.
What's wrong with it?
P.S. Is there any documentation describing how the gripper is controlled (e.g. force control / position control etc.)?
Hello,
First of all, thank you for all the tools that are provided, these are really helpful!
We would like to migrate our lab's ROS installation to ROS2, and I would appreciate any info on the following:
I really appreciate any info you could give me on these.
Many Thanks!
Is it possible to provide an updated link to the installation tutorial?
The linked website http://sdk.rethinkrobotics.com/intera/Workstation_Setup appears to be offline.
Dear all,
I was wondering if there are any plans for migrating the package to ROS2. I am new to the community so I don't know how difficult it is but I am interested in using the capabilities provided by ROS2. So are there any plans for the migration as of now? Is it very complicated to do it?
I really appreciate any help you can provide.
Hi team,
I noticed that when I give a current absolute pose to the robot using the script go_to_cartesian_pose.py, the robot never reaches that position, there is always a error of 2-3 mm in its position coordinates. Infact, when I give the relative pose of [0,0,0,0,0,0] to the robot, it always move by 1-2 mm in position, which it should not be.
Also when I increment just rotations using -R [0,0,0,0.1,0,0] for 3 times i.e total change of 0.3 radian in roll angle and return back to same pose using -R [0,0,0,-0.1,0,0] for 3 times, the position coordinates change, again which it should not.
Kindly provide support on this matter.
Currently, the Joint Trajectory Client is very Baxter-centric. Update to use Sawyer-joints and Sawyer-safe poses.
Likely a SawyerJointTrajectoryClient configuration file would help:
branch: master
commit: 039317d
Sending trajectories to the JTAS with any waypoints who's timestamps are zero, causes the arm to perform an erratic and fast movement and then stop its execution (most likely due to a velocity limit violation). The following runtime warnings are reported in the joint_trajectory_action_server node:
[WARN] [1503994476.373382]: /sdk_velocity_joint_trajectory_action_server_right: Trajectory execution Preempted. Stopping execution.
[INFO] [1503994689.669455]: /sdk_velocity_joint_trajectory_action_server_right: Executing requested joint trajectory
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:124: RuntimeWarning: invalid value encountered in divide
v1 = d1 / t1
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:123: RuntimeWarning: invalid value encountered in divide
v0 = d0 / t0
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:128: RuntimeWarning: invalid value encountered in divide
A=(gx-(x+v*t+(a/2.0)*t*t))/(t*t*t);
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:129: RuntimeWarning: invalid value encountered in divide
B=(gv-(v+a*t))/(t*t);
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:130: RuntimeWarning: invalid value encountered in divide
C=(ga-a)/t;
[WARN] [1503994700.889902]: /sdk_velocity_joint_trajectory_action_server_right: Trajectory execution Preempted. Stopping execution.
[INFO] [1503994700.999374]: /sdk_velocity_joint_trajectory_action_server_right: Executing requested joint trajectory
[WARN] [1503994717.721683]: /sdk_velocity_joint_trajectory_action_server_right: Trajectory execution Preempted. Stopping execution.
[INFO] [1503994717.923978]: /sdk_velocity_joint_trajectory_action_server_right: Executing requested joint trajectory
[WARN] [1503994739.461399]: /sdk_velocity_joint_trajectory_action_server_right: Trajectory execution Preempted. Stopping execution.
[INFO] [1503994739.669233]: /sdk_velocity_joint_trajectory_action_server_right: Executing requested joint trajectory
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:124: RuntimeWarning: divide by zero encountered in divide
v1 = d1 / t1
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:125: RuntimeWarning: invalid value encountered in multiply
gv = np.where(np.multiply(v0, v1)>=1e-10, 0.5 * ( v0 + v1 ), np.zeros(k)) # 0 + eps
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:123: RuntimeWarning: divide by zero encountered in divide
v0 = d0 / t0
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:128: RuntimeWarning: divide by zero encountered in divide
A=(gx-(x+v*t+(a/2.0)*t*t))/(t*t*t);
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:135: RuntimeWarning: invalid value encountered in subtract
a3=10*A-4*B+0.5*C;
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:136: RuntimeWarning: invalid value encountered in add
a4=(-15*A+7*B-C)/t;
/home/planner/sawyer_ws/src/intera_sdk/intera_interface/src/intera_joint_trajectory_action/minjerk.py:137: RuntimeWarning: invalid value encountered in subtract
a5=(6*A-3*B+0.5*C)/(t*t);
[WARN] [1503994764.494833]: /sdk_velocity_joint_trajectory_action_server_right: Trajectory execution Preempted. Stopping execution.
I believe this should be dealt with on the SDK side, preventing it from propagating through the controllers and causing this erratic behaviour in the arm.
Example won't run because there are two definitions for the -l
argument to the argparse parser. See here. It's currently defined to be both which limb to use and how many times to loop the playback.
Very minor issue, but should probably be fixed.
In camera streaming example, we can not close camera window unless press Ctrl+C to stop the example.
$ rosrun intera_examples joint_position_joystick.py -j xbox
,
Feedback is continually printed out to the console. However, button
presses do not appear to do anything.
As soon as the left joystick is moved up, down, left, or right, the script
errors out:
Traceback (most recent call last):
File
"/home/qagroup/ros_ws/src/intera_sdk/intera_examples/scripts/joint_position_joystick.py",
line 226, in <module>
main()
File
"/home/qagroup/ros_ws/src/intera_sdk/intera_examples/scripts/joint_position_joystick.py",
line 221, in main
map_joystick(joystick, args.limb)
File
"/home/qagroup/ros_ws/src/intera_sdk/intera_examples/scripts/joint_position_joystick.py",
line 140, in map_joystick
cmd[0](*cmd[1])
File
"/home/qagroup/ros_ws/src/intera_sdk/intera_examples/scripts/joint_position_joystick.py",
line 67, in set_j
cmd[joint] = delta + limb.joint_angle(joint)
AttributeError: 'str' object has no attribute 'joint_angle'
The method set_cognex_strobe(True) does not work for me. We have a sawyer, have the intera 5.3 firmware on the sawyer PC, and are using the latest git repos. The attached strobe.py.txt is a minimal python2 example. The call times out with this error:
[WARN]: Timed out waiting for command acknowlegment...
The internals call set_signal(), which calls publish_command(), which fails because it finds that no connections exist. I have not figured out what ros topic or service it wants to publish to. The same error occurs whether the camera is streaming or not.
Currently, it is baxter_working.png, perhaps we can have fake Sawyer eyes?
These examples need to be updated for Intera:
intera_examples/launch/head_action_client.launch
intera_examples/scripts/head_action_client.py
intera_interface/scripts/head_action_server.py
intera_interface/src/head_action/head_action.py
intera_interface/src/head_action/__init__.py
we can control intera sdk by wifi ,and we change the wifi to ethernet cable,we change our robot to use "Automatic" addressing, and set other steps , it is successfully.
but when we back to wifi connect , wrong coming, ping robot_hosname.local is successfully, but can not run all of the examples ,such as can not run rosrun intera_examples head_wobbler.py etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.