spin_hokuyo package from spin_hokuyo repo

spin_hokuyo

Package Summary

Tags No category tags.
Version 1.0.0
License GPL
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/RobustFieldAutonomyLab/spin_hokuyo.git
VCS Type git
VCS Version master
Last Updated 2017-10-16
Dev Status MAINTAINED
Released RELEASED

Package Description

This package enables a 2D Hokuyo laser, connected to a Dynamixel servo motor, to produce a 3D point cloud that can be visualized in rviz and used to make an octomap.

Additional Links

No additional links.

Maintainers

  • Sarah Bertussi
  • Paul Szenher

Authors

No additional authors.

spin_hokuyo

This repository contains code to control a Dynamixel motor and a 2D Hokuyo LiDAR to create a 3D point cloud that can be visualized in rviz. This point cloud can then be used to create an octomap (code for this is not included in this repository).
Wiki Page: http://wiki.ros.org/spin_hokuyo

Setup Directions

  1. Download this ROS Package:

sudo apt-get install ros-indigo-spin-hokuyo
2. In the tutorials/launch folder, update the basic_motors.launch file, go to line 12. These parameters are used to set up the dynamixel_motor package. In particular, make sure the port_name and baud_rate match your servo. Also, check that your motor id falls within the inclusive range from min_motor_id to max_motor_id. 3. In the tutorials/launch folder, update the basic_motors.launch file, go to line 12. These parameters are used to set up the dynamixel_motor package. In particular, make sure the port_name and baud_rate match your servo. Also, check that your motor id falls within the inclusive range from min_motor_id to max_motor_id. 4. Save and compile changes (if applicable).

roslaunch spin_hokuyo basic_motors.launch
5. In a new terminal, open the rostopics list. There should be two new commands: /tilt_controller/command and /tilt_controller/state. /command will issue new positions to the motor via Float64 (try this using rostopic pub). /state will list various pieces of information about the motor (rostopic echo). 6. If this is fully functional, kill the node and do:

roslaunch spin_hokuyo tilting_continuous.launch
This should cause the motor to regularly sweep from 90 to -90 and generate a point cloud. Be sure to update the dynamixel_servos_tilting.yaml for position, speed, etc.

Possible Dynamixel Errors

Is the USB properly inserted and setup for your computer?
Is the Dynamixel connected to a 12V power source via the adapter?
Is the switch on the USB adapter at the proper loaction?

Acknowledgements

Inspired by the work seen here: https://github.com/gcc-robotics/3d_photobooth/blob/master/CapstoneFinalReport_VisionTeam.pdf

Dynamixel Control

The class system used to control the Dynamixel motors and the basis for the servo template were based on the examples provided in Chap. 8 of "Effective Robotics Programming with ROS - Third Edition" by Anil Mahtani, Luis Sanchez, Enrique Fernandea, and Aaron Martinez.

pcl_assembler_client

The pcl_assembler_client is a modified form of the periodic_snapshotter.cpp which is included in the /examples folder of laser_assembler which is hosted at: https://github.com/ros-perception/laser_assembler

Authors

Sarah Bertussi, Paul Szenher, Shi Bai. RFAL (Robust Field Autonomy Lab), Stevens Institute of Technology.

CHANGELOG

Changelog for package spin_hokuyo

