Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | ros2-devel |
Last Updated | 2024-01-31 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Michael Ferguson
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
Branches
- ROS1:
- Melodic & Noetic: melodic-devel
- Kinetic: kinetic-devel
- ROS2:
- Galactic, Humble, Rolling: ros2-devel
LaserScan Visualization
Until the launch API is sorted out, there are two ways to view the laserscan in RViz:
1) use the static_transform_publisher tool from tf2_ros to publish a static transform for a fixed frame simultaneously with rviz and urg_node.
ros2 run tf2_ros static_transform_publisher --frame-id world --child-frame-id laser
where “laser” is the frame id, which you can set in your urg_node yaml file
2) Run the robot_state_publisher along with a urdf file so that a fixed frame can be loaded in rviz
ros2 run robot_state_publisher robot_state_publisher <path to urdf file>
A urdf file is already included and if you have succesfully ran an colcon build
, the path to urdf file will be:
<path to ros2_ws>/install/share/urg_node/launch/hokuyo_laser.urdf
Now run RViz:
ros2 run rviz2 rviz2
or simply rviz2
Add the LaserScan topic and change the global fixed frame from ‘map’ to ‘world’ to display the laser scan.
Parameters
A YAML file example is included in the launch folder, all the available parameters are listed in it. For example (note that the serial_port is commented because you can’t set a param with an empty string):
urg_node:
ros__parameters:
ip_address: "192.168.0.10"
ip_port: 10940
#serial_port: ""
serial_baud: 115200
laser_frame_id: laser
angle_max: 3.14
angle_min: -3.14
publish_intensity: false
publish_multiecho: false
calibrate_time: false
default_user_latency: 0
diagnostics_tolerance: 0.05
diagnostics_window_time: 5.0
error_limit: 4
get_detailed_status: false
cluster: 0
skip: 1
To give parameters to urg_node :
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
You can reconfigure parameters while the node is launched. For now, you can only reconfigure the following parameters:
laser_frame_id
error_limit
default_user_latency
angle_max
angle_min
cluster
skip
For example to reconfigure the cluster parameter using command line :
ros2 param set /urg_node cluster 1
How to use the ust-20lx (and other Ethernet-based laser)
To use ust-20lx you need to be on the same subnet as the laser. The ust-20lx default IP address is 192.168.0.10, so you might need to change your IP to something on the same subnet.
On Ubuntu :
- Network settings
- Wired connection
- Under IPv4, change the IPv4 method from automatic to Manual and under Addresses, set the values:
Address : 192.168.0.15
Netmask : 255.255.255.0
Gateway : 192.168.0.1
- Turn the connection off and on again to apply the change
- To check if it worked, open a terminal and type
ip --color address
or simply ip -c a
- Under eth0 (or maybe something like enpxxxxx), your IP should be 192.168.0.15. You should now be able to ping the ust-20lx at its address (by default 192.168.0.10)
ping 192.168.0.10
If you don’t receive any answer, you might have a connection problem or the IP of your laser might have changed. If the IP was changed, you can either change your computer’s IP to the same subnet or reset the laser to factory settings.
- Once you can ping the laser, launch the urg_node_driver:
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
Changelog for package urg_node
1.1.1 (2023-03-18)
- add branch information
- add license file, same as ROS1
- increased delay in diagnostics thread to slow down publish rate (#102) This is just a quick PR to increase the thread sleep in the diagnostics thread. Currently the diagnostics status is updated at ~96hz. Which is way too fast and really messes with the Frequency Status Monitor which jumps between too low and too high
- Added URDF for UST10. (#103)
- Contributors: Michael Ferguson, Richard, Tony Baltovski
1.1.0 (2021-03-31)
- Merge pull request #86 from ros-drivers/clalancette/galactic-fixes Fixes for ROS 2 Galactic
- Don't error out on unknown parameter names. In general, parameter callbacks should not error out on unknown parameter names. That's because a) the callbacks may be chained, and b) there may be internal parameters that are used. Just ignore anything we don't know about.
- Switch to PRIu32 for printing a uint32_t. This just ensures that it works on all platforms, and removes a warning on Galactic.
- Fix rclcpp::Duration construction. As of Galactic, initializing an rclcpp::Duration with just a number is deprecated. We now have to explicitly tell it the units of the number, generally done through std::chrono.
- Remove unused reconfigure method.
- Contributors: Chris Lalancette, Michael Ferguson
1.0.3 (2021-03-31)
- Use Python 3 specifically in helper script (#85) ROS 2 only targets Python 3. Making the shebang specific will ensure it isn't accidentally executed using the Python 2 interpreter.
- travis-ci doesn't work But ros build farm is giving us coverage
- depend only on parts of boost needed by the package (#75)
- Contributors: Michael Ferguson, Mikael Arguedas, Scott K Logan
1.0.2 (2020-07-12)
1.0.1 (2020-06-10)
- node name is now urg_node_driver (#70) The node was renamed as part of the composable refactor At runtime, it still defaults to urg_node as the graph name
- call run in a thread, fixes #66 (#71)
- add myself as maintainer for ros2 (#73)
- Contributors: Michael Ferguson
1.0.0 (2020-03-24)
- migrate ros2 devel (#50)
- Merge pull request #42 from BadgerTechnologies/detect-time-warp-and-reset
- synchronize_time: reset when clock is warped
- Merge pull request #41 from BadgerTechnologies/synchronize-time
- synchronize system clock to hardware time
- Add Travis config.
- Fixed linter errors.
- Contributors: Aarush Gupta, aswinthomas, Brett, C. Andy Martin, Chris Lalancette, Gu Chao Jie, Karsten Knese, Marc-Antoine Testier, Tony Baltovski, Zoe
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libboost-dev |
Dependant Packages
Name | Deps |
---|---|
raspimouse_navigation | |
raspimouse_slam |
Launch files
Messages
Services
Plugins
Recent questions tagged urg_node at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | ros2-devel |
Last Updated | 2024-01-31 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Michael Ferguson
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
Branches
- ROS1:
- Melodic & Noetic: melodic-devel
- Kinetic: kinetic-devel
- ROS2:
- Galactic, Humble, Rolling: ros2-devel
LaserScan Visualization
Until the launch API is sorted out, there are two ways to view the laserscan in RViz:
1) use the static_transform_publisher tool from tf2_ros to publish a static transform for a fixed frame simultaneously with rviz and urg_node.
ros2 run tf2_ros static_transform_publisher --frame-id world --child-frame-id laser
where “laser” is the frame id, which you can set in your urg_node yaml file
2) Run the robot_state_publisher along with a urdf file so that a fixed frame can be loaded in rviz
ros2 run robot_state_publisher robot_state_publisher <path to urdf file>
A urdf file is already included and if you have succesfully ran an colcon build
, the path to urdf file will be:
<path to ros2_ws>/install/share/urg_node/launch/hokuyo_laser.urdf
Now run RViz:
ros2 run rviz2 rviz2
or simply rviz2
Add the LaserScan topic and change the global fixed frame from ‘map’ to ‘world’ to display the laser scan.
Parameters
A YAML file example is included in the launch folder, all the available parameters are listed in it. For example (note that the serial_port is commented because you can’t set a param with an empty string):
urg_node:
ros__parameters:
ip_address: "192.168.0.10"
ip_port: 10940
#serial_port: ""
serial_baud: 115200
laser_frame_id: laser
angle_max: 3.14
angle_min: -3.14
publish_intensity: false
publish_multiecho: false
calibrate_time: false
default_user_latency: 0
diagnostics_tolerance: 0.05
diagnostics_window_time: 5.0
error_limit: 4
get_detailed_status: false
cluster: 0
skip: 1
To give parameters to urg_node :
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
You can reconfigure parameters while the node is launched. For now, you can only reconfigure the following parameters:
laser_frame_id
error_limit
default_user_latency
angle_max
angle_min
cluster
skip
For example to reconfigure the cluster parameter using command line :
ros2 param set /urg_node cluster 1
How to use the ust-20lx (and other Ethernet-based laser)
To use ust-20lx you need to be on the same subnet as the laser. The ust-20lx default IP address is 192.168.0.10, so you might need to change your IP to something on the same subnet.
On Ubuntu :
- Network settings
- Wired connection
- Under IPv4, change the IPv4 method from automatic to Manual and under Addresses, set the values:
Address : 192.168.0.15
Netmask : 255.255.255.0
Gateway : 192.168.0.1
- Turn the connection off and on again to apply the change
- To check if it worked, open a terminal and type
ip --color address
or simply ip -c a
- Under eth0 (or maybe something like enpxxxxx), your IP should be 192.168.0.15. You should now be able to ping the ust-20lx at its address (by default 192.168.0.10)
ping 192.168.0.10
If you don’t receive any answer, you might have a connection problem or the IP of your laser might have changed. If the IP was changed, you can either change your computer’s IP to the same subnet or reset the laser to factory settings.
- Once you can ping the laser, launch the urg_node_driver:
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
Changelog for package urg_node
1.1.1 (2023-03-18)
- add branch information
- add license file, same as ROS1
- increased delay in diagnostics thread to slow down publish rate (#102) This is just a quick PR to increase the thread sleep in the diagnostics thread. Currently the diagnostics status is updated at ~96hz. Which is way too fast and really messes with the Frequency Status Monitor which jumps between too low and too high
- Added URDF for UST10. (#103)
- Contributors: Michael Ferguson, Richard, Tony Baltovski
1.1.0 (2021-03-31)
- Merge pull request #86 from ros-drivers/clalancette/galactic-fixes Fixes for ROS 2 Galactic
- Don't error out on unknown parameter names. In general, parameter callbacks should not error out on unknown parameter names. That's because a) the callbacks may be chained, and b) there may be internal parameters that are used. Just ignore anything we don't know about.
- Switch to PRIu32 for printing a uint32_t. This just ensures that it works on all platforms, and removes a warning on Galactic.
- Fix rclcpp::Duration construction. As of Galactic, initializing an rclcpp::Duration with just a number is deprecated. We now have to explicitly tell it the units of the number, generally done through std::chrono.
- Remove unused reconfigure method.
- Contributors: Chris Lalancette, Michael Ferguson
1.0.3 (2021-03-31)
- Use Python 3 specifically in helper script (#85) ROS 2 only targets Python 3. Making the shebang specific will ensure it isn't accidentally executed using the Python 2 interpreter.
- travis-ci doesn't work But ros build farm is giving us coverage
- depend only on parts of boost needed by the package (#75)
- Contributors: Michael Ferguson, Mikael Arguedas, Scott K Logan
1.0.2 (2020-07-12)
1.0.1 (2020-06-10)
- node name is now urg_node_driver (#70) The node was renamed as part of the composable refactor At runtime, it still defaults to urg_node as the graph name
- call run in a thread, fixes #66 (#71)
- add myself as maintainer for ros2 (#73)
- Contributors: Michael Ferguson
1.0.0 (2020-03-24)
- migrate ros2 devel (#50)
- Merge pull request #42 from BadgerTechnologies/detect-time-warp-and-reset
- synchronize_time: reset when clock is warped
- Merge pull request #41 from BadgerTechnologies/synchronize-time
- synchronize system clock to hardware time
- Add Travis config.
- Fixed linter errors.
- Contributors: Aarush Gupta, aswinthomas, Brett, C. Andy Martin, Chris Lalancette, Gu Chao Jie, Karsten Knese, Marc-Antoine Testier, Tony Baltovski, Zoe
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged urg_node at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | ros2-devel |
Last Updated | 2024-01-31 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Michael Ferguson
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
Branches
- ROS1:
- Melodic & Noetic: melodic-devel
- Kinetic: kinetic-devel
- ROS2:
- Galactic, Humble, Rolling: ros2-devel
LaserScan Visualization
Until the launch API is sorted out, there are two ways to view the laserscan in RViz:
1) use the static_transform_publisher tool from tf2_ros to publish a static transform for a fixed frame simultaneously with rviz and urg_node.
ros2 run tf2_ros static_transform_publisher --frame-id world --child-frame-id laser
where “laser” is the frame id, which you can set in your urg_node yaml file
2) Run the robot_state_publisher along with a urdf file so that a fixed frame can be loaded in rviz
ros2 run robot_state_publisher robot_state_publisher <path to urdf file>
A urdf file is already included and if you have succesfully ran an colcon build
, the path to urdf file will be:
<path to ros2_ws>/install/share/urg_node/launch/hokuyo_laser.urdf
Now run RViz:
ros2 run rviz2 rviz2
or simply rviz2
Add the LaserScan topic and change the global fixed frame from ‘map’ to ‘world’ to display the laser scan.
Parameters
A YAML file example is included in the launch folder, all the available parameters are listed in it. For example (note that the serial_port is commented because you can’t set a param with an empty string):
urg_node:
ros__parameters:
ip_address: "192.168.0.10"
ip_port: 10940
#serial_port: ""
serial_baud: 115200
laser_frame_id: laser
angle_max: 3.14
angle_min: -3.14
publish_intensity: false
publish_multiecho: false
calibrate_time: false
default_user_latency: 0
diagnostics_tolerance: 0.05
diagnostics_window_time: 5.0
error_limit: 4
get_detailed_status: false
cluster: 0
skip: 1
To give parameters to urg_node :
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
You can reconfigure parameters while the node is launched. For now, you can only reconfigure the following parameters:
laser_frame_id
error_limit
default_user_latency
angle_max
angle_min
cluster
skip
For example to reconfigure the cluster parameter using command line :
ros2 param set /urg_node cluster 1
How to use the ust-20lx (and other Ethernet-based laser)
To use ust-20lx you need to be on the same subnet as the laser. The ust-20lx default IP address is 192.168.0.10, so you might need to change your IP to something on the same subnet.
On Ubuntu :
- Network settings
- Wired connection
- Under IPv4, change the IPv4 method from automatic to Manual and under Addresses, set the values:
Address : 192.168.0.15
Netmask : 255.255.255.0
Gateway : 192.168.0.1
- Turn the connection off and on again to apply the change
- To check if it worked, open a terminal and type
ip --color address
or simply ip -c a
- Under eth0 (or maybe something like enpxxxxx), your IP should be 192.168.0.15. You should now be able to ping the ust-20lx at its address (by default 192.168.0.10)
ping 192.168.0.10
If you don’t receive any answer, you might have a connection problem or the IP of your laser might have changed. If the IP was changed, you can either change your computer’s IP to the same subnet or reset the laser to factory settings.
- Once you can ping the laser, launch the urg_node_driver:
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
Changelog for package urg_node
1.1.1 (2023-03-18)
- add branch information
- add license file, same as ROS1
- increased delay in diagnostics thread to slow down publish rate (#102) This is just a quick PR to increase the thread sleep in the diagnostics thread. Currently the diagnostics status is updated at ~96hz. Which is way too fast and really messes with the Frequency Status Monitor which jumps between too low and too high
- Added URDF for UST10. (#103)
- Contributors: Michael Ferguson, Richard, Tony Baltovski
1.1.0 (2021-03-31)
- Merge pull request #86 from ros-drivers/clalancette/galactic-fixes Fixes for ROS 2 Galactic
- Don't error out on unknown parameter names. In general, parameter callbacks should not error out on unknown parameter names. That's because a) the callbacks may be chained, and b) there may be internal parameters that are used. Just ignore anything we don't know about.
- Switch to PRIu32 for printing a uint32_t. This just ensures that it works on all platforms, and removes a warning on Galactic.
- Fix rclcpp::Duration construction. As of Galactic, initializing an rclcpp::Duration with just a number is deprecated. We now have to explicitly tell it the units of the number, generally done through std::chrono.
- Remove unused reconfigure method.
- Contributors: Chris Lalancette, Michael Ferguson
1.0.3 (2021-03-31)
- Use Python 3 specifically in helper script (#85) ROS 2 only targets Python 3. Making the shebang specific will ensure it isn't accidentally executed using the Python 2 interpreter.
- travis-ci doesn't work But ros build farm is giving us coverage
- depend only on parts of boost needed by the package (#75)
- Contributors: Michael Ferguson, Mikael Arguedas, Scott K Logan
1.0.2 (2020-07-12)
1.0.1 (2020-06-10)
- node name is now urg_node_driver (#70) The node was renamed as part of the composable refactor At runtime, it still defaults to urg_node as the graph name
- call run in a thread, fixes #66 (#71)
- add myself as maintainer for ros2 (#73)
- Contributors: Michael Ferguson
1.0.0 (2020-03-24)
- migrate ros2 devel (#50)
- Merge pull request #42 from BadgerTechnologies/detect-time-warp-and-reset
- synchronize_time: reset when clock is warped
- Merge pull request #41 from BadgerTechnologies/synchronize-time
- synchronize system clock to hardware time
- Add Travis config.
- Fixed linter errors.
- Contributors: Aarush Gupta, aswinthomas, Brett, C. Andy Martin, Chris Lalancette, Gu Chao Jie, Karsten Knese, Marc-Antoine Testier, Tony Baltovski, Zoe
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged urg_node at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | ros2-devel |
Last Updated | 2024-01-31 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Michael Ferguson
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
Branches
- ROS1:
- Melodic & Noetic: melodic-devel
- Kinetic: kinetic-devel
- ROS2:
- Galactic, Humble, Rolling: ros2-devel
LaserScan Visualization
Until the launch API is sorted out, there are two ways to view the laserscan in RViz:
1) use the static_transform_publisher tool from tf2_ros to publish a static transform for a fixed frame simultaneously with rviz and urg_node.
ros2 run tf2_ros static_transform_publisher --frame-id world --child-frame-id laser
where “laser” is the frame id, which you can set in your urg_node yaml file
2) Run the robot_state_publisher along with a urdf file so that a fixed frame can be loaded in rviz
ros2 run robot_state_publisher robot_state_publisher <path to urdf file>
A urdf file is already included and if you have succesfully ran an colcon build
, the path to urdf file will be:
<path to ros2_ws>/install/share/urg_node/launch/hokuyo_laser.urdf
Now run RViz:
ros2 run rviz2 rviz2
or simply rviz2
Add the LaserScan topic and change the global fixed frame from ‘map’ to ‘world’ to display the laser scan.
Parameters
A YAML file example is included in the launch folder, all the available parameters are listed in it. For example (note that the serial_port is commented because you can’t set a param with an empty string):
urg_node:
ros__parameters:
ip_address: "192.168.0.10"
ip_port: 10940
#serial_port: ""
serial_baud: 115200
laser_frame_id: laser
angle_max: 3.14
angle_min: -3.14
publish_intensity: false
publish_multiecho: false
calibrate_time: false
default_user_latency: 0
diagnostics_tolerance: 0.05
diagnostics_window_time: 5.0
error_limit: 4
get_detailed_status: false
cluster: 0
skip: 1
To give parameters to urg_node :
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
You can reconfigure parameters while the node is launched. For now, you can only reconfigure the following parameters:
laser_frame_id
error_limit
default_user_latency
angle_max
angle_min
cluster
skip
For example to reconfigure the cluster parameter using command line :
ros2 param set /urg_node cluster 1
How to use the ust-20lx (and other Ethernet-based laser)
To use ust-20lx you need to be on the same subnet as the laser. The ust-20lx default IP address is 192.168.0.10, so you might need to change your IP to something on the same subnet.
On Ubuntu :
- Network settings
- Wired connection
- Under IPv4, change the IPv4 method from automatic to Manual and under Addresses, set the values:
Address : 192.168.0.15
Netmask : 255.255.255.0
Gateway : 192.168.0.1
- Turn the connection off and on again to apply the change
- To check if it worked, open a terminal and type
ip --color address
or simply ip -c a
- Under eth0 (or maybe something like enpxxxxx), your IP should be 192.168.0.15. You should now be able to ping the ust-20lx at its address (by default 192.168.0.10)
ping 192.168.0.10
If you don’t receive any answer, you might have a connection problem or the IP of your laser might have changed. If the IP was changed, you can either change your computer’s IP to the same subnet or reset the laser to factory settings.
- Once you can ping the laser, launch the urg_node_driver:
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
Changelog for package urg_node
1.1.1 (2023-03-18)
- add branch information
- add license file, same as ROS1
- increased delay in diagnostics thread to slow down publish rate (#102) This is just a quick PR to increase the thread sleep in the diagnostics thread. Currently the diagnostics status is updated at ~96hz. Which is way too fast and really messes with the Frequency Status Monitor which jumps between too low and too high
- Added URDF for UST10. (#103)
- Contributors: Michael Ferguson, Richard, Tony Baltovski
1.1.0 (2021-03-31)
- Merge pull request #86 from ros-drivers/clalancette/galactic-fixes Fixes for ROS 2 Galactic
- Don't error out on unknown parameter names. In general, parameter callbacks should not error out on unknown parameter names. That's because a) the callbacks may be chained, and b) there may be internal parameters that are used. Just ignore anything we don't know about.
- Switch to PRIu32 for printing a uint32_t. This just ensures that it works on all platforms, and removes a warning on Galactic.
- Fix rclcpp::Duration construction. As of Galactic, initializing an rclcpp::Duration with just a number is deprecated. We now have to explicitly tell it the units of the number, generally done through std::chrono.
- Remove unused reconfigure method.
- Contributors: Chris Lalancette, Michael Ferguson
1.0.3 (2021-03-31)
- Use Python 3 specifically in helper script (#85) ROS 2 only targets Python 3. Making the shebang specific will ensure it isn't accidentally executed using the Python 2 interpreter.
- travis-ci doesn't work But ros build farm is giving us coverage
- depend only on parts of boost needed by the package (#75)
- Contributors: Michael Ferguson, Mikael Arguedas, Scott K Logan
1.0.2 (2020-07-12)
1.0.1 (2020-06-10)
- node name is now urg_node_driver (#70) The node was renamed as part of the composable refactor At runtime, it still defaults to urg_node as the graph name
- call run in a thread, fixes #66 (#71)
- add myself as maintainer for ros2 (#73)
- Contributors: Michael Ferguson
1.0.0 (2020-03-24)
- migrate ros2 devel (#50)
- Merge pull request #42 from BadgerTechnologies/detect-time-warp-and-reset
- synchronize_time: reset when clock is warped
- Merge pull request #41 from BadgerTechnologies/synchronize-time
- synchronize system clock to hardware time
- Add Travis config.
- Fixed linter errors.
- Contributors: Aarush Gupta, aswinthomas, Brett, C. Andy Martin, Chris Lalancette, Gu Chao Jie, Karsten Knese, Marc-Antoine Testier, Tony Baltovski, Zoe
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged urg_node at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.18 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2022-10-13 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
ROS wrapper for the Hokuyo urg_c library.
Changelog for package urg_node
0.1.18 (2022-09-29)
- Encode sent msg to bytes object when comparing with returned msg bytes object from socket; ensures compatability with Python 2 and Python 3; add comments.
- Install Python helper script using catkin_install_python() so the correct Python version is selected automatically; ensure socket sends message as byte object for Python3, while ensuring backwards compatability with Python2.
- Contributors: Joey Yang
0.1.17 (2022-03-03)
- Update UST10
(#96)
- Fix typo for package name
- Replace UST10 URDF with one used in CPR robots ; remove lx suffix from UST10 files
- Fix typo in package name
- Add installation of urdf, meshes, and launch directories to CMakeLists.txt
- Add collision to URDF
- Add URDF and STL of Hokuyo UST-10LX
- Contributors: Joey Yang
0.1.16 (2022-01-27)
- roslint fixes.
- Diagnostic Analyzers
(#93)
- Added diagnostic analyzers to organize robot_monitor
- Update Change Log
- Moved addDiagnostics call to the diagnostics thread
- Changed parameter prefix from "/" to ""
- Removed edits to the CHANGELOG
- Contributors: Tony Baltovski, luis-camero
0.1.15 (2020-10-27)
- Function setSkip() set as void This function as no return type causing undefined behavior. This function has been declared as void.
- Contributors: bostoncleek
0.1.14 (2020-06-04)
- Bumped CMake version.
- Removed trailing whitespace.
- Contributors: Tony Baltovski
0.1.13 (2020-03-27)
- Revert "fix(updateStatus): Update status on diagnostics update"
- Contributors: Tony Baltovski
0.1.12 (2020-03-14)
- Updated roslint to only check files in this repo.
- Updated TravisCI config.
- fix(updateStatus): Update status on diagnostics update Otherwise the diagnostics information does not really reflect the device status.
- synchronize_time: reset when clock is warped If either the hardware clock or system clock warp, reset the EMA to prevent incorrect clock values from being used. Detect the warp by putting a limit on the absolute error between the synchronized clock and the system clock. When a warp is detected, reset the EMA to force the clocks to resynchronize. Use the system clock until the EMA has stabalized again.
- synchronize system clock to hardware time Remove jitter from the system clock by synchronizing it to the change in hardware time stamps. This does not synchrnoize it in an absolute sense (i.e., doesn't remove system latench). However, coupled with calibrating system latency, this results in a stable, accurate clock.
- Add Travis config.
- Fixed linter errors.
- Contributors: C. Andy Martin, Rein Appeldoorn, Tony Baltovski
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
message_runtime | |
xacro | |
roslint | |
roslaunch | |
diagnostic_updater | |
dynamic_reconfigure | |
laser_proc | |
message_generation | |
nodelet | |
rosconsole | |
roscpp | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
urg_c |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
jsk_tilt_laser | |
pr2_bringup | |
raspimouse_bringup |
Launch files
Messages
Services
Plugins
Recent questions tagged urg_node at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | ros2-devel |
Last Updated | 2024-01-31 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Michael Ferguson
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
Branches
- ROS1:
- Melodic & Noetic: melodic-devel
- Kinetic: kinetic-devel
- ROS2:
- Galactic, Humble, Rolling: ros2-devel
LaserScan Visualization
Until the launch API is sorted out, there are two ways to view the laserscan in RViz:
1) use the static_transform_publisher tool from tf2_ros to publish a static transform for a fixed frame simultaneously with rviz and urg_node.
ros2 run tf2_ros static_transform_publisher --frame-id world --child-frame-id laser
where “laser” is the frame id, which you can set in your urg_node yaml file
2) Run the robot_state_publisher along with a urdf file so that a fixed frame can be loaded in rviz
ros2 run robot_state_publisher robot_state_publisher <path to urdf file>
A urdf file is already included and if you have succesfully ran an colcon build
, the path to urdf file will be:
<path to ros2_ws>/install/share/urg_node/launch/hokuyo_laser.urdf
Now run RViz:
ros2 run rviz2 rviz2
or simply rviz2
Add the LaserScan topic and change the global fixed frame from ‘map’ to ‘world’ to display the laser scan.
Parameters
A YAML file example is included in the launch folder, all the available parameters are listed in it. For example (note that the serial_port is commented because you can’t set a param with an empty string):
urg_node:
ros__parameters:
ip_address: "192.168.0.10"
ip_port: 10940
#serial_port: ""
serial_baud: 115200
laser_frame_id: laser
angle_max: 3.14
angle_min: -3.14
publish_intensity: false
publish_multiecho: false
calibrate_time: false
default_user_latency: 0
diagnostics_tolerance: 0.05
diagnostics_window_time: 5.0
error_limit: 4
get_detailed_status: false
cluster: 0
skip: 1
To give parameters to urg_node :
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
You can reconfigure parameters while the node is launched. For now, you can only reconfigure the following parameters:
laser_frame_id
error_limit
default_user_latency
angle_max
angle_min
cluster
skip
For example to reconfigure the cluster parameter using command line :
ros2 param set /urg_node cluster 1
How to use the ust-20lx (and other Ethernet-based laser)
To use ust-20lx you need to be on the same subnet as the laser. The ust-20lx default IP address is 192.168.0.10, so you might need to change your IP to something on the same subnet.
On Ubuntu :
- Network settings
- Wired connection
- Under IPv4, change the IPv4 method from automatic to Manual and under Addresses, set the values:
Address : 192.168.0.15
Netmask : 255.255.255.0
Gateway : 192.168.0.1
- Turn the connection off and on again to apply the change
- To check if it worked, open a terminal and type
ip --color address
or simply ip -c a
- Under eth0 (or maybe something like enpxxxxx), your IP should be 192.168.0.15. You should now be able to ping the ust-20lx at its address (by default 192.168.0.10)
ping 192.168.0.10
If you don’t receive any answer, you might have a connection problem or the IP of your laser might have changed. If the IP was changed, you can either change your computer’s IP to the same subnet or reset the laser to factory settings.
- Once you can ping the laser, launch the urg_node_driver:
ros2 run urg_node urg_node_driver --ros-args --params-file path/to/my/file.yaml
Changelog for package urg_node
1.1.1 (2023-03-18)
- add branch information
- add license file, same as ROS1
- increased delay in diagnostics thread to slow down publish rate (#102) This is just a quick PR to increase the thread sleep in the diagnostics thread. Currently the diagnostics status is updated at ~96hz. Which is way too fast and really messes with the Frequency Status Monitor which jumps between too low and too high
- Added URDF for UST10. (#103)
- Contributors: Michael Ferguson, Richard, Tony Baltovski
1.1.0 (2021-03-31)
- Merge pull request #86 from ros-drivers/clalancette/galactic-fixes Fixes for ROS 2 Galactic
- Don't error out on unknown parameter names. In general, parameter callbacks should not error out on unknown parameter names. That's because a) the callbacks may be chained, and b) there may be internal parameters that are used. Just ignore anything we don't know about.
- Switch to PRIu32 for printing a uint32_t. This just ensures that it works on all platforms, and removes a warning on Galactic.
- Fix rclcpp::Duration construction. As of Galactic, initializing an rclcpp::Duration with just a number is deprecated. We now have to explicitly tell it the units of the number, generally done through std::chrono.
- Remove unused reconfigure method.
- Contributors: Chris Lalancette, Michael Ferguson
1.0.3 (2021-03-31)
- Use Python 3 specifically in helper script (#85) ROS 2 only targets Python 3. Making the shebang specific will ensure it isn't accidentally executed using the Python 2 interpreter.
- travis-ci doesn't work But ros build farm is giving us coverage
- depend only on parts of boost needed by the package (#75)
- Contributors: Michael Ferguson, Mikael Arguedas, Scott K Logan
1.0.2 (2020-07-12)
1.0.1 (2020-06-10)
- node name is now urg_node_driver (#70) The node was renamed as part of the composable refactor At runtime, it still defaults to urg_node as the graph name
- call run in a thread, fixes #66 (#71)
- add myself as maintainer for ros2 (#73)
- Contributors: Michael Ferguson
1.0.0 (2020-03-24)
- migrate ros2 devel (#50)
- Merge pull request #42 from BadgerTechnologies/detect-time-warp-and-reset
- synchronize_time: reset when clock is warped
- Merge pull request #41 from BadgerTechnologies/synchronize-time
- synchronize system clock to hardware time
- Add Travis config.
- Fixed linter errors.
- Contributors: Aarush Gupta, aswinthomas, Brett, C. Andy Martin, Chris Lalancette, Gu Chao Jie, Karsten Knese, Marc-Antoine Testier, Tony Baltovski, Zoe
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged urg_node at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.18 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/urg_node.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2022-10-13 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tony Baltovski
Authors
- Chad Rockey
- Mike O'Driscoll
urg_node
ROS wrapper for the Hokuyo urg_c library.
Changelog for package urg_node
0.1.18 (2022-09-29)
- Encode sent msg to bytes object when comparing with returned msg bytes object from socket; ensures compatability with Python 2 and Python 3; add comments.
- Install Python helper script using catkin_install_python() so the correct Python version is selected automatically; ensure socket sends message as byte object for Python3, while ensuring backwards compatability with Python2.
- Contributors: Joey Yang
0.1.17 (2022-03-03)
- Update UST10
(#96)
- Fix typo for package name
- Replace UST10 URDF with one used in CPR robots ; remove lx suffix from UST10 files
- Fix typo in package name
- Add installation of urdf, meshes, and launch directories to CMakeLists.txt
- Add collision to URDF
- Add URDF and STL of Hokuyo UST-10LX
- Contributors: Joey Yang
0.1.16 (2022-01-27)
- roslint fixes.
- Diagnostic Analyzers
(#93)
- Added diagnostic analyzers to organize robot_monitor
- Update Change Log
- Moved addDiagnostics call to the diagnostics thread
- Changed parameter prefix from "/" to ""
- Removed edits to the CHANGELOG
- Contributors: Tony Baltovski, luis-camero
0.1.15 (2020-10-27)
- Function setSkip() set as void This function as no return type causing undefined behavior. This function has been declared as void.
- Contributors: bostoncleek
0.1.14 (2020-06-04)
- Bumped CMake version.
- Removed trailing whitespace.
- Contributors: Tony Baltovski
0.1.13 (2020-03-27)
- Revert "fix(updateStatus): Update status on diagnostics update"
- Contributors: Tony Baltovski
0.1.12 (2020-03-14)
- Updated roslint to only check files in this repo.
- Updated TravisCI config.
- fix(updateStatus): Update status on diagnostics update Otherwise the diagnostics information does not really reflect the device status.
- synchronize_time: reset when clock is warped If either the hardware clock or system clock warp, reset the EMA to prevent incorrect clock values from being used. Detect the warp by putting a limit on the absolute error between the synchronized clock and the system clock. When a warp is detected, reset the EMA to force the clocks to resynchronize. Use the system clock until the EMA has stabalized again.
- synchronize system clock to hardware time Remove jitter from the system clock by synchronizing it to the change in hardware time stamps. This does not synchrnoize it in an absolute sense (i.e., doesn't remove system latench). However, coupled with calibrating system latency, this results in a stable, accurate clock.
- Add Travis config.
- Fixed linter errors.
- Contributors: C. Andy Martin, Rein Appeldoorn, Tony Baltovski
0.1.11 (2017-10-17)
- Add support for URG-04LX in SCIP 1.1 mode The urg_node does not support SCIP 1.1. The Hokuyo URG-04LX supports both SCIP 1.1 and SCIP 2.0, but needs to be switched to SCIP 2.0 at every startup in its default configuration. For this purpose the function URGCWrapper::setToSCIP2() was added. A URG-04LX in SCIP 1.1 mode used to lead to an exception being thrown in URGCwrapper::initialize. Now, before throwing the exception an attempt to switch the sensor to SCIP 2.0 is made.
- Fixed comments in launch file and added roslaunch.
- Add flag to prevent updating of detailed status. If using a model that does not support AR00 command, hide it behind a rosparam.
- Add safety stop heading and distance values (#28) Added to the laser status field the last report of a safety stop of distance and angle reported. If this fails or is unavailable it will just report 0.
- Updating depend and roslint. Fixing some roslint error after moving a header name. Additionally fixing the gencfg to be on the lib and not the node.
- Adding missing std_srvs depend. Adding missing std_srvs depend to package.xml and CMakelists.txt
- Move urg_node to be a library. Moving urg_node to urg_node_driver as a library. This allows for other nodes to include this as an object instead of spawning another separate process.
- Add getAR00 status command. Added ability to pull the status of the lidar AR00 status command. This then publishes a latched topic with the current status of the lidar's error code and lockout status.
- Update urg_node to be a self contained class Updating urg node to be a self contained class. This allows for it to be imported in other nodes.
- Roslint
- Contributors: Benjamin Scholz, Mike O'Driscoll, Tony Baltovski
0.1.10 (2017-03-21)
- Updated maintainer.
- Error handling for connection failures
- Created urg_lidar.launch
- Installed getID
- Contributors: Eric Tappan, Jeff Schmidt, Kei Okada, Tony Baltovski
0.1.9 (2014-08-13)
- Merge pull request #7 from mikeferguson/indigo-devel add a script to set the IP address of an URG laser
- Updated diagnostics to support configurable parameters.
- add a script to set the IP address of an URG laser
- Contributors: Chad Rockey, Michael Ferguson
0.1.8 (2014-06-16)
- Merge pull request #6 from mikeferguson/indigo-devel Add default device status on UST-20LX
- Add default device status on UST-20LX
- Contributors: Chad Rockey, Michael Ferguson
0.1.7 (2014-04-21)
- Added more robust plug/unplug reconnect behavior.
- Added more robustness and the ability to continually reloop and reconnect until node is shutdown.
- Fix initialization crash.
- Install fix for Android.
- Missed a willowgarage email.
- Contributors: Chad Rockey
0.1.6 (2013-10-24)
- Added getID executable for udev users.
0.1.5 (2013-08-22)
- Missing diagnostic_updater depend
0.1.4 (2013-08-22)
- Merge pull request #2 from mitll-ros-pkg/diagnostics Added diagnostics to the URG Node.
- Added diagnostics to the URG Node.
0.1.3 (2013-08-21)
- No more Willow Garage email.
0.1.2 (2013-03-14)
- Be more tolerant of connection dropouts and try to reconnect.
- Fixed poor initilization causing uncertain output.
- Updated consts
0.1.1 (2013-03-04)
- Only advertise for single or multiecho, not both.
- Generalized multi echo grab function
- Updated to use laser_proc to automatically publish compatibility messages.
- Optimize the fill multi echo laserscan message to use reserve instead of resize wherever possible.
0.1.0 (2013-03-03)
- Added install rules.
- Renamed package to urg_node.
- Updated to use better timestamping.
- Updated to use urg_c name for library.
- Added information functions for future diagnostics.
- Added experimental timestamp synchronization. Fixed segfault for multiecho intensity.
- Fixed skip being cluster. Added skip functionallity.
- Connected dynamic reconfigure, including angle limit requests.
- Added ability to publish both single and multi echo scans.
- Added dynamic reconfigure; can update reconfigure limits
- Initial commit. Connecting to both ethernet and serial devices.
- Initial commit
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
message_runtime | |
xacro | |
roslint | |
roslaunch | |
diagnostic_updater | |
dynamic_reconfigure | |
laser_proc | |
message_generation | |
nodelet | |
rosconsole | |
roscpp | |
sensor_msgs | |
std_msgs | |
std_srvs | |
tf | |
urg_c |