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

  • 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]
  • 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.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged spin_hokuyo at answers.ros.org