1.0.0 (2017-07-21)

  • Removed dyanmixel files in favor of using dependencies as the apt version now apparently works
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Fixed packages in launch files, as well as renamed and organized
  • Update README.md
  • Fixed dynamixel requirement to be subpackages
  • Added dynamixel_controllers to package.xml depends
  • Added dynamixel_controller to package.xml depends
  • Removed pcl as a dependent because it isn\'t a package
  • Added even more build depends to package.xml
  • Added required build dependencies to package.xml
  • Update package.xml
  • commenting update
  • Acknowledgements Update
  • Update README.md
  • commenting update
  • commenting update
  • commenting update
  • commenting update
  • commenting updates
  • Delete basic_motors.launch~
  • commenting updates
  • CMakeLists update
  • commenting updates
  • commenting update
  • Update CMakeLists.txt
  • Delete hokuyo_ground_filter.cpp
  • Delete floor_max_z.cpp
  • commenting update
  • commenting update
  • commenting update
  • comment update
  • remove backup file
  • remove backup file
  • adding back CMakeLists
  • Temporarilly removed CMakelist.txt to satisfy failed merge
  • organization
  • Delete CMakeLists.txt
  • moved dynamixel controllers
  • moved scan_to_pcl
  • Removed rviz config files and fixed tilting lidar continuous launch file
  • file location update
  • tutorials update
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Renamed misc files and updated launch files and CMakeLists accordingly
  • Delete combine_clouds.cpp
  • Update CMakeLists.txt
  • Update CMakeLists.txt
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Removed extraneous launch files
  • name updates
  • Rename combine_clouds_subscriber.cpp to point_cloud_assembler.cpp
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Renamed hokuyo_filter to hokuyo_robot_filter to fit the naming convention of hokuyo_ground_filter
  • rename for clarity
  • typo
  • file renames
  • Delete combine_clouds.cpp
  • Removed floor removal parameter from octomap
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Removed Plane Extract Ransac from tilting lidar and made minor modifications to launch and cpp files
  • reset clouds
  • Modified combined clouds to allow for parameters and options between time and subscription, changed launch files to allow for further customizations
  • Added support for hokuyo_ground_filter
  • added tolerance
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • remove ground
  • Modified launch files for more universal use and added segmentation launch file and rviz config
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Modified to allow for parameter value to change from dynamixel tilting callback to timer callback
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo Conflicts: tilting_lidar_clean/launch/launch_with_octo/velodyne_hokuyo_octo_tilt_offline.launch
  • plane extraction
  • Disabled Voxel grid as it is uneccesary for non-assembled point clouds
  • Changed name argument to path, requiring full path to be input at launch but allows for universal use across systems
  • Removed rosbag node from online launch file
  • Added launch files for real time octomaps using voxel grid mapping to reduce lag and missed scans
  • Modified offline launch file and added secondary file that accepts point clouds in real time instead of waiting for the full assembled cloud
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • CHANGELOGs added
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Modified offline version of combined octomap generator and created rviz config file
  • tutorials update
  • Renamed package.xml in tutorials package to prevent ros from reading it due to broken status
  • Update README.md
  • Update README.md
  • Update README.md
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • comment updates
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo Conflicts: tilting_lidar_clean/launch/tilting_lidar_continuous.launch
  • Finalized filtered hokuyo scans and added to all launch files
  • Fixed tf values for hokuyo to velodyne
  • Added static tf between servo and velodyne on all launch files excluding subscriber without octo
  • Moved octomap_mapping to launch_with_octo folder
  • Used for offline visualization in rviz
  • Changed hokuyo_filtered back to scan
  • Removed ROS_STREAMs that caused heavy cpu load
  • Fixed old octomap launch file
  • Fixed duplicate names on relay nodes
  • Fixed changes undone by Sarah\'s second folder confusing git
  • removes robot points from scan
  • Added modified launch file that creates octomap using velodyne and hokuyo data
  • Renamed tilting lidar launch files with octomap to prevent naming conflicts in ros
  • Commented octomap out of launch files and created folder explicitly for such files
  • Added folder for launch files with octomap
  • Changed servo frame to map for better accuracy when moving jackal
  • depricated
  • name update
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • depricated
  • Changed servo fixed frame to map
  • Renamed help file back to .cpp and moved to tutorial folder
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Removed note that has been integrated into readme
  • Update README.md
  • Edited to include link to dynamixel source code
  • Marked file for deletion
  • Marked file for possible deletion
  • Remove outdated README from previous github repo
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Moved outdated launch files to old_launch_files folder
  • Removed ROS streams used for debugging
  • Removed ROS streams used for debugging
  • Changed fixed frame from \"camera\" to \"servo\"
  • Altered formatting to improve readibility and consistency
  • Changed cloud assembler and octomap frames from \"camera\" to \"servo\"
  • laser assembler update
  • hokuyo node update
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Changed servo tf frame from \"camera\" to \"servo\"
  • update
  • direction updates
  • Removed excess dynamixel driver files
  • Made executable
  • misplaced backup file
  • Misplaced backup file
  • commenting updates
  • commenting update
  • commenting updates
  • Redundant
  • Redundant
  • commenting update
  • Redundant
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • initialize updates
  • launch files and intialize update
  • Subscriber Updates
  • Single Sweep Subscriber Update
  • Added dynamixel_motor requirement
  • tilt motor subsriber node
  • Condensed to single callback function with spin() instead of while loop and spinOnce()
  • combined point clouds and octomap update
  • single sweep update
  • Cloud Compiler Updates
  • Subscribing Cloud Compilation Service
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Merge branch \'master\' of https://github.com/RobustFieldAutonomyLab/spin_hokuyo
  • Single Sweep with Compiled Cloud
  • Added comments to wait for inits
  • yaml file
  • Info Stream Update
  • Combining Point Clouds
  • Launch file for octomap
  • Smooth tilting of lidar
  • Add files via upload
  • Initial commit
  • Contributors: Paul Szenher, Sarah Bertussi

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • tutorials/launch/basic_motors.launch
    • This file executes a simple launch of the Dynamixel servo that allows the operator to manually input values for the servo to rotate to. The Hokuyo IS NOT part of this launch.
  • launch/tilt_subscriber.launch
    • This launch file causes the Hokuyo to sweep back and forth ONLY WHEN AN EMPTY MESSAGE is sent to tilt_motor_subscribe node
      • assemble [default: velodyne_points]
  • launch/tilt_continuous.launch
    • This launch file causes the Hokuyo to sweep back and forth CONTINUOUSLY
      • assemble [default: velodyne_points]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged spin_hokuyo at answers.ros.org