rethinkrobotics / baxter_examples Goto Github PK
View Code? Open in Web Editor NEWExample programs using the SDK for the Baxter Research Robot
Home Page: www.rethinkrobotics.com/sdk
License: BSD 3-Clause "New" or "Revised" License
Example programs using the SDK for the Baxter Research Robot
Home Page: www.rethinkrobotics.com/sdk
License: BSD 3-Clause "New" or "Revised" License
This issue was originally reported on the brr-users forum:
https://groups.google.com/a/rethinkrobotics.com/d/msg/brr-users/mloGg2SMj1o/Ae19tnl_484J
When using record-playback of joint_recorder.py and joint_trajectory_file_playback.py, the gripper playback is out of sync with the arm playback. Specifically, the grippers start as soon as the script runs, and the joint_trajectory_action_server begins playback a few seconds later. The source of this delay is computing all of the thousands of points in the Bezier curve. Roughly 1 second of planning time is required per 1,000 points.
One possible solution to this issue: hold back gripper playback until the JTAS starts executing the trajectory. This can be done by listening for feedback on the JTAS' feedback topic, and beginning execution of gripper playback at that point.
From @pconti
When using a logitech controller, if the joystick controller is run as 'logitech', the left arm's command continuously gets sent. If the same logitech controller is used with the 'xbox' joystick controller, then functionality is as expected.
Expectation for Logitech:
rightTrigger: left gripper close
rightTrigger: left gripper open
leftTrigger: right gripper close
leftTrigger: right gripper open
leftStickHorz: right inc right_s0
leftStickHorz: right dec right_s0
rightStickHorz: left inc left_s0
rightStickHorz: left dec left_s0
leftStickVert: right inc right_s1
leftStickVert: right dec right_s1
rightStickVert: left inc left_s1
rightStickVert: left dec left_s1
rightBumper: left: cycle joint
leftBumper: right: cycle joint
btnRight: left calibrate
btnLeft: right calibrate
function1: help
function2: help
I know you guys don't fully support Indigo yet, but there is a small change that now causes warnings in some of your examples. Particularly when I use the Joint Trajectory Playback Example
I get the warning:
baxter_interface/src/baxter_interface/limb.py:98: SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'. Please see http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers for more information.
latch=True)
That link:
http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers
Says:
As of Indigo not passing the keyword argument queue_size will result in a warning being printed to the console.
So it looks like you just need to edit the python code somewhere to pass it explicitly that flag.
Thanks!
A crossover issue from RethinkRobotics/baxter_simulator#58. The gist:
When running baxter_examples joint_velocity_wobbler.py
on the baxter_simulator
robot, and Ctrl+C is asserted by the user, various errors can be produced by rospy
on exit:
A Timer Error:
~/ros_ws$ ./baxter.sh sim
~/ros_ws$ rosrun baxter_examples joint_velocity_wobbler.py
[INFO] [WallTime: 1441031503.775147] [128.230000] Robot Enabled
[INFO] [WallTime: 1441031549.388135] [173.643000] Robot Disabled
File "/home/baxter/ros_ws/src/baxter_examples/scripts/joint_velocity_wobbler.py", line 158, in
File "/home/baxter/ros_ws/src/baxter_examples/scripts/joint_velocity_wobbler.py", line 153, in
File "/home/baxter/ros_ws/src/baxter_examples/scripts/joint_velocity_wobbler.py", line 134, in
File "/opt/ros/indigo/lib/python2.7/distpackages/rospy/timer.py", line 99, in sleep
File "/opt/ros/indigo/lib/python2.7/distpackages/rospy/timer.py", line 157, in sleep
raise rospy.exceptions.ROSInterruptException("ROS shutdown request")
rospy.exceptions.ROSInterruptException: ROS shutdown request
A baxter_interface Limb Error:
$ rosrun baxter_examples joint_velocity_wobbler.py
Initializing node...
Getting robot state...
Enabling robot...
[INFO] [WallTime: 1441731848.427393] [7726.313000] Robot Enabled
Moving to neutral pose...
Left Moving to neutral pose complete...
Right Moving to neutral pose complete...
Wobbling. Press Ctrl-C to stop...
^C
Exiting example...
Moving to neutral pose...
Left Moving to neutral pose complete...
Right Moving to neutral pose complete...
Disabling robot...
[INFO] [WallTime: 1441731868.003786] [7745.839000] Robot Disabled
Finished shutdown check...
Traceback (most recent call last):
File "/data/users/imcmahon/dev/mrsp_ws/src/baxter_examples/scripts/joint_velocity_wobbler.py", line 164, in <module>
main()
File "/data/users/imcmahon/dev/mrsp_ws/src/baxter_examples/scripts/joint_velocity_wobbler.py", line 159, in main
wobbler.wobble()
File "/data/users/imcmahon/dev/mrsp_ws/src/baxter_examples/scripts/joint_velocity_wobbler.py", line 136, in wobble
self._right_arm.set_joint_velocities(cmd)
File "/data/users/imcmahon/dev/mrsp_ws/src/baxter_interface/src/baxter_interface/limb.py", line 367, in set_joint_velocities
self._pub_joint_cmd.publish(self._command_msg)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 819, in publish
self.impl.publish(data)
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/topics.py", line 999, in publish
b.tell()
AttributeError: 'NoneType' object has no attribute 'tell'
This is likely a rospy
simulated_time
timer issue, since the joint_velocity_wobbler
script does not error like this on the real robot, but it is desirable to find a fix that would prevent this issue entirely.
From Juan in the brr-users group
"I recently updated to SDK 1.1.1. just today I tested the standard record / play demo and the Baxter research robot.
I found out that the grippers open and close functionality is out of sync when the recorded motion is replayed.
That is, the gripper might close several seconds later than it should, or it might open several seconds later than it should."
From Pete Conti:
Recorded a joint trajectory where the endpoint was far from the starting
point. When playback was run, the trajectory did not fully complete. It
appeared that playback was cut short by approximately the amount of time
it took to reach the starting point when playback was initiated.
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.