1
0
mirror of https://gitlab.com/obbart/universal_robots_ros_driver.git synced 2026-04-10 18:10:47 +02:00
Commit Graph

51 Commits

Author SHA1 Message Date
Felix Mauch
792cdc3a08 added unit tests for calibration 2019-05-27 15:26:10 +02:00
Felix Mauch
d2eb7a8683 added first version of calibration 2019-05-27 15:26:06 +02:00
Felix Mauch
d7f065a22d Upload URScript via primary interface
Note: This will probably be changed later, but currently that's the
easiest way to handle this.
2019-04-16 09:29:38 +02:00
Felix Mauch
153585ad9d Added HardwareInterface 2019-04-11 17:29:56 +02:00
Felix Mauch
5db802ffd0 Added executable for plain driver 2019-04-11 16:32:37 +02:00
Tristan Schnell
742bc11c8f added the rtde client class that initializes the rtde handshake and
allows reading of data packages
2019-04-11 15:51:10 +02:00
Felix Mauch
4a12a8c9ce Implemented RTDEParser 2019-04-10 18:23:18 +02:00
Felix Mauch
466fc03e31 Implemented parsing and toString for RTDE data package 2019-04-10 18:23:18 +02:00
Felix Mauch
bf8d69e219 Added test executable 2019-04-10 10:23:16 +02:00
Felix Mauch
51ac7ddb91 Tested producer part with real data 2019-04-10 10:23:16 +02:00
Tristan Schnell
d32f66473e disabled no longer relevant unit tests 2019-04-09 16:29:57 +02:00
Felix Mauch
b090cdf833 added shell consumer 2019-04-09 16:05:35 +02:00
Tristan Schnell
b1d82c2be6 Added and implemented rtde message types 2019-04-09 16:05:35 +02:00
Felix Mauch
6699c1facb Added parse and toString functions for higher-level primary functions 2019-04-09 16:03:38 +02:00
Felix Mauch
4bf5793d79 Added and implemented primary messages 2019-04-09 16:00:17 +02:00
Tristan Schnell
112148bcd8 added package_header templating to stream class and moved implementation
into header file
2019-04-08 16:35:32 +02:00
Felix Mauch
44751cfb2a removed unused files 2019-04-01 17:30:24 +02:00
Felix Mauch
31746259cf put communication-related classes to namespace 2019-04-01 17:30:24 +02:00
Felix Mauch
515dd41edc renamed targets to not clash with ur_modern_driver 2019-04-01 17:30:24 +02:00
Felix Mauch
f34422f32b renamed package 2019-04-01 17:30:24 +02:00
G.A. vd. Hoorn
ef6d920a8e Select CMake build type if not configured. (#225)
The refactored version of this driver benefits from optimalisations so selecting a build type with optimalisations enabled is important.

Only if the user hasn't configured a build type do we do this to prevent overriding whatever was already configured.
2018-11-06 14:53:20 +01:00
Ose Pedro
a6dca0ce7e Defined a destination for static libraries. (#214)
Without this change, a CMake error occurs when compiling with BUILD_SHARED_LIBS set to OFF.
2018-11-01 17:02:20 +01:00
gavanderhoorn
4061639e5b build: make catkin_lint happy(ier).
Sort lists alphabetically, mostly.
2018-10-05 14:23:37 +02:00
gavanderhoorn
413a6568d1 build: add missing CATKIN_DEPENDENCY on ind_msgs. 2018-10-05 14:20:22 +02:00
gavanderhoorn
05b5e3a98d manifest: upgrade to version 2.
And clean build script.
2018-10-05 14:11:54 +02:00
G.A. vd. Hoorn
70e2c614aa Merge branch 'master' into master 2018-09-28 16:28:59 +02:00
Jarek Potiuk
db61edfe5b Remove added warning options.
Those warning options are separated out to #8 pull request
so there is no point in adding them here as well.
2018-02-05 00:03:48 +01:00
Jarek Potiuk
a54b97e939 Renamed Safe Trajectory Follower to Low Bandwidth one 2018-01-14 22:01:53 +01:00
Jarek Potiuk
5dcef72415 Adds Safe Trajectory Follower implementation
Safe Trajectory Follower implements different approach for controlling
the robot. Rather than calculate the interpolation steps in the driver
and send the small interpolated steps over the network to the URScript
program with 500Hz frequency, the coarser MoveIt trajectory is sent
(with few Hz) and the interpolation steps are calculated by the
URScript.

The algorithm for time progress has also built-in protection against
any delays induced by load on the driver, network or URControl - it
will never "catch-up" dangerously when such delay are introduced,
It will rather pause and wait for the next small interpolation step
instructions and re-start the move slower - never skipping any
interpolated steps.

Those changes make Safe Trajectory Follower much more resilient to
network communication problems and removes any superficial requirements
for the network setup, kernel latency and no-load-requirement for the
driver's PC - making it much more suitable for research, development
and quick iteration loops. It works reliably even over WiFi.
2018-01-12 00:00:16 +01:00
Jarek Potiuk
6950b3c4bd Re-add urscript topic (#7)
* Re-added UR script - for custom UR Script execution

* Restarting the driver when robot closes the connection on script error.

The pipelines work in the way that if the connection is
is closed by the control PC, it will not be re-established. This
happens for example if you use the URScript topic and upload
script that does not compile. The robot will then close the
connection, the pipeline will close and any subsequent
uploads will fail and noone realises there is a problem.

While we could re-establish the connection, I think much better
solution is to shutdown the driver in such case. This is much more
resilient behaviour as it will clean up any inconsistent driver state.

We can utilise "respawn" feature of ROS launch and restart such
driver automatically (launch files are updated as part of that change).

On top of "production" stability, it allows for much nicer development
workflow - you can use URScript topic for development of new scripts
and have the driver restart every time you make mistake.
Without it, any mistake requires restarting the driver manually.
2018-01-02 20:22:55 +01:00
Simon Schmeisser
24eef75d72 Publish industrial_msgs::RobotStatus (#5) 2018-01-02 20:16:41 +01:00
Michael Görner
e4a503fe5f various improvements and fixes for use_ros_control=true (#6)
* Find matching hardware_interface using the required type

The name of the controller was used in order to find and start
the matching hardware interface.
In consequence this meant that one could only define one controller
for each hardware interface.

Now, the controller's required type of hardware interface is used
to find and start the matching hardware interface.

* separate read & update in controller

consume is defined as read+update, but update
does not include read in ros_control terminology.

* Handle latency in pipeline loop

The controllers need to update at a rate of *at least* 125Hz,
but the wait_dequeue_timed call could in theory slow the loop down to 62.5Hz.
The old ur_modern_driver worked around this problem by sending goals
at 4*125Hz.

This patch exploits the onTimeout method of a consumer to update with
the specified frequency of the control loop, even if no new state message
arrived after the previous command.

* publish wrench w.r.t. tcp frame

The messages had an empty frame_id before and could not be displayed in RViz

* support ros_control in indigo
2017-12-08 14:05:07 +01:00
v4hn
0257396486 fix typo in catkin_package
ur_hardware_interface is no *dependency* of this package.
It's a library *provided* by this package
2017-10-11 20:36:33 +02:00
v4hn
3bd3c017a5 cleanup inconsistent / unused dependencies 2017-10-11 20:36:06 +02:00
v4hn
08affc5e9b set(CMAKE_CXX_FLAGS -> add_compile_options
Some of the set commands overwrote user-provided values.
Also add_compile_options is the much cleaner interface to add the values
2017-10-11 20:34:19 +02:00
Simon Rasmussen
8e8a0428b0 Added testing for master board parsing and fixed unparsed fields 2017-07-09 04:04:22 +02:00
Simon Rasmussen
fdaaacfe2c Clean up of old driver files 2017-07-09 02:45:02 +02:00
Ruddick Lawrence
e272a857e7 Copy config folder on install 2017-07-07 16:43:10 -07:00
Simon Rasmussen
c59bfc78cc Major refactor 2017-04-27 06:40:03 +02:00
Simon Rasmussen
46f4e493cf Big code dump 2017-04-17 13:04:12 +02:00
Simon Rasmussen
dd8169d371 Factory and setup improvements 2017-04-13 10:48:59 +02:00
Simon Rasmussen
aa26bb5996 Added tests 2017-03-07 02:50:46 +01:00
Simon
4cdceac791 Publish actual tool pose as pose msg and tf 2015-11-12 17:22:20 +01:00
Thomas Timm Andersen
0c901bd7e3 Included suggestion to update build-essential pkg if compiler doesn't support c++11 2015-10-20 10:14:57 +02:00
Thomas Timm Andersen
cb5409685f Added install targets 2015-10-20 10:09:49 +02:00
Thomas Timm Andersen
5c785af6c4 Included a position-based controller. Also prettied up printing 2015-09-25 09:57:33 +02:00
Thomas Timm Andersen
af601b9c32 Implemented ros-control 2015-09-24 10:27:55 +02:00
Thomas Timm Andersen
1b995a928b ROSify output based on compiler flag 2015-09-16 14:06:39 +02:00
Thomas Timm Andersen
8f3ae49e28 Added URScript interface - untested 2015-09-15 17:23:57 +02:00
Thomas Timm Andersen
cb18dd1d96 Implemented communication on port 30001 and 30002 - untested 2015-09-15 17:03:39 +02:00