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

13 Commits

Author SHA1 Message Date
gavanderhoorn
0fa0cba044 Add Apache 2 license header to source and headers. 2019-03-29 16:52:49 +01:00
Miguel Prada
9e276a3368 Format sources with clang-format 2018-11-20 09:47:17 +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
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
Simon Rasmussen
3a5fa23f6b Clang-format run 2017-07-09 02:54:49 +02:00
Simon Rasmussen
c59bfc78cc Major refactor 2017-04-27 06:40:03 +02:00
Simon Rasmussen
06b2db45bf Improved pipeline design 2017-04-13 10:39:22 +02:00
Simon Rasmussen
474f469e97 Adopted roscpp code style and naming convention 2017-03-01 14:15:40 +01:00
Simon Rasmussen
d778559894 Minor pipeline improvements 2017-03-01 12:39:04 +01:00
Simon Rasmussen
fc53fbdd68 Fixed consumer thread getting stuck in dequeue on shutdown 2017-02-16 22:49:58 +01:00
Simon Rasmussen
a78d3eadf3 Added clang formatting 2017-02-16 02:03:40 +01:00
Simon Rasmussen
c282c961f7 Completed parsing of UR state, messages and RT 2017-02-16 01:52:22 +01:00
Simon Rasmussen
c42bdc4075 Implemented abstract pipeline design 2017-01-30 02:29:18 +01:00