├── README.md ├── chapter_10_codes ├── cool_arm │ ├── cool5000_controller │ │ ├── CMakeLists.txt │ │ ├── config │ │ │ ├── cool5000.yaml │ │ │ ├── cool5000_trajectory_controller.yaml │ │ │ └── dynamixel_ports.yaml │ │ ├── launch │ │ │ ├── cool5000_controller.launch │ │ │ └── joint_state_aggregator.launch │ │ ├── package.xml │ │ ├── scripts │ │ │ ├── cool5000_play.py │ │ │ ├── cool5000_record.py │ │ │ ├── pose_zero.py │ │ │ └── set_all_torque.py │ │ └── src │ │ │ └── joint_state_aggregator.cpp │ ├── cool5000_description │ │ ├── launch │ │ │ ├── display.launch │ │ │ └── gazebo.launch │ │ ├── manifest.xml │ │ ├── meshes │ │ │ ├── base_link.STL │ │ │ ├── index_link.STL │ │ │ ├── index_tip_link.STL │ │ │ ├── link_1.STL │ │ │ ├── link_2.STL │ │ │ ├── link_3.STL │ │ │ ├── link_4.STL │ │ │ ├── link_5.STL │ │ │ ├── link_6.STL │ │ │ ├── link_7.STL │ │ │ ├── middle_link.STL │ │ │ ├── middle_tip_link.STL │ │ │ ├── thumb_base_link.STL │ │ │ ├── thumb_link.STL │ │ │ └── thumb_tip_link.STL │ │ └── robots │ │ │ └── cool5000_description.URDF │ └── cool5000_moveit_config │ │ ├── .setup_assistant │ │ ├── CMakeLists.txt │ │ ├── config │ │ ├── cool5000_description.srdf │ │ ├── fake_controllers.yaml │ │ ├── joint_limits.yaml │ │ ├── kinematics.yaml │ │ └── ompl_planning.yaml │ │ ├── launch │ │ ├── 5k.launch │ │ ├── cool5000_description_moveit_controller_manager.launch.xml │ │ ├── cool5000_description_moveit_sensor_manager.launch.xml │ │ ├── default_warehouse_db.launch │ │ ├── fake_moveit_controller_manager.launch.xml │ │ ├── joystick_control.launch │ │ ├── move_group.launch │ │ ├── moveit.rviz │ │ ├── moveit_rviz.launch │ │ ├── ompl_planning_pipeline.launch.xml │ │ ├── planning_context.launch │ │ ├── planning_pipeline.launch.xml │ │ ├── run_benchmark_ompl.launch │ │ ├── sensor_manager.launch.xml │ │ ├── setup_assistant.launch │ │ ├── trajectory_execution.launch.xml │ │ ├── warehouse.launch │ │ └── warehouse_settings.launch.xml │ │ └── package.xml ├── cube.dae ├── grasp_object │ ├── model.config │ └── model.sdf ├── grasp_table │ ├── model.config │ └── model.sdf ├── mastering_ros_robot_description_pkg │ ├── CMakeLists.txt │ ├── README.md │ ├── launch │ │ ├── view_arm.launch │ │ ├── view_mobile_robot.launch │ │ ├── view_pan_tilt_urdf.launch │ │ └── view_pan_tilt_xacro.launch │ ├── meshes │ │ ├── caster_wheel.stl │ │ └── sensors │ │ │ └── xtion_pro_live │ │ │ ├── xtion_pro_live.dae │ │ │ └── xtion_pro_live.png │ ├── package.xml │ ├── urdf.rviz │ ├── urdf.vcg │ └── urdf │ │ ├── diff_wheeled_robot.urdf │ │ ├── diff_wheeled_robot.xacro │ │ ├── differential_wheeled_robot.gv │ │ ├── differential_wheeled_robot.pdf │ │ ├── grasp_object.urdf │ │ ├── grasp_object.xacro │ │ ├── pan_tilt.urdf │ │ ├── pan_tilt.xacro │ │ ├── sensors │ │ ├── xtion_pro_live.gazebo.xacro │ │ └── xtion_pro_live.urdf.xacro │ │ ├── seven_dof_arm.gv │ │ ├── seven_dof_arm.pdf │ │ ├── seven_dof_arm.urdf │ │ ├── seven_dof_arm.xacro │ │ └── wheel.urdf.xacro ├── moveit_simple_grasps.zip ├── moveit_simple_grasps │ ├── .travis.yml │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── README.md │ ├── action │ │ └── GenerateGrasps.action │ ├── config │ │ ├── baxter_grasp_data.yaml │ │ ├── clam_grasp_data.yaml │ │ ├── reem_grasp_data.yaml │ │ └── romeo_grasp_data.yaml │ ├── include │ │ └── moveit_simple_grasps │ │ │ ├── custom_environment2.h │ │ │ ├── grasp_data.h │ │ │ ├── grasp_filter.h │ │ │ ├── moveit_blocks.h │ │ │ └── simple_grasps.h │ ├── launch │ │ ├── grasp_filter_test.launch │ │ ├── grasp_generator_server.launch │ │ ├── grasp_test.launch │ │ ├── grasp_test_rviz.launch │ │ └── simple_grasps.rviz │ ├── msg │ │ └── GraspGeneratorOptions.msg │ ├── package.xml │ ├── resources │ │ ├── demo.png │ │ └── filter.png │ ├── scripts │ │ └── server_test.py │ └── src │ │ ├── grasp_data.cpp │ │ ├── grasp_filter.cpp │ │ ├── grasp_filter_test.cpp │ │ ├── simple_grasps.cpp │ │ ├── simple_grasps_server.cpp │ │ └── simple_grasps_test.cpp ├── moveit_simple_grasps_1.zip ├── seven_dof_arm_config │ ├── .setup_assistant │ ├── CMakeLists.txt │ ├── config │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── joint_limits.yaml │ │ ├── kinematics.yaml │ │ ├── ompl_planning.yaml │ │ ├── sensors_rgbd.yaml │ │ └── seven_dof_arm.srdf │ ├── launch │ │ ├── default_warehouse_db.launch │ │ ├── demo.launch │ │ ├── fake_moveit_controller_manager.launch.xml │ │ ├── joystick_control.launch │ │ ├── move_group.launch │ │ ├── moveit.rviz │ │ ├── moveit_planning_execution.launch │ │ ├── moveit_rviz.launch │ │ ├── ompl_planning_pipeline.launch.xml │ │ ├── planning_context.launch │ │ ├── planning_pipeline.launch.xml │ │ ├── run_benchmark_ompl.launch │ │ ├── sensor_manager.launch.xml │ │ ├── setup_assistant.launch │ │ ├── seven_dof_arm_moveit_controller_manager.launch.xml │ │ ├── seven_dof_arm_moveit_sensor_manager.launch.xml │ │ ├── trajectory_execution.launch.xml │ │ ├── warehouse.launch │ │ └── warehouse_settings.launch.xml │ └── package.xml ├── seven_dof_arm_gazebo │ ├── CMakeLists.txt │ ├── config │ │ ├── seven_dof_arm_gazebo_control.yaml │ │ ├── seven_dof_arm_gazebo_joint_position.yaml │ │ ├── seven_dof_arm_gazebo_joint_states.yaml │ │ ├── seven_dof_arm_grasp_data (copy).yaml │ │ ├── seven_dof_arm_grasp_data.yaml │ │ └── trajectory_control.yaml │ ├── launch │ │ ├── grasp_generator_server.launch │ │ ├── pick_place.launch │ │ ├── seven_dof_arm_bringup.launch │ │ ├── seven_dof_arm_bringup_grasping.launch │ │ ├── seven_dof_arm_bringup_moveit.launch │ │ ├── seven_dof_arm_gazebo_control.launch │ │ ├── seven_dof_arm_gazebo_position.launch │ │ ├── seven_dof_arm_gazebo_states.launch │ │ ├── seven_dof_arm_trajectory_controller.launch │ │ ├── seven_dof_arm_world.launch │ │ └── seven_dof_arm_world_grasping.launch │ ├── package.xml │ ├── scripts │ │ ├── pick_and_place.py │ │ ├── pick_and_place_both_working_good.py │ │ ├── pick_and_place_ew.py │ │ ├── pick_and_place_pick_working.py │ │ └── pick_and_place_working_1.py │ └── worlds │ │ ├── grasp_final.sdf │ │ └── grasping.world └── seven_dof_arm_test │ ├── CMakeLists.txt │ ├── package.xml │ └── src │ ├── add_collision_objct.cpp │ ├── check_collision.cpp │ ├── find_ee_coordinate.cpp │ ├── move_group_plan_group_state.cpp │ ├── remove_collision_objct.cpp │ ├── test_custom.cpp │ ├── test_custom_coord.cpp │ └── test_random.cpp ├── chapter_11_codes ├── abb_irb6640_moveit_plugins │ ├── CMakeLists.txt │ ├── abb_irb6640_manipulator_moveit_ikfast_plugin_description.xml │ ├── include │ │ └── ikfast.h │ ├── package.xml │ ├── src │ │ ├── abb_irb6640_manipulator_ikfast_moveit_plugin.cpp │ │ └── abb_irb6640_manipulator_ikfast_solver.cpp │ └── update_ikfast_plugin.sh └── abb_moveit_plugin │ ├── abb_irb6640_manipulator_ikfast_solver.cpp │ ├── compute │ ├── ik_out.cpp │ ├── ikfast.h │ ├── ikfastdemo.cpp │ ├── irb6640.dae │ ├── irb6640.urdf │ └── output_ikfast61.cpp ├── chapter_12_codes └── no_codes.txt ├── chapter_1_codes └── mastering_ros_demo_pkg │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── README.txt │ ├── action │ └── Demo_action.action │ ├── launch │ ├── demo_msg.launch │ ├── demo_service.launch │ └── demo_topic.launch │ ├── msg │ └── demo_msg.msg │ ├── package.xml │ ├── src │ ├── demo_action_client.cpp │ ├── demo_action_server.cpp │ ├── demo_msg_publisher.cpp │ ├── demo_msg_subscriber.cpp │ ├── demo_service_client.cpp │ ├── demo_service_server.cpp │ ├── demo_topic_publisher.cpp │ └── demo_topic_subscriber.cpp │ └── srv │ └── demo_srv.srv ├── chapter_2_codes └── mastering_ros_robot_description_pkg │ ├── CMakeLists.txt │ ├── README.md │ ├── launch │ ├── view_arm.launch │ ├── view_mobile_robot.launch │ ├── view_pan_tilt_urdf.launch │ └── view_pan_tilt_xacro.launch │ ├── meshes │ ├── caster_wheel.stl │ └── sensors │ │ └── xtion_pro_live │ │ ├── xtion_pro_live.dae │ │ └── xtion_pro_live.png │ ├── package.xml │ ├── urdf.rviz │ ├── urdf.vcg │ └── urdf │ ├── diff_wheeled_robot.urdf │ ├── diff_wheeled_robot.xacro │ ├── differential_wheeled_robot.gv │ ├── differential_wheeled_robot.pdf │ ├── grasp_object.urdf │ ├── grasp_object.xacro │ ├── pan_tilt.urdf │ ├── pan_tilt.xacro │ ├── sensors │ ├── xtion_pro_live.gazebo.xacro │ └── xtion_pro_live.urdf.xacro │ ├── seven_dof_arm.gv │ ├── seven_dof_arm.pdf │ ├── seven_dof_arm.urdf │ ├── seven_dof_arm.xacro │ └── wheel.urdf.xacro ├── chapter_3_codes ├── diff_wheeled_robot_control │ ├── CMakeLists.txt │ ├── config │ │ └── joint_position_control.yaml │ ├── launch │ │ └── keyboard_teleop.launch │ ├── package.xml │ └── scripts │ │ └── diff_wheeled_robot_key ├── diff_wheeled_robot_gazebo │ ├── CMakeLists.txt │ ├── launch │ │ ├── amcl.launch │ │ ├── diff_wheeled_gazebo.launch │ │ ├── diff_wheeled_gazebo_full.launch │ │ ├── gazebo.rviz │ │ ├── gmapping.launch │ │ ├── includes │ │ │ ├── amcl.launch.xml │ │ │ ├── gmapping.launch.xml │ │ │ └── move_base.launch.xml │ │ └── test_world.launch │ ├── maps │ │ ├── test.pgm │ │ └── test.yaml │ ├── package.xml │ ├── param │ │ ├── base_local_planner_params.yaml │ │ ├── costmap_common_params.yaml │ │ ├── dwa_local_planner_params.yaml │ │ ├── global_costmap_params.yaml │ │ ├── local_costmap_params.yaml │ │ └── move_base_params.yaml │ └── world │ │ └── test ├── mastering_ros_robot_description_pkg │ ├── CMakeLists.txt │ ├── README.md │ ├── launch │ │ ├── view_arm.launch │ │ ├── view_mobile_robot.launch │ │ ├── view_pan_tilt_urdf.launch │ │ └── view_pan_tilt_xacro.launch │ ├── meshes │ │ ├── caster_wheel.stl │ │ └── sensors │ │ │ └── xtion_pro_live │ │ │ ├── xtion_pro_live.dae │ │ │ └── xtion_pro_live.png │ ├── package.xml │ ├── urdf.rviz │ ├── urdf.vcg │ └── urdf │ │ ├── diff_wheeled_robot.urdf │ │ ├── diff_wheeled_robot.xacro │ │ ├── differential_wheeled_robot.gv │ │ ├── differential_wheeled_robot.pdf │ │ ├── grasp_object.urdf │ │ ├── grasp_object.xacro │ │ ├── pan_tilt.urdf │ │ ├── pan_tilt.xacro │ │ ├── sensors │ │ ├── xtion_pro_live.gazebo.xacro │ │ └── xtion_pro_live.urdf.xacro │ │ ├── seven_dof_arm.gv │ │ ├── seven_dof_arm.pdf │ │ ├── seven_dof_arm.urdf │ │ ├── seven_dof_arm.xacro │ │ └── wheel.urdf.xacro └── seven_dof_arm_gazebo │ ├── CMakeLists.txt │ ├── config │ ├── seven_dof_arm_gazebo_control.yaml │ ├── seven_dof_arm_gazebo_joint_position.yaml │ ├── seven_dof_arm_gazebo_joint_states.yaml │ ├── seven_dof_arm_grasp_data (copy).yaml │ ├── seven_dof_arm_grasp_data.yaml │ └── trajectory_control.yaml │ ├── launch │ ├── grasp_generator_server.launch │ ├── pick_place.launch │ ├── seven_dof_arm_bringup.launch │ ├── seven_dof_arm_bringup_grasping.launch │ ├── seven_dof_arm_bringup_moveit.launch │ ├── seven_dof_arm_gazebo_control.launch │ ├── seven_dof_arm_gazebo_position.launch │ ├── seven_dof_arm_gazebo_states.launch │ ├── seven_dof_arm_trajectory_controller.launch │ ├── seven_dof_arm_world.launch │ └── seven_dof_arm_world_grasping.launch │ ├── package.xml │ ├── scripts │ ├── pick_and_place.py │ ├── pick_and_place_both_working_good.py │ ├── pick_and_place_pick_working.py │ └── pick_and_place_working_1.py │ └── worlds │ ├── grasp_final.sdf │ └── grasping.world ├── chapter_4_codes ├── diff_wheeled_robot_control │ ├── CMakeLists.txt │ ├── config │ │ └── joint_position_control.yaml │ ├── launch │ │ └── keyboard_teleop.launch │ ├── package.xml │ └── scripts │ │ └── diff_wheeled_robot_key ├── diff_wheeled_robot_gazebo │ ├── CMakeLists.txt │ ├── launch │ │ ├── amcl.launch │ │ ├── diff_wheeled_gazebo.launch │ │ ├── diff_wheeled_gazebo_full.launch │ │ ├── gazebo.rviz │ │ ├── gmapping.launch │ │ ├── includes │ │ │ ├── amcl.launch.xml │ │ │ ├── gmapping.launch.xml │ │ │ └── move_base.launch.xml │ │ └── test_world.launch │ ├── maps │ │ ├── willo.pgm │ │ └── willo.yaml │ ├── package.xml │ ├── param │ │ ├── base_local_planner_params.yaml │ │ ├── costmap_common_params.yaml │ │ ├── dwa_local_planner_params.yaml │ │ ├── global_costmap_params.yaml │ │ ├── local_costmap_params.yaml │ │ └── move_base_params.yaml │ └── world │ │ └── test ├── seven_dof_arm_config │ ├── .setup_assistant │ ├── CMakeLists.txt │ ├── config │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── joint_limits.yaml │ │ ├── kinematics.yaml │ │ ├── ompl_planning.yaml │ │ ├── sensors_rgbd.yaml │ │ └── seven_dof_arm.srdf │ ├── launch │ │ ├── default_warehouse_db.launch │ │ ├── demo.launch │ │ ├── fake_moveit_controller_manager.launch.xml │ │ ├── joystick_control.launch │ │ ├── move_group.launch │ │ ├── moveit.rviz │ │ ├── moveit_planning_execution.launch │ │ ├── moveit_rviz.launch │ │ ├── ompl_planning_pipeline.launch.xml │ │ ├── planning_context.launch │ │ ├── planning_pipeline.launch.xml │ │ ├── run_benchmark_ompl.launch │ │ ├── sensor_manager.launch.xml │ │ ├── setup_assistant.launch │ │ ├── seven_dof_arm_moveit_controller_manager.launch.xml │ │ ├── seven_dof_arm_moveit_sensor_manager.launch.xml │ │ ├── trajectory_execution.launch.xml │ │ ├── warehouse.launch │ │ └── warehouse_settings.launch.xml │ └── package.xml ├── seven_dof_arm_gazebo │ ├── CMakeLists.txt │ ├── config │ │ ├── seven_dof_arm_gazebo_control.yaml │ │ ├── seven_dof_arm_gazebo_joint_position.yaml │ │ ├── seven_dof_arm_gazebo_joint_states.yaml │ │ ├── seven_dof_arm_grasp_data (copy).yaml │ │ ├── seven_dof_arm_grasp_data.yaml │ │ └── trajectory_control.yaml │ ├── launch │ │ ├── grasp_generator_server.launch │ │ ├── pick_place.launch │ │ ├── seven_dof_arm_bringup.launch │ │ ├── seven_dof_arm_bringup_grasping.launch │ │ ├── seven_dof_arm_bringup_moveit.launch │ │ ├── seven_dof_arm_gazebo_control.launch │ │ ├── seven_dof_arm_gazebo_position.launch │ │ ├── seven_dof_arm_gazebo_states.launch │ │ ├── seven_dof_arm_trajectory_controller.launch │ │ ├── seven_dof_arm_world.launch │ │ └── seven_dof_arm_world_grasping.launch │ ├── package.xml │ ├── scripts │ │ ├── pick_and_place.py │ │ ├── pick_and_place_both_working_good.py │ │ ├── pick_and_place_pick_working.py │ │ └── pick_and_place_working_1.py │ └── worlds │ │ ├── grasp_final.sdf │ │ └── grasping.world └── seven_dof_arm_test │ ├── CMakeLists.txt │ ├── package.xml │ └── src │ ├── add_collision_objct.cpp │ ├── check_collision (copy).cpp │ ├── check_collision.cpp │ ├── find_ee_coordinate.cpp │ ├── move_group_plan_group_state.cpp │ ├── remove_collision_objct.cpp │ ├── test_custom.cpp │ ├── test_custom_coord.cpp │ └── test_random.cpp ├── chapter_5_codes ├── gazebo_basic_world_plugin │ ├── CMakeLists.txt │ ├── build │ │ ├── CMakeCache.txt │ │ ├── CMakeFiles │ │ │ ├── 2.8.12.2 │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ ├── CompilerIdC │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ └── a.out │ │ │ │ └── CompilerIdCXX │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ └── a.out │ │ │ ├── CMakeDirectoryInformation.cmake │ │ │ ├── CMakeOutput.log │ │ │ ├── Makefile.cmake │ │ │ ├── Makefile2 │ │ │ ├── TargetDirectories.txt │ │ │ ├── cmake.check_cache │ │ │ ├── hello_world.dir │ │ │ │ ├── CXX.includecache │ │ │ │ ├── DependInfo.cmake │ │ │ │ ├── build.make │ │ │ │ ├── cmake_clean.cmake │ │ │ │ ├── depend.internal │ │ │ │ ├── depend.make │ │ │ │ ├── flags.make │ │ │ │ ├── hello_world.cc.o │ │ │ │ ├── link.txt │ │ │ │ └── progress.make │ │ │ └── progress.marks │ │ ├── Makefile │ │ ├── cmake_install.cmake │ │ └── libhello_world.so │ ├── hello.world │ └── hello_world.cc ├── nodelet_hello_world │ ├── CMakeLists.txt │ ├── hello_world.launch │ ├── hello_world.xml │ ├── package.xml │ └── src │ │ └── hello_world.cpp └── pluginlib_calculator │ ├── CMakeLists.txt │ ├── calculator_plugins.xml │ ├── include │ └── pluginlib_calculator │ │ ├── calculator_base.h │ │ └── calculator_plugins.h │ ├── package.xml │ └── src │ ├── calculator_loader.cpp │ └── calculator_plugins.cpp ├── chapter_6_codes ├── my_controller_pkg │ ├── CMakeLists.txt │ ├── controller_plugins.xml │ ├── include │ │ └── my_controller_pkg │ │ │ └── my_controller_file.h │ ├── launch │ │ └── my_controller.launch │ ├── my_controller.yaml │ ├── package.xml │ └── src │ │ └── my_controller_file.cpp ├── rviz_telop_commander │ ├── CMakeLists.txt │ ├── package.xml │ ├── plugin_description.xml │ ├── rosdoc.yaml │ └── src │ │ ├── teleop_pad.cpp │ │ └── teleop_pad.h └── sample_ros_controller │ ├── CMakeLists.txt │ ├── package.xml │ ├── sample_ros_controller.xml │ └── src │ └── sample_ros_controller.cpp ├── chapter_7_codes ├── ADXL3xx_ROS │ ├── ADXL.fzz │ └── ADXL3xx_ROS.ino ├── Hello_Publisher │ └── Hello_Publisher.ino ├── Odom │ └── Odom.ino ├── ROS_Odroid_Examples │ ├── CMakeLists.txt │ ├── blink_led │ │ ├── CMakeLists.txt │ │ ├── package.xml │ │ └── src │ │ │ ├── blink.cpp │ │ │ └── button.cpp │ └── ros_wiring_examples │ │ ├── CMakeLists.txt │ │ ├── package.xml │ │ └── src │ │ ├── blink.cpp │ │ └── button.cpp ├── Ultrasonic │ ├── Ultrasonic.ino │ └── Untitled Sketch 2.fzz └── button_example │ └── button_example.ino ├── chapter_8_codes ├── cv_bridge_tutorial_pkg │ ├── CMakeLists.txt │ ├── package.xml │ └── src │ │ └── sample_cv_bridge_node.cpp ├── fake_laser_pkg │ ├── CMakeLists.txt │ ├── launch │ │ └── start_laser.launch │ └── package.xml ├── head_camera.yaml ├── hokuyo_start.launch.txt ├── pcl_ros_tutorial │ ├── CMakeLists.txt │ ├── package.xml │ └── src │ │ ├── pcl_filter.cpp │ │ ├── pcl_publisher.cpp │ │ ├── pcl_read.cpp │ │ └── pcl_write.cpp └── usb_cam-test.launch.txt └── chapter_9_codes ├── bag_encoder.bag ├── chefbot ├── chefbot │ ├── chefbot_bringup │ │ ├── CMakeLists.txt │ │ ├── launch │ │ │ ├── 3dsensor.launch │ │ │ ├── amcl_demo.launch │ │ │ ├── gmapping_demo.launch │ │ │ ├── includes │ │ │ │ ├── amcl.launch.xml │ │ │ │ ├── gmapping.launch.xml │ │ │ │ ├── move_base.launch.xml │ │ │ │ ├── safety_controller.launch.xml │ │ │ │ └── velocity_smoother.launch.xml │ │ │ ├── keyboard_teleop.launch │ │ │ ├── model_robot.launch │ │ │ ├── robot_standalone.launch │ │ │ ├── view_navigation.launch │ │ │ └── view_robot.launch │ │ ├── map │ │ │ ├── hotel1.pgm │ │ │ └── hotel1.yaml │ │ ├── package.xml │ │ ├── param │ │ │ ├── base_local_planner_params.yaml │ │ │ ├── costmap_common_params.yaml │ │ │ ├── dwa_local_planner_params.yaml │ │ │ ├── global_costmap_params.yaml │ │ │ ├── local_costmap_params.yaml │ │ │ ├── move_base_params.yaml │ │ │ ├── mux.yaml │ │ │ └── teleop.yaml │ │ ├── rviz │ │ │ ├── model.rviz │ │ │ ├── navigation.rviz │ │ │ └── robot.rviz │ │ └── scripts │ │ │ ├── SerialDataGateway.py │ │ │ ├── SerialDataGateway.pyc │ │ │ ├── bkup_working │ │ │ ├── DeadReckoning.py │ │ │ ├── GoalsSequencer.py │ │ │ ├── SerialDataGateway.pyc │ │ │ ├── arduino (copy).py │ │ │ ├── arduino.py │ │ │ ├── arduino.py_bkup │ │ │ ├── arduino_bkup.py │ │ │ ├── base_controller.py │ │ │ ├── err │ │ │ ├── launchpad_node (copy).py │ │ │ ├── launchpad_process_node (copy).py │ │ │ ├── launchpad_process_node.py │ │ │ ├── launchpad_process_node.py_edited_not_working │ │ │ ├── launchpad_robot_teleop_key │ │ │ ├── lpid_velocity.py │ │ │ ├── murray_demo.py │ │ │ ├── murray_demo_test.py │ │ │ ├── pid_velocity_sim.py │ │ │ ├── rpid_velocity.py │ │ │ ├── velocityLogger.py │ │ │ ├── velocityLogger.pyc │ │ │ ├── virtual_joystick.py │ │ │ ├── wheel_loopback.py │ │ │ └── wheel_scaler.py │ │ │ ├── chefbot_teleop_key │ │ │ ├── diff_tf.py │ │ │ ├── launchpad_node.py │ │ │ ├── pid_velocity.py │ │ │ ├── robot_gui.py │ │ │ ├── simple_navig_goals.py │ │ │ └── twist_to_motors.py │ ├── chefbot_description │ │ ├── CMakeLists.txt │ │ ├── meshes │ │ │ ├── base_plate.dae │ │ │ ├── create_body.tga │ │ │ └── wheel.dae │ │ ├── package.xml │ │ ├── robots │ │ │ ├── chefbot_circles_kinect.urdf.xacro │ │ │ └── roomba_circles_kinect.urdf.xacro │ │ └── urdf │ │ │ ├── bkup │ │ │ ├── chefbot_base.urdf.xacro │ │ │ ├── chefbot_base_gazebo.urdf.xacro │ │ │ ├── chefbot_gazebo.urdf.xacro │ │ │ ├── chefbot_library.urdf.xacro │ │ │ ├── chefbot_properties.urdf.xacro │ │ │ └── common_properties.urdf.xacro │ │ │ ├── chefbot_base.urdf.xacro │ │ │ ├── chefbot_base.xacro │ │ │ ├── chefbot_base_gazebo.urdf.xacro │ │ │ ├── chefbot_gazebo.urdf.xacro │ │ │ ├── chefbot_library.urdf.xacro │ │ │ ├── chefbot_properties.urdf.xacro │ │ │ ├── chefbot_rviz_base.urdf.xacro │ │ │ ├── chefbot_rviz_library.urdf.xacro │ │ │ ├── common_properties.urdf.xacro │ │ │ └── sensors │ │ │ ├── asus_xtion_pro.urdf.xacro │ │ │ └── kinect.urdf.xacro │ └── chefbot_simulator │ │ └── chefbot_gazebo │ │ ├── CMakeLists.txt │ │ ├── launch │ │ ├── amcl_demo.launch │ │ ├── chefbot_empty_world.launch │ │ ├── chefbot_hotel_world.launch │ │ ├── chefbot_playground.launch │ │ ├── chefbot_room_world.launch │ │ ├── gmapping_demo.launch │ │ └── includes │ │ │ ├── chefbot_base.launch.xml │ │ │ └── chefbot_base.launch.xml~ │ │ ├── maps │ │ ├── playground.pgm │ │ ├── playground.yaml │ │ ├── room.pgm │ │ └── room.yaml │ │ ├── package.xml │ │ └── worlds │ │ ├── complete_hotel.sdf │ │ ├── empty.world │ │ ├── empty_.world │ │ ├── original │ │ └── empty.world │ │ ├── playground.world │ │ └── test_room.sdf ├── chefbot_bringup │ ├── CMakeLists.txt │ ├── launch │ │ ├── 3dsensor.launch │ │ ├── amcl_demo.launch │ │ ├── gmapping_demo.launch │ │ ├── includes │ │ │ ├── amcl.launch.xml │ │ │ ├── gmapping.launch.xml │ │ │ ├── move_base.launch.xml │ │ │ ├── safety_controller.launch.xml │ │ │ └── velocity_smoother.launch.xml │ │ ├── keyboard_teleop.launch │ │ ├── model_robot.launch │ │ ├── robot_standalone.launch │ │ ├── view_navigation.launch │ │ └── view_robot.launch │ ├── map │ │ ├── hotel1.pgm │ │ └── hotel1.yaml │ ├── package.xml │ ├── param │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ └── text-base │ │ │ │ ├── ardros.yaml.svn-base │ │ │ │ ├── base_local_planner_params.yaml.svn-base │ │ │ │ ├── costmap_common_params.yaml.svn-base │ │ │ │ ├── global_costmap_params.yaml.svn-base │ │ │ │ ├── joystick.yaml.svn-base │ │ │ │ ├── local_costmap_params.yaml.svn-base │ │ │ │ └── teleop.yaml.svn-base │ │ ├── ardros.yaml │ │ ├── base_local_planner_params.yaml │ │ ├── board_config.yaml │ │ ├── costmap_common_params.yaml │ │ ├── dwa_local_planner_params.yaml │ │ ├── encoders.yaml │ │ ├── global_costmap_params.yaml │ │ ├── joystick.yaml │ │ ├── local_costmap_params.yaml │ │ ├── move_base_params.yaml │ │ ├── mux.yaml │ │ ├── serial.yaml │ │ └── teleop.yaml │ ├── rviz │ │ ├── model.rviz │ │ ├── navigation.rviz │ │ └── robot.rviz │ ├── scripts │ │ ├── SerialDataGateway.py │ │ ├── SerialDataGateway.pyc │ │ ├── bkup_working │ │ │ ├── DeadReckoning.py │ │ │ ├── GoalsSequencer.py │ │ │ ├── SerialDataGateway.pyc │ │ │ ├── arduino (copy).py │ │ │ ├── arduino.py │ │ │ ├── arduino.py_bkup │ │ │ ├── arduino_bkup.py │ │ │ ├── base_controller.py │ │ │ ├── err │ │ │ ├── launchpad_node (copy).py │ │ │ ├── launchpad_process_node (copy).py │ │ │ ├── launchpad_process_node.py │ │ │ ├── launchpad_process_node.py_edited_not_working │ │ │ ├── launchpad_robot_teleop_key │ │ │ ├── lpid_velocity.py │ │ │ ├── murray_demo.py │ │ │ ├── murray_demo_test.py │ │ │ ├── pid_velocity_sim.py │ │ │ ├── rpid_velocity.py │ │ │ ├── velocityLogger.py │ │ │ ├── velocityLogger.pyc │ │ │ ├── virtual_joystick.py │ │ │ ├── wheel_loopback.py │ │ │ └── wheel_scaler.py │ │ ├── chefbot_teleop_key │ │ ├── diff_tf.py │ │ ├── launchpad_node.py │ │ ├── pid_velocity.py │ │ ├── robot_gui.py │ │ ├── simple_navig_goals.py │ │ └── twist_to_motors.py │ └── src │ │ └── send_robot_goal.cpp ├── chefbot_description │ ├── CMakeLists.txt │ ├── meshes │ │ ├── base_plate.dae │ │ ├── create_body.tga │ │ └── wheel.dae │ ├── package.xml │ ├── robots │ │ ├── chefbot_circles_kinect.urdf.xacro │ │ └── roomba_circles_kinect.urdf.xacro │ └── urdf │ │ ├── bkup │ │ ├── chefbot_base.urdf.xacro │ │ ├── chefbot_base_gazebo.urdf.xacro │ │ ├── chefbot_gazebo.urdf.xacro │ │ ├── chefbot_library.urdf.xacro │ │ ├── chefbot_properties.urdf.xacro │ │ └── common_properties.urdf.xacro │ │ ├── chefbot_base.urdf.xacro │ │ ├── chefbot_base.xacro │ │ ├── chefbot_base_gazebo.urdf.xacro │ │ ├── chefbot_gazebo.urdf.xacro │ │ ├── chefbot_library.urdf.xacro │ │ ├── chefbot_properties.urdf.xacro │ │ ├── chefbot_rviz_base.urdf.xacro │ │ ├── chefbot_rviz_library.urdf.xacro │ │ ├── common_properties.urdf.xacro │ │ └── sensors │ │ ├── asus_xtion_pro.urdf.xacro │ │ └── kinect.urdf.xacro └── chefbot_simulator │ └── chefbot_gazebo │ ├── CMakeLists.txt │ ├── launch │ ├── amcl_demo.launch │ ├── chefbot_empty_world.launch │ ├── chefbot_hotel_world.launch │ ├── chefbot_playground.launch │ ├── chefbot_room_world.launch │ ├── gmapping_demo.launch │ └── includes │ │ ├── chefbot_base.launch.xml │ │ └── chefbot_base.launch.xml~ │ ├── maps │ ├── playground.pgm │ ├── playground.yaml │ ├── room.pgm │ └── room.yaml │ ├── package.xml │ └── worlds │ ├── complete_hotel.sdf │ ├── empty.world │ ├── empty.world(hotel) │ ├── empty.world11 │ ├── empty.world__ │ ├── empty.world__empty │ ├── empty.world_bkup │ ├── empty_.world │ ├── murray.world │ ├── original │ └── empty.world │ ├── playground.world │ └── test_room.sdf ├── chefbot_navig_cpp ├── CMakeLists.txt ├── launch │ └── robot_standalone.launch ├── package.xml └── src │ ├── bkup │ ├── diff_tf (copy).cpp │ ├── odometry_.cpp │ ├── wheel_odometry (copy).cpp │ └── wheel_odometry.cpp │ ├── diff_tf.cpp │ └── twist_to_motor.cpp ├── mastering_ros_robot_description_pkg ├── CMakeLists.txt ├── README.md ├── launch │ ├── view_arm.launch │ ├── view_mobile_robot.launch │ ├── view_pan_tilt_urdf.launch │ └── view_pan_tilt_xacro.launch ├── meshes │ ├── caster_wheel.stl │ └── sensors │ │ └── xtion_pro_live │ │ ├── xtion_pro_live.dae │ │ └── xtion_pro_live.png ├── package.xml ├── urdf.rviz ├── urdf.vcg └── urdf │ ├── diff_wheeled_robot.urdf │ ├── diff_wheeled_robot.xacro │ ├── differential_wheeled_robot.gv │ ├── differential_wheeled_robot.pdf │ ├── grasp_object.urdf │ ├── grasp_object.xacro │ ├── pan_tilt.urdf │ ├── pan_tilt.xacro │ ├── sensors │ ├── xtion_pro_live.gazebo.xacro │ └── xtion_pro_live.urdf.xacro │ ├── seven_dof_arm.gv │ ├── seven_dof_arm.pdf │ ├── seven_dof_arm.urdf │ ├── seven_dof_arm.xacro │ └── wheel.urdf.xacro └── tiva_c_energia_code_final ├── MPU6050.zip └── new_sensor_sketch_with_dmp.ino /chapter_10_codes/cool_arm/cool5000_controller/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(cool5000_controller) 3 | 4 | ## Find catkin macros and libraries 5 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 6 | ## is used, also find other catkin packages 7 | 8 | # Load catkin and all dependencies required for this package 9 | find_package(catkin REQUIRED COMPONENTS 10 | roscpp 11 | rospy 12 | std_msgs 13 | actionlib 14 | dynamixel_msgs 15 | sensor_msgs 16 | tf 17 | ) 18 | 19 | # Declare a catkin package 20 | catkin_package( 21 | CATKIN_DEPENDS 22 | roscpp 23 | rospy 24 | std_msgs 25 | actionlib 26 | std_msgs 27 | sensor_msgs 28 | dynamixel_msgs 29 | tf 30 | ) 31 | 32 | ## Build 33 | include_directories( 34 | include 35 | ${catkin_INCLUDE_DIRS} 36 | ) 37 | 38 | # --------------- 39 | add_executable(joint_state_aggregator src/joint_state_aggregator.cpp) 40 | target_link_libraries(joint_state_aggregator ${catkin_LIBRARIES} ) 41 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_controller/config/cool5000_trajectory_controller.yaml: -------------------------------------------------------------------------------- 1 | cool5000_trajectory_controller: 2 | controller: 3 | package: dynamixel_controllers 4 | module: joint_trajectory_action_controller 5 | type: JointTrajectoryActionController 6 | joint_trajectory_action_node: 7 | min_velocity: 0.0 8 | constraints: 9 | goal_time: 0.01 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_controller/config/dynamixel_ports.yaml: -------------------------------------------------------------------------------- 1 | namespace: cool5000_controller_manager 2 | diagnostics_rate: 5 3 | serial_ports: 4 | ttyUSB0: 5 | port_name: /dev/ttyUSB0 6 | baud_rate: 1000000 7 | min_motor_id: 0 8 | max_motor_id: 6 9 | update_rate: 50 10 | diagnostics: 11 | error_level_temp: 70 12 | warn_level_temp: 65 13 | 14 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_controller/launch/joint_state_aggregator.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | rate: 50 7 | controllers: 8 | - joint1_controller 9 | - joint2_controller 10 | - joint3_controller 11 | - joint4_controller 12 | - joint5_controller 13 | - joint6_controller 14 | - joint7_controller 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_controller/scripts/pose_zero.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import roslib 4 | import time 5 | import rospy 6 | from std_msgs.msg import Float64 7 | 8 | joint_names = ( 'joint1_controller', 9 | 'joint2_controller', 10 | 'joint3_controller', 11 | 'joint4_controller', 12 | 'joint5_controller', 13 | 'joint6_controller', 14 | 'joint7_controller') 15 | 16 | joint_commands = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) 17 | 18 | 19 | if __name__ == '__main__': 20 | pubs = [rospy.Publisher(name + '/command', Float64) for name in joint_names] 21 | rospy.init_node('make_zero_pose', anonymous=True) 22 | 23 | for i in range(len(pubs)): 24 | time.sleep(.2) 25 | print "Sending command" 26 | pubs[i].publish(joint_commands[i]) 27 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/launch/display.launch: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 10 | 13 | 17 | 21 | 26 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/launch/gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 15 | 17 | 22 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | cool5000_description 3 | 4 | me 5 | BSD 6 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/base_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/index_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/index_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/index_tip_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/index_tip_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_1.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_2.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_3.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_4.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_5.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_6.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/link_7.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/link_7.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/middle_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/middle_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/middle_tip_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/middle_tip_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/thumb_base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/thumb_base_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/thumb_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/thumb_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_description/meshes/thumb_tip_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/cool_arm/cool5000_description/meshes/thumb_tip_link.STL -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: cool5000_description 4 | relative_path: robots/cool5000_description.URDF 5 | SRDF: 6 | relative_path: config/cool5000_description.srdf 7 | CONFIG: 8 | generated_timestamp: 1445411347 -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(cool5000_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 9 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 10 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_manipulator_controller 3 | joints: 4 | - joint_1 5 | - joint_2 6 | - joint_3 7 | - joint_4 8 | - joint_5 9 | - joint_6 10 | - joint_7 11 | - name: fake_gripper_controller 12 | joints: 13 | - index_joint 14 | - index_tip_joint 15 | - middle_joint 16 | - middle_tip_joint 17 | - thumb_base_joint 18 | - thumb_joint 19 | - thumb_tip_joint -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | manipulator: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | kinematics_solver_search_resolution: 0.005 4 | kinematics_solver_timeout: 0.005 5 | kinematics_solver_attempts: 3 -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/cool5000_description_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/cool5000_description_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/cool_arm/cool5000_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/grasp_object/model.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Grasp_Object 5 | 1.0 6 | model.sdf 7 | 8 | 9 | Lentin Joseph 10 | qboticslabs@gmail.com 11 | 12 | 13 | 14 | A simple box 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_10_codes/grasp_table/model.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Grasp_Table 5 | 1.0 6 | model.sdf 7 | 8 | 9 | Lentin Joseph 10 | qboticslabs@gmail.com 11 | 12 | 13 | 14 | A simple table 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_10_codes/grasp_table/model.sdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 7 | 8 | 0 0 0.15 0 0 0 9 | 10 | 11 | 0.22 1 0.2 12 | 13 | 14 | 15 | 16 | 17 | 18 | 0.1 19 | 0.1 20 | 21 | 22 | 23 | 24 | 25 | 26 | 0 0 0.15 0 0 0 27 | 28 | 29 | 0.22 1 0.2 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/README.md: -------------------------------------------------------------------------------- 1 | # mastering_ros_robot_description_pkg 2 | 3 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/launch/view_arm.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/launch/view_mobile_robot.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_urdf.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_xacro.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Gazebo/Blue 28 | 29 | 30 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | Gazebo/Blue 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /chapter_10_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/moveit_simple_grasps.zip -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/action/GenerateGrasps.action: -------------------------------------------------------------------------------- 1 | #goal 2 | geometry_msgs/Pose pose 3 | float64 width 4 | moveit_simple_grasps/GraspGeneratorOptions[] options 5 | --- 6 | #result 7 | moveit_msgs/Grasp[] grasps 8 | --- 9 | #feedback 10 | moveit_msgs/Grasp[] grasps 11 | -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/config/clam_grasp_data.yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | # ===================================================== 4 | gripper_group: # ee group name 5 | end_effector_name: 'gripper_group' # ee group name 6 | 7 | #actuated joints in end effector 8 | joints : ['gripper_finger_joint'] 9 | 10 | #open position 11 | pregrasp_posture : [-0.925023722222] 12 | pregrasp_time_from_start : 4.0 13 | 14 | #close position 15 | grasp_posture : [1.0] 16 | grasp_time_from_start : 4.0 17 | 18 | #desired pose from end effector to grasp - [x,y,z] 19 | grasp_pose_to_eef : [-0.14,0,0] 20 | 21 | #desired pose from end effector to grasp - [r, p, y] 22 | grasp_pose_to_eef_rotation : [0, 0, 0] # 1.5707 = PI/2 23 | 24 | end_effector_parent_link : 'gripper_roll_link' -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/launch/grasp_generator_server.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/launch/grasp_test_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/msg/GraspGeneratorOptions.msg: -------------------------------------------------------------------------------- 1 | uint8 grasp_axis 2 | uint8 GRASP_AXIS_X = 0 3 | uint8 GRASP_AXIS_Y = 1 4 | uint8 GRASP_AXIS_Z = 2 5 | 6 | uint8 grasp_direction 7 | uint8 GRASP_DIRECTION_UP = 0 8 | uint8 GRASP_DIRECTION_DOWN = 1 9 | 10 | uint8 grasp_rotation 11 | uint8 GRASP_ROTATION_HALF = 0 12 | uint8 GRASP_ROTATION_FULL = 1 13 | -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/resources/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/moveit_simple_grasps/resources/demo.png -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps/resources/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/moveit_simple_grasps/resources/filter.png -------------------------------------------------------------------------------- /chapter_10_codes/moveit_simple_grasps_1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_10_codes/moveit_simple_grasps_1.zip -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: mastering_ros_robot_description_pkg 4 | relative_path: urdf/seven_dof_arm.urdf 5 | SRDF: 6 | relative_path: config/seven_dof_arm.srdf 7 | CONFIG: 8 | generated_timestamp: 1442317172 -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(seven_dof_arm_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 9 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 10 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: controller_manager 2 | controller_list: 3 | - name: seven_dof_arm/seven_dof_arm_joint_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - shoulder_pan_joint 9 | - shoulder_pitch_joint 10 | - elbow_roll_joint 11 | - elbow_pitch_joint 12 | - wrist_roll_joint 13 | - wrist_pitch_joint 14 | - gripper_roll_joint 15 | - name: seven_dof_arm/gripper_controller 16 | action_ns: follow_joint_trajectory 17 | type: FollowJointTrajectory 18 | default: true 19 | joints: 20 | - finger_joint1 21 | - finger_joint2 22 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_arm_controller 3 | joints: 4 | - shoulder_pan_joint 5 | - shoulder_pitch_joint 6 | - elbow_roll_joint 7 | - elbow_pitch_joint 8 | - wrist_roll_joint 9 | - wrist_pitch_joint 10 | - gripper_roll_joint 11 | - name: fake_gripper_controller 12 | joints: 13 | - finger_joint1 14 | - finger_joint2 -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | arm: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | kinematics_solver_search_resolution: 0.005 4 | kinematics_solver_timeout: 0.05 5 | kinematics_solver_attempts: 3 -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/config/sensors_rgbd.yaml: -------------------------------------------------------------------------------- 1 | sensors: 2 | - sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater 3 | point_cloud_topic: /rgbd_camera/depth/points 4 | max_range: 10 5 | padding_offset: 0.01 6 | padding_scale: 1.0 7 | point_subsample: 1 8 | filtered_cloud_topic: output_cloud 9 | 10 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | # The planning and execution components of MoveIt! configured to 3 | # publish the current configuration of the robot (simulated or real) 4 | # and the current state of the world as seen by the planner 5 | 6 | 7 | 8 | # The visualization component of MoveIt! 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/seven_dof_arm_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/seven_dof_arm_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/config/seven_dof_arm_gazebo_joint_states.yaml: -------------------------------------------------------------------------------- 1 | seven_dof_arm: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 50 6 | 7 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/config/seven_dof_arm_grasp_data (copy).yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | gripper: 4 | end_effector_name: 'gripper' 5 | 6 | # Default grasp params 7 | joints: ['finger_joint1', 'finger_joint2'] 8 | 9 | pregrasp_posture: [0.0, 0.0] 10 | pregrasp_time_from_start: 4.0 11 | 12 | grasp_posture: [1.0, 1.0] 13 | grasp_time_from_start: 4.0 14 | 15 | postplace_time_from_start: 4.0 16 | 17 | # Desired pose from end effector to grasp [x, y, z] + [R, P, Y] 18 | grasp_pose_to_eef: [0.0, 0.0, 0.0] 19 | grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0] 20 | 21 | end_effector_parent_link: 'gripper_roll_link' 22 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/config/seven_dof_arm_grasp_data.yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | gripper: 4 | end_effector_name: 'gripper' 5 | 6 | # Default grasp params 7 | joints: ['finger_joint1', 'finger_joint2'] 8 | 9 | pregrasp_posture: [0.0, 0.0] 10 | pregrasp_time_from_start: 4.0 11 | 12 | grasp_posture: [1.0, 1.0] 13 | grasp_time_from_start: 4.0 14 | 15 | postplace_time_from_start: 4.0 16 | 17 | # Desired pose from end effector to grasp [x, y, z] + [R, P, Y] 18 | grasp_pose_to_eef: [0.0, 0.0, 0.0] 19 | grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0] 20 | 21 | end_effector_parent_link: 'gripper_roll_link' 22 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/config/trajectory_control.yaml: -------------------------------------------------------------------------------- 1 | seven_dof_arm: 2 | seven_dof_arm_joint_controller: 3 | type: "position_controllers/JointTrajectoryController" 4 | joints: 5 | - shoulder_pan_joint 6 | - shoulder_pitch_joint 7 | - elbow_roll_joint 8 | - elbow_pitch_joint 9 | - wrist_roll_joint 10 | - wrist_pitch_joint 11 | - gripper_roll_joint 12 | 13 | gains: 14 | shoulder_pan_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 15 | shoulder_pitch_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 16 | elbow_roll_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 17 | elbow_pitch_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 18 | wrist_roll_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 19 | wrist_pitch_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 20 | gripper_roll_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 21 | 22 | 23 | gripper_controller: 24 | type: "position_controllers/JointTrajectoryController" 25 | joints: 26 | - finger_joint1 27 | - finger_joint2 28 | gains: 29 | finger_joint1: {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0} 30 | finger_joint2: {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0} 31 | 32 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/grasp_generator_server.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/pick_place.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup_grasping.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup_moveit.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_position.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_states.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_trajectory_controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_gazebo/worlds/grasping.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://sun 7 | 8 | 9 | 10 | 11 | model://ground_plane 12 | 13 | 14 | 15 | 16 | 23 | 24 | 25 | 29 | 30 | 31 | 36 | 37 | 38 | 0.001 39 | 1 40 | 1000 41 | 0 0 -9.81 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_test/src/remove_collision_objct.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(int argc, char **argv) 5 | { 6 | // Initialize ROS, create the node handle and an async spinner 7 | ros::init(argc, argv, "remove_collision_objct"); 8 | ros::NodeHandle nh; 9 | 10 | ros::AsyncSpinner spin(1); 11 | spin.start(); 12 | 13 | // We obtain the current planning scene and wait until everything is up 14 | // and running, otherwise the request won't succeed 15 | moveit::planning_interface::PlanningSceneInterface current_scene; 16 | 17 | sleep(5.0); 18 | 19 | // We add the name of the objects we want to remove into the vector and 20 | // use the planning scene interface to remove those collision objects 21 | std::vector object_ids; 22 | object_ids.push_back("seven_dof_arm_cylinder"); 23 | current_scene.removeCollisionObjects(object_ids); 24 | 25 | ros::shutdown(); 26 | 27 | return 0; 28 | } 29 | -------------------------------------------------------------------------------- /chapter_10_codes/seven_dof_arm_test/src/test_random.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int main(int argc, char **argv) 3 | { 4 | ros::init(argc, argv, "move_group_interface_demo", ros::init_options::AnonymousName); 5 | // start a ROS spinning thread 6 | ros::AsyncSpinner spinner(1); 7 | spinner.start(); 8 | // this connecs to a running instance of the move_group node 9 | move_group_interface::MoveGroup group("arm"); 10 | // specify that our target will be a random one 11 | group.setRandomTarget(); 12 | // plan the motion and then move the group to the sampled target 13 | group.move(); 14 | ros::waitForShutdown(); 15 | } 16 | -------------------------------------------------------------------------------- /chapter_11_codes/abb_irb6640_moveit_plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(abb_irb6640_moveit_plugins) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | moveit_core 6 | pluginlib 7 | roscpp 8 | tf_conversions 9 | ) 10 | 11 | include_directories(${catkin_INCLUDE_DIRS}) 12 | 13 | catkin_package( 14 | LIBRARIES 15 | CATKIN_DEPENDS 16 | moveit_core 17 | pluginlib 18 | roscpp 19 | tf_conversions 20 | ) 21 | 22 | include_directories(include) 23 | 24 | set(IKFAST_LIBRARY_NAME abb_irb6640_manipulator_moveit_ikfast_plugin) 25 | 26 | find_package(LAPACK REQUIRED) 27 | 28 | add_library(${IKFAST_LIBRARY_NAME} src/abb_irb6640_manipulator_ikfast_moveit_plugin.cpp) 29 | target_link_libraries(${IKFAST_LIBRARY_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${LAPACK_LIBRARIES}) 30 | 31 | install(TARGETS ${IKFAST_LIBRARY_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 32 | 33 | install( 34 | FILES 35 | abb_irb6640_manipulator_moveit_ikfast_plugin_description.xml 36 | DESTINATION 37 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 38 | ) -------------------------------------------------------------------------------- /chapter_11_codes/abb_irb6640_moveit_plugins/abb_irb6640_manipulator_moveit_ikfast_plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IKFast61 plugin for closed-form kinematics 5 | 6 | 7 | -------------------------------------------------------------------------------- /chapter_11_codes/abb_irb6640_moveit_plugins/update_ikfast_plugin.sh: -------------------------------------------------------------------------------- 1 | rosrun moveit_ikfast create_ikfast_moveit_plugin.py abb_irb6640 manipulator abb_irb6640_moveit_plugins /home/lentin/ros_industrial_ws/src/abb_irb6640_moveit_plugins/src/abb_irb6640_manipulator_ikfast_solver.cpp -------------------------------------------------------------------------------- /chapter_11_codes/abb_moveit_plugin/compute: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_11_codes/abb_moveit_plugin/compute -------------------------------------------------------------------------------- /chapter_12_codes/no_codes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_12_codes/no_codes.txt -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package mastering_ros_demo_pkg 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 0.0.2 (2015-10-17) 6 | ------------------ 7 | * Update code, remove CHANGELOg 8 | * Contributors: lentin 9 | -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/README.txt: -------------------------------------------------------------------------------- 1 | mastering_ros_demo_pkg -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/action/Demo_action.action: -------------------------------------------------------------------------------- 1 | #goal definition 2 | int32 count 3 | --- 4 | #result definition 5 | int32 final_count 6 | --- 7 | #feedback 8 | int32 current_number 9 | -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/launch/demo_msg.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/launch/demo_service.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/launch/demo_topic.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/msg/demo_msg.msg: -------------------------------------------------------------------------------- 1 | string greeting 2 | int32 number 3 | -------------------------------------------------------------------------------- /chapter_1_codes/mastering_ros_demo_pkg/srv/demo_srv.srv: -------------------------------------------------------------------------------- 1 | string in 2 | --- 3 | string out 4 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/README.md: -------------------------------------------------------------------------------- 1 | # mastering_ros_robot_description_pkg 2 | 3 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/launch/view_arm.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/launch/view_mobile_robot.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_urdf.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_xacro.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_2_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_2_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_2_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Gazebo/Blue 28 | 29 | 30 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | Gazebo/Blue 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /chapter_2_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_2_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_control/config/joint_position_control.yaml: -------------------------------------------------------------------------------- 1 | joint_state_controller: 2 | type: joint_state_controller/JointStateController 3 | publish_rate: 10 4 | -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_control/launch/keyboard_teleop.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_gazebo/maps/test.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_3_codes/diff_wheeled_robot_gazebo/maps/test.pgm -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_gazebo/maps/test.yaml: -------------------------------------------------------------------------------- 1 | image: test.pgm 2 | resolution: 0.050000 3 | origin: [-12.200000, -12.200000, 0.000000] 4 | negate: 0 5 | occupied_thresh: 0.65 6 | free_thresh: 0.196 7 | 8 | -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_gazebo/param/base_local_planner_params.yaml: -------------------------------------------------------------------------------- 1 | TrajectoryPlannerROS: 2 | 3 | # Robot Configuration Parameters 4 | max_vel_x: 0.3 5 | min_vel_x: 0.1 6 | 7 | max_vel_theta: 1.0 8 | min_vel_theta: -1.0 9 | min_in_place_vel_theta: 0.6 10 | 11 | acc_lim_x: 0.5 12 | acc_lim_theta: 1.0 13 | 14 | # Goal Tolerance Parameters 15 | yaw_goal_tolerance: 0.3 16 | xy_goal_tolerance: 0.15 17 | 18 | # Forward Simulation Parameters 19 | sim_time: 3.0 20 | vx_samples: 6 21 | vtheta_samples: 20 22 | 23 | # Trajectory Scoring Parameters 24 | meter_scoring: true 25 | pdist_scale: 0.6 26 | gdist_scale: 0.8 27 | occdist_scale: 0.01 28 | heading_lookahead: 0.325 29 | dwa: true 30 | 31 | # Oscillation Prevention Parameters 32 | oscillation_reset_dist: 0.05 33 | 34 | # Differential-drive robot configuration 35 | holonomic_robot: false 36 | max_vel_y: 0.0 37 | min_vel_y: 0.0 38 | acc_lim_y: 0.0 39 | vy_samples: 1 40 | -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_gazebo/param/global_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | global_costmap: 2 | global_frame: /map 3 | robot_base_frame: /base_footprint 4 | update_frequency: 1.0 5 | publish_frequency: 0.5 6 | static_map: true 7 | transform_tolerance: 0.5 8 | -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_gazebo/param/local_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | local_costmap: 2 | global_frame: odom 3 | robot_base_frame: /base_footprint 4 | update_frequency: 5.0 5 | publish_frequency: 2.0 6 | static_map: false 7 | rolling_window: true 8 | width: 4.0 9 | height: 4.0 10 | resolution: 0.05 11 | transform_tolerance: 0.5 12 | -------------------------------------------------------------------------------- /chapter_3_codes/diff_wheeled_robot_gazebo/param/move_base_params.yaml: -------------------------------------------------------------------------------- 1 | # Move base node parameters. For full documentation of the parameters in this file, please see 2 | # 3 | # http://www.ros.org/wiki/move_base 4 | # 5 | shutdown_costmaps: false 6 | 7 | controller_frequency: 5.0 8 | controller_patience: 3.0 9 | 10 | planner_frequency: 1.0 11 | planner_patience: 5.0 12 | 13 | oscillation_timeout: 10.0 14 | oscillation_distance: 0.2 15 | 16 | # local planner - default is trajectory rollout 17 | base_local_planner: "dwa_local_planner/DWAPlannerROS" 18 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/README.md: -------------------------------------------------------------------------------- 1 | # mastering_ros_robot_description_pkg 2 | 3 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/launch/view_arm.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/launch/view_mobile_robot.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_urdf.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_xacro.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_3_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_3_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_3_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Gazebo/Blue 28 | 29 | 30 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | Gazebo/Blue 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /chapter_3_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_3_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/config/seven_dof_arm_gazebo_joint_states.yaml: -------------------------------------------------------------------------------- 1 | seven_dof_arm: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 50 6 | 7 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/config/seven_dof_arm_grasp_data (copy).yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | gripper: 4 | end_effector_name: 'gripper' 5 | 6 | # Default grasp params 7 | joints: ['finger_joint1', 'finger_joint2'] 8 | 9 | pregrasp_posture: [0.0, 0.0] 10 | pregrasp_time_from_start: 4.0 11 | 12 | grasp_posture: [1.0, 1.0] 13 | grasp_time_from_start: 4.0 14 | 15 | postplace_time_from_start: 4.0 16 | 17 | # Desired pose from end effector to grasp [x, y, z] + [R, P, Y] 18 | grasp_pose_to_eef: [0.0, 0.0, 0.0] 19 | grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0] 20 | 21 | end_effector_parent_link: 'gripper_roll_link' 22 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/config/seven_dof_arm_grasp_data.yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | gripper: 4 | end_effector_name: 'gripper' 5 | 6 | # Default grasp params 7 | joints: ['finger_joint1', 'finger_joint2'] 8 | 9 | pregrasp_posture: [0.0, 0.0] 10 | pregrasp_time_from_start: 4.0 11 | 12 | grasp_posture: [1.0, 1.0] 13 | grasp_time_from_start: 4.0 14 | 15 | postplace_time_from_start: 4.0 16 | 17 | # Desired pose from end effector to grasp [x, y, z] + [R, P, Y] 18 | grasp_pose_to_eef: [0.0, 0.0, 0.0] 19 | grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0] 20 | 21 | end_effector_parent_link: 'gripper_roll_link' 22 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/config/trajectory_control.yaml: -------------------------------------------------------------------------------- 1 | seven_dof_arm: 2 | seven_dof_arm_joint_controller: 3 | type: "position_controllers/JointTrajectoryController" 4 | joints: 5 | - shoulder_pan_joint 6 | - shoulder_pitch_joint 7 | - elbow_roll_joint 8 | - elbow_pitch_joint 9 | - wrist_roll_joint 10 | - wrist_pitch_joint 11 | - gripper_roll_joint 12 | 13 | gains: 14 | shoulder_pan_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 15 | shoulder_pitch_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 16 | elbow_roll_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 17 | elbow_pitch_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 18 | wrist_roll_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 19 | wrist_pitch_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 20 | gripper_roll_joint: {p: 1000.0, i: 0.0, d: 0.1, i_clamp: 0.0} 21 | 22 | 23 | gripper_controller: 24 | type: "position_controllers/JointTrajectoryController" 25 | joints: 26 | - finger_joint1 27 | - finger_joint2 28 | gains: 29 | finger_joint1: {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0} 30 | finger_joint2: {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0} 31 | 32 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/grasp_generator_server.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/pick_place.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup_grasping.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup_moveit.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_position.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_states.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_trajectory_controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter_3_codes/seven_dof_arm_gazebo/worlds/grasping.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://sun 7 | 8 | 9 | 10 | 11 | model://ground_plane 12 | 13 | 14 | 15 | 16 | 23 | 24 | 25 | 29 | 30 | 31 | 36 | 37 | 38 | 0.001 39 | 1 40 | 1000 41 | 0 0 -9.81 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_control/config/joint_position_control.yaml: -------------------------------------------------------------------------------- 1 | joint_state_controller: 2 | type: joint_state_controller/JointStateController 3 | publish_rate: 10 4 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_control/launch/keyboard_teleop.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_gazebo/maps/willo.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_4_codes/diff_wheeled_robot_gazebo/maps/willo.pgm -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_gazebo/maps/willo.yaml: -------------------------------------------------------------------------------- 1 | image: /home/lentin/Desktop/willo.pgm 2 | resolution: 0.050000 3 | origin: [-15.400000, -17.000000, 0.000000] 4 | negate: 0 5 | occupied_thresh: 0.65 6 | free_thresh: 0.196 7 | 8 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_gazebo/param/base_local_planner_params.yaml: -------------------------------------------------------------------------------- 1 | TrajectoryPlannerROS: 2 | 3 | # Robot Configuration Parameters 4 | max_vel_x: 0.3 5 | min_vel_x: 0.1 6 | 7 | max_vel_theta: 1.0 8 | min_vel_theta: -1.0 9 | min_in_place_vel_theta: 0.6 10 | 11 | acc_lim_x: 0.5 12 | acc_lim_theta: 1.0 13 | 14 | # Goal Tolerance Parameters 15 | yaw_goal_tolerance: 0.3 16 | xy_goal_tolerance: 0.15 17 | 18 | # Forward Simulation Parameters 19 | sim_time: 3.0 20 | vx_samples: 6 21 | vtheta_samples: 20 22 | 23 | # Trajectory Scoring Parameters 24 | meter_scoring: true 25 | pdist_scale: 0.6 26 | gdist_scale: 0.8 27 | occdist_scale: 0.01 28 | heading_lookahead: 0.325 29 | dwa: true 30 | 31 | # Oscillation Prevention Parameters 32 | oscillation_reset_dist: 0.05 33 | 34 | # Differential-drive robot configuration 35 | holonomic_robot: false 36 | max_vel_y: 0.0 37 | min_vel_y: 0.0 38 | acc_lim_y: 0.0 39 | vy_samples: 1 40 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_gazebo/param/global_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | global_costmap: 2 | global_frame: /map 3 | robot_base_frame: /base_footprint 4 | update_frequency: 1.0 5 | publish_frequency: 0.5 6 | static_map: true 7 | transform_tolerance: 0.5 8 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_gazebo/param/local_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | local_costmap: 2 | global_frame: odom 3 | robot_base_frame: /base_footprint 4 | update_frequency: 5.0 5 | publish_frequency: 2.0 6 | static_map: false 7 | rolling_window: true 8 | width: 4.0 9 | height: 4.0 10 | resolution: 0.05 11 | transform_tolerance: 0.5 12 | -------------------------------------------------------------------------------- /chapter_4_codes/diff_wheeled_robot_gazebo/param/move_base_params.yaml: -------------------------------------------------------------------------------- 1 | # Move base node parameters. For full documentation of the parameters in this file, please see 2 | # 3 | # http://www.ros.org/wiki/move_base 4 | # 5 | shutdown_costmaps: false 6 | 7 | controller_frequency: 5.0 8 | controller_patience: 3.0 9 | 10 | planner_frequency: 1.0 11 | planner_patience: 5.0 12 | 13 | oscillation_timeout: 10.0 14 | oscillation_distance: 0.2 15 | 16 | # local planner - default is trajectory rollout 17 | base_local_planner: "dwa_local_planner/DWAPlannerROS" 18 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: mastering_ros_robot_description_pkg 4 | relative_path: urdf/seven_dof_arm.urdf 5 | SRDF: 6 | relative_path: config/seven_dof_arm.srdf 7 | CONFIG: 8 | generated_timestamp: 1442317172 -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(seven_dof_arm_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 9 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 10 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: controller_manager 2 | controller_list: 3 | - name: seven_dof_arm/seven_dof_arm_joint_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - shoulder_pan_joint 9 | - shoulder_pitch_joint 10 | - elbow_roll_joint 11 | - elbow_pitch_joint 12 | - wrist_roll_joint 13 | - wrist_pitch_joint 14 | - gripper_roll_joint 15 | - name: seven_dof_arm/gripper_controller 16 | action_ns: follow_joint_trajectory 17 | type: FollowJointTrajectory 18 | default: true 19 | joints: 20 | - finger_joint1 21 | - finger_joint2 22 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_arm_controller 3 | joints: 4 | - shoulder_pan_joint 5 | - shoulder_pitch_joint 6 | - elbow_roll_joint 7 | - elbow_pitch_joint 8 | - wrist_roll_joint 9 | - wrist_pitch_joint 10 | - gripper_roll_joint 11 | - name: fake_gripper_controller 12 | joints: 13 | - finger_joint1 14 | - finger_joint2 -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | arm: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | kinematics_solver_search_resolution: 0.005 4 | kinematics_solver_timeout: 0.05 5 | kinematics_solver_attempts: 3 -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/config/sensors_rgbd.yaml: -------------------------------------------------------------------------------- 1 | sensors: 2 | - sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater 3 | point_cloud_topic: /rgbd_camera/depth/points 4 | max_range: 10 5 | padding_offset: 0.01 6 | padding_scale: 1.0 7 | point_subsample: 1 8 | filtered_cloud_topic: output_cloud 9 | 10 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | # The planning and execution components of MoveIt! configured to 3 | # publish the current configuration of the robot (simulated or real) 4 | # and the current state of the world as seen by the planner 5 | 6 | 7 | 8 | # The visualization component of MoveIt! 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/seven_dof_arm_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/seven_dof_arm_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/config/seven_dof_arm_gazebo_joint_states.yaml: -------------------------------------------------------------------------------- 1 | seven_dof_arm: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 50 6 | 7 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/config/seven_dof_arm_grasp_data (copy).yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | gripper: 4 | end_effector_name: 'gripper' 5 | 6 | # Default grasp params 7 | joints: ['finger_joint1', 'finger_joint2'] 8 | 9 | pregrasp_posture: [0.0, 0.0] 10 | pregrasp_time_from_start: 4.0 11 | 12 | grasp_posture: [1.0, 1.0] 13 | grasp_time_from_start: 4.0 14 | 15 | postplace_time_from_start: 4.0 16 | 17 | # Desired pose from end effector to grasp [x, y, z] + [R, P, Y] 18 | grasp_pose_to_eef: [0.0, 0.0, 0.0] 19 | grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0] 20 | 21 | end_effector_parent_link: 'gripper_roll_link' 22 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/config/seven_dof_arm_grasp_data.yaml: -------------------------------------------------------------------------------- 1 | base_link: 'base_link' 2 | 3 | gripper: 4 | end_effector_name: 'gripper' 5 | 6 | # Default grasp params 7 | joints: ['finger_joint1', 'finger_joint2'] 8 | 9 | pregrasp_posture: [0.0, 0.0] 10 | pregrasp_time_from_start: 4.0 11 | 12 | grasp_posture: [1.0, 1.0] 13 | grasp_time_from_start: 4.0 14 | 15 | postplace_time_from_start: 4.0 16 | 17 | # Desired pose from end effector to grasp [x, y, z] + [R, P, Y] 18 | grasp_pose_to_eef: [0.0, 0.0, 0.0] 19 | grasp_pose_to_eef_rotation: [0.0, 0.0, 0.0] 20 | 21 | end_effector_parent_link: 'gripper_roll_link' 22 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/grasp_generator_server.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/pick_place.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup_grasping.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_bringup_moveit.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_position.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_gazebo_states.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/launch/seven_dof_arm_trajectory_controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_gazebo/worlds/grasping.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://sun 7 | 8 | 9 | 10 | 11 | model://ground_plane 12 | 13 | 14 | 15 | 16 | 23 | 24 | 25 | 29 | 30 | 31 | 36 | 37 | 38 | 0.001 39 | 1 40 | 1000 41 | 0 0 -9.81 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_test/src/remove_collision_objct.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(int argc, char **argv) 5 | { 6 | // Initialize ROS, create the node handle and an async spinner 7 | ros::init(argc, argv, "remove_collision_objct"); 8 | ros::NodeHandle nh; 9 | 10 | ros::AsyncSpinner spin(1); 11 | spin.start(); 12 | 13 | // We obtain the current planning scene and wait until everything is up 14 | // and running, otherwise the request won't succeed 15 | moveit::planning_interface::PlanningSceneInterface current_scene; 16 | 17 | sleep(5.0); 18 | 19 | // We add the name of the objects we want to remove into the vector and 20 | // use the planning scene interface to remove those collision objects 21 | std::vector object_ids; 22 | object_ids.push_back("seven_dof_arm_cylinder"); 23 | current_scene.removeCollisionObjects(object_ids); 24 | 25 | ros::shutdown(); 26 | 27 | return 0; 28 | } 29 | -------------------------------------------------------------------------------- /chapter_4_codes/seven_dof_arm_test/src/test_random.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int main(int argc, char **argv) 3 | { 4 | ros::init(argc, argv, "move_group_interface_demo", ros::init_options::AnonymousName); 5 | // start a ROS spinning thread 6 | ros::AsyncSpinner spinner(1); 7 | spinner.start(); 8 | // this connecs to a running instance of the move_group node 9 | move_group_interface::MoveGroup group("arm"); 10 | // specify that our target will be a random one 11 | group.setRandomTarget(); 12 | // plan the motion and then move the group to the sampled target 13 | group.move(); 14 | ros::waitForShutdown(); 15 | } 16 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8 FATAL_ERROR) 2 | 3 | find_package(Boost REQUIRED COMPONENTS system) 4 | include_directories(${Boost_INCLUDE_DIRS}) 5 | link_directories(${Boost_LIBRARY_DIRS}) 6 | 7 | include (FindPkgConfig) 8 | if (PKG_CONFIG_FOUND) 9 | pkg_check_modules(GAZEBO gazebo) 10 | endif() 11 | include_directories(${GAZEBO_INCLUDE_DIRS}) 12 | link_directories(${GAZEBO_LIBRARY_DIRS}) 13 | 14 | add_library(hello_world SHARED hello_world.cc) 15 | target_link_libraries(hello_world ${GAZEBO_LIBRARIES} ${Boost_LIBRARIES}) 16 | 17 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-3.13.0-65-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "3.13.0-65-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-3.13.0-65-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "3.13.0-65-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # Relative path conversion top directories. 5 | SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lentin/gazebo_basic_world_plugin") 6 | SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lentin/gazebo_basic_world_plugin/build") 7 | 8 | # Force unix paths in dependencies. 9 | SET(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lentin/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir 2 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | SET(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | SET(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lentin/gazebo_basic_world_plugin/hello_world.cc" "/home/lentin/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/hello_world.cc.o" 8 | ) 9 | SET(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # Targets to which this target links. 12 | SET(CMAKE_TARGET_LINKED_INFO_FILES 13 | ) 14 | 15 | # The include file search paths: 16 | SET(CMAKE_C_TARGET_INCLUDE_PATH 17 | "/usr/include/gazebo-2.2" 18 | "/usr/include/sdformat-1.4" 19 | ) 20 | SET(CMAKE_CXX_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH}) 21 | SET(CMAKE_Fortran_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH}) 22 | SET(CMAKE_ASM_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH}) 23 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | FILE(REMOVE_RECURSE 2 | "CMakeFiles/hello_world.dir/hello_world.cc.o" 3 | "libhello_world.pdb" 4 | "libhello_world.so" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | FOREACH(lang CXX) 9 | INCLUDE(CMakeFiles/hello_world.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | ENDFOREACH(lang) 11 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 2.8 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -fPIC -I/usr/include/gazebo-2.2 -I/usr/include/sdformat-1.4 6 | 7 | CXX_DEFINES = -Dhello_world_EXPORTS 8 | 9 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/hello_world.cc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/hello_world.cc.o -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -fPIC -shared -Wl,-soname,libhello_world.so -o libhello_world.so CMakeFiles/hello_world.dir/hello_world.cc.o -L/usr/lib/x86_64-linux-gnu/gazebo-2.2/plugins -lgazebo_transport -lgazebo_physics -lgazebo_sensors -lgazebo_rendering -lgazebo_gui -lsdformat -lgazebo_msgs -lgazebo_math -lgazebo_common -lgazebo -lboost_system -Wl,-rpath,/usr/lib/x86_64-linux-gnu/gazebo-2.2/plugins 2 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/hello_world.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | 3 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/build/libhello_world.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_5_codes/gazebo_basic_world_plugin/build/libhello_world.so -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/hello.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter_5_codes/gazebo_basic_world_plugin/hello_world.cc: -------------------------------------------------------------------------------- 1 | //Gazebo header for getting core gazebo functions 2 | #include 3 | 4 | //All gazebo plugins should have gazebo namespace 5 | 6 | namespace gazebo 7 | { 8 | 9 | //The custom WorldpluginTutorials is inheriting from standard worldPlugin. Each world plugin has to inheriting from standard plugin type. 10 | 11 | class WorldPluginTutorial : public WorldPlugin 12 | { 13 | 14 | public: WorldPluginTutorial() : WorldPlugin() 15 | { 16 | printf("Hello World!\n"); 17 | } 18 | 19 | 20 | //The Load function can receive the SDF elements 21 | public: void Load(physics::WorldPtr _world, sdf::ElementPtr _sdf) 22 | { 23 | } 24 | }; 25 | 26 | //Registering World Plugin with Simulator 27 | GZ_REGISTER_WORLD_PLUGIN(WorldPluginTutorial) 28 | } 29 | -------------------------------------------------------------------------------- /chapter_5_codes/nodelet_hello_world/hello_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_5_codes/nodelet_hello_world/hello_world.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A node to republish a message 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /chapter_5_codes/pluginlib_calculator/calculator_plugins.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a add plugin. 4 | 5 | 6 | 7 | This is a sub plugin. 8 | 9 | 10 | 11 | This is a mul plugin. 12 | 13 | 14 | 15 | This is a div plugin. 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_5_codes/pluginlib_calculator/include/pluginlib_calculator/calculator_base.h: -------------------------------------------------------------------------------- 1 | #ifndef PLUGINLIB_CALCULATOR_CALCULTOR_BASE_H_ 2 | #define PLUGINLIB_CALCULATOR_CALCULTOR_BASE_H_ 3 | 4 | namespace calculator_base 5 | { 6 | class calc_functions 7 | { 8 | public: 9 | virtual void get_numbers(double number1, double number2) = 0; 10 | virtual double operation() = 0; 11 | virtual ~calc_functions(){} 12 | 13 | protected: 14 | calc_functions(){} 15 | }; 16 | }; 17 | #endif 18 | -------------------------------------------------------------------------------- /chapter_5_codes/pluginlib_calculator/src/calculator_plugins.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | 6 | PLUGINLIB_EXPORT_CLASS(calculator_plugins::Add, calculator_base::calc_functions); 7 | PLUGINLIB_EXPORT_CLASS(calculator_plugins::Sub, calculator_base::calc_functions); 8 | PLUGINLIB_EXPORT_CLASS(calculator_plugins::Mul, calculator_base::calc_functions); 9 | PLUGINLIB_EXPORT_CLASS(calculator_plugins::Div, calculator_base::calc_functions); 10 | 11 | -------------------------------------------------------------------------------- /chapter_6_codes/my_controller_pkg/controller_plugins.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter_6_codes/my_controller_pkg/include/my_controller_pkg/my_controller_file.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | namespace my_controller_ns{ 5 | 6 | class MyControllerClass: public pr2_controller_interface::Controller 7 | { 8 | private: 9 | pr2_mechanism_model::JointState* joint_state_; 10 | double init_pos_; 11 | 12 | public: 13 | virtual bool init(pr2_mechanism_model::RobotState *robot, 14 | ros::NodeHandle &n); 15 | virtual void starting(); 16 | virtual void update(); 17 | virtual void stopping(); 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /chapter_6_codes/my_controller_pkg/launch/my_controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /chapter_6_codes/my_controller_pkg/my_controller.yaml: -------------------------------------------------------------------------------- 1 | my_controller_name: 2 | type: my_controller_pkg/MyControllerPlugin 3 | joint_name: r_shoulder_pan_joint 4 | -------------------------------------------------------------------------------- /chapter_6_codes/rviz_telop_commander/plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | A panel widget allowing simple diff-drive style robot base control. 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /chapter_6_codes/rviz_telop_commander/rosdoc.yaml: -------------------------------------------------------------------------------- 1 | - builder: sphinx 2 | sphinx_root_dir: src/doc 3 | -------------------------------------------------------------------------------- /chapter_6_codes/sample_ros_controller/sample_ros_controller.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The JointPositionController tracks position commands. It expects a EffortJointInterface type of hardware interface. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /chapter_7_codes/ADXL3xx_ROS/ADXL.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_7_codes/ADXL3xx_ROS/ADXL.fzz -------------------------------------------------------------------------------- /chapter_7_codes/ADXL3xx_ROS/ADXL3xx_ROS.ino: -------------------------------------------------------------------------------- 1 | 2 | 3 | #if (ARDUINO >= 100) 4 | #include 5 | #else 6 | #include 7 | #endif 8 | #include 9 | #include 10 | 11 | 12 | 13 | const int xpin = A3; // x-axis of the accelerometer 14 | const int ypin = A2; // y-axis 15 | const int zpin = A1; // z-axis (only on 3-axis models) 16 | 17 | 18 | ros::NodeHandle nh; 19 | 20 | rosserial_arduino::Adc adc_msg; 21 | 22 | ros::Publisher pub("adc", &adc_msg); 23 | 24 | void setup() 25 | { 26 | 27 | nh.initNode(); 28 | 29 | nh.advertise(pub); 30 | 31 | } 32 | 33 | //We average the analog reading to elminate some of the noise 34 | int averageAnalog(int pin){ 35 | int v=0; 36 | for(int i=0; i<4; i++) v+= analogRead(pin); 37 | return v/4; 38 | } 39 | 40 | 41 | void loop() 42 | { 43 | 44 | adc_msg.adc0 = averageAnalog(xpin); 45 | adc_msg.adc1 = averageAnalog(ypin); 46 | adc_msg.adc2 = averageAnalog(zpin); 47 | 48 | 49 | pub.publish(&adc_msg); 50 | 51 | nh.spinOnce(); 52 | 53 | delay(10); 54 | 55 | } 56 | -------------------------------------------------------------------------------- /chapter_7_codes/Hello_Publisher/Hello_Publisher.ino: -------------------------------------------------------------------------------- 1 | 2 | 3 | #include 4 | #include 5 | 6 | 7 | 8 | ros::NodeHandle nh; 9 | 10 | std_msgs::String str_msg; 11 | 12 | ros::Publisher chatter("chatter", &str_msg); 13 | 14 | void callback ( const std_msgs::String& msg){ 15 | 16 | str_msg.data = msg.data; 17 | chatter.publish( &str_msg ); 18 | 19 | } 20 | 21 | ros::Subscriber sub("talker", callback); 22 | 23 | 24 | void setup() 25 | { 26 | nh.initNode(); 27 | nh.advertise(chatter); 28 | nh.subscribe(sub); 29 | } 30 | 31 | void loop() 32 | { 33 | nh.spinOnce(); 34 | delay(3); 35 | } 36 | -------------------------------------------------------------------------------- /chapter_7_codes/Odom/Odom.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * rosserial Planar Odometry Example 3 | */ 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | ros::NodeHandle nh; 11 | 12 | geometry_msgs::TransformStamped t; 13 | tf::TransformBroadcaster broadcaster; 14 | 15 | double x = 1.0; 16 | double y = 0.0; 17 | double theta = 1.57; 18 | 19 | char base_link[] = "/base_link"; 20 | char odom[] = "/odom"; 21 | 22 | void setup() 23 | { 24 | nh.initNode(); 25 | broadcaster.init(nh); 26 | } 27 | 28 | void loop() 29 | { 30 | // drive in a circle 31 | double dx = 0.2; 32 | double dtheta = 0.18; 33 | x += cos(theta)*dx*0.1; 34 | y += sin(theta)*dx*0.1; 35 | theta += dtheta*0.1; 36 | if(theta > 3.14) 37 | theta=-3.14; 38 | 39 | // tf odom->base_link 40 | t.header.frame_id = odom; 41 | t.child_frame_id = base_link; 42 | 43 | t.transform.translation.x = x; 44 | t.transform.translation.y = y; 45 | 46 | t.transform.rotation = tf::createQuaternionFromYaw(theta); 47 | t.header.stamp = nh.now(); 48 | 49 | broadcaster.sendTransform(t); 50 | nh.spinOnce(); 51 | 52 | delay(10); 53 | } 54 | -------------------------------------------------------------------------------- /chapter_7_codes/ROS_Odroid_Examples/blink_led/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(blink_led) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | roscpp 6 | std_msgs 7 | ) 8 | 9 | find_package(Boost REQUIRED COMPONENTS system) 10 | 11 | 12 | include_directories( 13 | ${catkin_INCLUDE_DIRS} 14 | "/usr/local/include" 15 | ) 16 | 17 | #INCLUDE_DIRECTORIES("/usr/local/include") 18 | LINK_DIRECTORIES("/usr/local/lib") 19 | 20 | 21 | 22 | add_executable(blink_led_node src/blink.cpp) 23 | 24 | target_link_libraries(blink_led_node 25 | ${catkin_LIBRARIES} wiringPi 26 | ) 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /chapter_7_codes/ROS_Odroid_Examples/blink_led/src/blink.cpp: -------------------------------------------------------------------------------- 1 | #include "ros/ros.h" 2 | #include "std_msgs/Bool.h" 3 | 4 | #include 5 | #include "wiringPi.h" 6 | 7 | //Wiring PI 1 8 | #define LED 1 9 | 10 | void blink_callback(const std_msgs::Bool::ConstPtr& msg) 11 | { 12 | 13 | 14 | if(msg->data == 1){ 15 | 16 | ROS_INFO("LED ON"); 17 | digitalWrite (LED, HIGH) ; 18 | } 19 | 20 | if(msg->data == 0){ 21 | 22 | ROS_INFO("LED OFF"); 23 | digitalWrite (LED, LOW) ; 24 | } 25 | 26 | 27 | } 28 | 29 | 30 | 31 | int main(int argc, char** argv) 32 | { 33 | 34 | 35 | ros::init(argc, argv,"blink_led"); 36 | 37 | ROS_INFO("Started Odroid-C1 Blink Node"); 38 | 39 | wiringPiSetup (); 40 | pinMode(LED, OUTPUT); 41 | 42 | 43 | ros::NodeHandle n; 44 | 45 | ros::Subscriber sub = n.subscribe("led_blink",10,blink_callback); 46 | 47 | 48 | ros::spin(); 49 | 50 | 51 | 52 | 53 | 54 | 55 | } 56 | 57 | -------------------------------------------------------------------------------- /chapter_7_codes/ROS_Odroid_Examples/ros_wiring_examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(ros_wiring_examples) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | roscpp 6 | std_msgs 7 | ) 8 | 9 | find_package(Boost REQUIRED COMPONENTS system) 10 | 11 | 12 | set(wiringPi_include "/usr/local/include") 13 | 14 | 15 | include_directories( 16 | ${catkin_INCLUDE_DIRS} 17 | ${wiringPi_include} 18 | ) 19 | 20 | LINK_DIRECTORIES("/usr/local/lib") 21 | 22 | 23 | add_executable(blink_led src/blink.cpp) 24 | 25 | add_executable(button_led src/button.cpp) 26 | 27 | target_link_libraries(blink_led 28 | ${catkin_LIBRARIES} wiringPi 29 | ) 30 | 31 | target_link_libraries(button_led 32 | ${catkin_LIBRARIES} wiringPi 33 | ) 34 | 35 | -------------------------------------------------------------------------------- /chapter_7_codes/ROS_Odroid_Examples/ros_wiring_examples/src/blink.cpp: -------------------------------------------------------------------------------- 1 | #include "ros/ros.h" 2 | #include "std_msgs/Bool.h" 3 | 4 | #include 5 | #include "wiringPi.h" 6 | 7 | //Wiring PI 1 8 | #define LED 1 9 | 10 | void blink_callback(const std_msgs::Bool::ConstPtr& msg) 11 | { 12 | 13 | 14 | if(msg->data == 1){ 15 | 16 | digitalWrite (LED, HIGH) ; 17 | ROS_INFO("LED ON"); 18 | 19 | 20 | } 21 | 22 | if(msg->data == 0){ 23 | 24 | digitalWrite (LED, LOW) ; 25 | ROS_INFO("LED OFF"); 26 | 27 | } 28 | 29 | 30 | } 31 | 32 | 33 | 34 | int main(int argc, char** argv) 35 | { 36 | 37 | 38 | ros::init(argc, argv,"blink_led"); 39 | 40 | ROS_INFO("Started Odroid-C1 Blink Node"); 41 | 42 | wiringPiSetup (); 43 | pinMode(LED, OUTPUT); 44 | 45 | 46 | ros::NodeHandle n; 47 | 48 | ros::Subscriber sub = n.subscribe("led_blink",10,blink_callback); 49 | 50 | 51 | ros::spin(); 52 | 53 | 54 | 55 | 56 | 57 | 58 | } 59 | 60 | -------------------------------------------------------------------------------- /chapter_7_codes/Ultrasonic/Untitled Sketch 2.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_7_codes/Ultrasonic/Untitled Sketch 2.fzz -------------------------------------------------------------------------------- /chapter_8_codes/cv_bridge_tutorial_pkg/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(cv_bridge_tutorial_pkg) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | cv_bridge 6 | image_transport 7 | roscpp 8 | sensor_msgs 9 | std_msgs 10 | ) 11 | 12 | find_package(OpenCV REQUIRED) 13 | catkin_package() 14 | include_directories( 15 | ${catkin_INCLUDE_DIRS} 16 | ${OpenCV_INCLUDE_DIRS} 17 | ) 18 | 19 | add_executable(sample_cv_bridge_node src/sample_cv_bridge_node.cpp) 20 | target_link_libraries(sample_cv_bridge_node 21 | ${catkin_LIBRARIES} 22 | ${OpenCV_LIBRARIES} 23 | ) 24 | 25 | 26 | -------------------------------------------------------------------------------- /chapter_8_codes/head_camera.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 480 3 | camera_name: head_camera 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [707.1953043273086, 0, 346.4560078627374, 0, 709.5783421541863, 240.0112155124814, 0, 0, 1] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [0.1779688561999974, -0.9681558538432319, 0.004497434720139909, 0.0106588921249554, 0] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [1, 0, 0, 0, 1, 0, 0, 0, 1] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [697.5267333984375, 0, 353.9677879190494, 0, 0, 714.7203979492188, 240.6829465337159, 0, 0, 0, 1, 0] -------------------------------------------------------------------------------- /chapter_8_codes/hokuyo_start.launch.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /chapter_8_codes/pcl_ros_tutorial/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(pcl_ros_tutorial) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | pcl_ros 6 | roscpp 7 | sensor_msgs 8 | ) 9 | 10 | include_directories( 11 | ${catkin_INCLUDE_DIRS} 12 | ) 13 | 14 | ## Declare a cpp executable 15 | add_executable(pcl_publisher_node src/pcl_publisher.cpp) 16 | add_executable(pcl_filter src/pcl_filter.cpp) 17 | add_executable(pcl_write src/pcl_write.cpp) 18 | add_executable(pcl_read src/pcl_read.cpp) 19 | 20 | target_link_libraries(pcl_publisher_node 21 | ${catkin_LIBRARIES} 22 | ) 23 | 24 | target_link_libraries(pcl_filter 25 | ${catkin_LIBRARIES} 26 | ) 27 | target_link_libraries(pcl_write 28 | ${catkin_LIBRARIES} 29 | ) 30 | target_link_libraries(pcl_read 31 | ${catkin_LIBRARIES} 32 | ) 33 | 34 | -------------------------------------------------------------------------------- /chapter_8_codes/pcl_ros_tutorial/src/pcl_read.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | main(int argc, char **argv) 8 | { 9 | ros::init (argc, argv, "pcl_read"); 10 | 11 | ROS_INFO("Started PCL read node"); 12 | 13 | ros::NodeHandle nh; 14 | ros::Publisher pcl_pub = nh.advertise ("pcl_output", 1); 15 | 16 | sensor_msgs::PointCloud2 output; 17 | pcl::PointCloud cloud; 18 | 19 | pcl::io::loadPCDFile ("test.pcd", cloud); 20 | 21 | pcl::toROSMsg(cloud, output); 22 | output.header.frame_id = "point_cloud"; 23 | 24 | ros::Rate loop_rate(1); 25 | while (ros::ok()) 26 | { 27 | pcl_pub.publish(output); 28 | ros::spinOnce(); 29 | loop_rate.sleep(); 30 | } 31 | 32 | return 0; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /chapter_8_codes/pcl_ros_tutorial/src/pcl_write.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | void cloudCB(const sensor_msgs::PointCloud2 &input) 8 | { 9 | pcl::PointCloud cloud; 10 | pcl::fromROSMsg(input, cloud); 11 | pcl::io::savePCDFileASCII ("test.pcd", cloud); 12 | } 13 | 14 | main (int argc, char **argv) 15 | { 16 | ros::init (argc, argv, "pcl_write"); 17 | 18 | ROS_INFO("Started PCL write node"); 19 | 20 | ros::NodeHandle nh; 21 | ros::Subscriber bat_sub = nh.subscribe("pcl_output", 10, cloudCB); 22 | 23 | ros::spin(); 24 | 25 | return 0; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /chapter_8_codes/usb_cam-test.launch.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/bag_encoder.bag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/bag_encoder.bag -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/gmapping_demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/includes/move_base.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/includes/safety_controller.launch.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/includes/velocity_smoother.launch.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/keyboard_teleop.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/model_robot.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/view_navigation.launch: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/launch/view_robot.launch: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/map/hotel1.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_bringup/map/hotel1.pgm -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/map/hotel1.yaml: -------------------------------------------------------------------------------- 1 | image: /home/lentin/hotel1.pgm 2 | resolution: 0.050000 3 | origin: [-12.200000, -12.200000, 0.000000] 4 | negate: 0 5 | occupied_thresh: 0.65 6 | free_thresh: 0.196 7 | 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/param/base_local_planner_params.yaml: -------------------------------------------------------------------------------- 1 | TrajectoryPlannerROS: 2 | 3 | # Robot Configuration Parameters 4 | max_vel_x: 0.3 5 | min_vel_x: 0.1 6 | 7 | max_vel_theta: 1.0 8 | min_vel_theta: -1.0 9 | min_in_place_vel_theta: 0.6 10 | 11 | acc_lim_x: 0.5 12 | acc_lim_theta: 1.0 13 | 14 | # Goal Tolerance Parameters 15 | yaw_goal_tolerance: 0.3 16 | xy_goal_tolerance: 0.15 17 | 18 | # Forward Simulation Parameters 19 | sim_time: 3.0 20 | vx_samples: 6 21 | vtheta_samples: 20 22 | 23 | # Trajectory Scoring Parameters 24 | meter_scoring: true 25 | pdist_scale: 0.6 26 | gdist_scale: 0.8 27 | occdist_scale: 0.01 28 | heading_lookahead: 0.325 29 | dwa: true 30 | 31 | # Oscillation Prevention Parameters 32 | oscillation_reset_dist: 0.05 33 | 34 | # Differential-drive robot configuration 35 | holonomic_robot: false 36 | max_vel_y: 0.0 37 | min_vel_y: 0.0 38 | acc_lim_y: 0.0 39 | vy_samples: 1 40 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/param/global_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | global_costmap: 2 | global_frame: /map 3 | robot_base_frame: /base_footprint 4 | update_frequency: 1.0 5 | publish_frequency: 0.5 6 | static_map: true 7 | transform_tolerance: 0.5 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/param/local_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | local_costmap: 2 | global_frame: odom 3 | robot_base_frame: /base_footprint 4 | update_frequency: 5.0 5 | publish_frequency: 2.0 6 | static_map: false 7 | rolling_window: true 8 | width: 4.0 9 | height: 4.0 10 | resolution: 0.05 11 | transform_tolerance: 0.5 12 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/param/move_base_params.yaml: -------------------------------------------------------------------------------- 1 | # Move base node parameters. For full documentation of the parameters in this file, please see 2 | # 3 | # http://www.ros.org/wiki/move_base 4 | # 5 | shutdown_costmaps: false 6 | 7 | controller_frequency: 5.0 8 | controller_patience: 3.0 9 | 10 | planner_frequency: 1.0 11 | planner_patience: 5.0 12 | 13 | oscillation_timeout: 10.0 14 | oscillation_distance: 0.2 15 | 16 | # local planner - default is trajectory rollout 17 | base_local_planner: "dwa_local_planner/DWAPlannerROS" 18 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/param/mux.yaml: -------------------------------------------------------------------------------- 1 | # Created on: Oct 29, 2012 2 | # Author: jorge 3 | # Configuration for subscribers to multiple cmd_vel sources. 4 | # 5 | # Individual subscriber configuration: 6 | # name: Source name 7 | # topic: The topic that provides cmd_vel messages 8 | # timeout: Time in seconds without incoming messages to consider this topic inactive 9 | # priority: Priority: an UNIQUE unsigned integer from 0 (lowest) to MAX_INT 10 | # short_desc: Short description (optional) 11 | 12 | subscribers: 13 | - name: "Safe reactive controller" 14 | topic: "input/safety_controller" 15 | timeout: 0.2 16 | priority: 10 17 | - name: "Teleoperation" 18 | topic: "input/teleop" 19 | timeout: 1.0 20 | priority: 7 21 | - name: "Navigation" 22 | topic: "input/navi" 23 | timeout: 1.0 24 | priority: 5 25 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/param/teleop.yaml: -------------------------------------------------------------------------------- 1 | linearAxisIndex: 3 2 | angularAxisIndex: 2 3 | linearScalingFactor: 0.4 4 | angularScalingFactor: 0.5 5 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/scripts/SerialDataGateway.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_bringup/scripts/SerialDataGateway.pyc -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/scripts/bkup_working/SerialDataGateway.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_bringup/scripts/bkup_working/SerialDataGateway.pyc -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_bringup/scripts/bkup_working/velocityLogger.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_bringup/scripts/bkup_working/velocityLogger.pyc -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_description/meshes/create_body.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_description/meshes/create_body.tga -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_description/robots/chefbot_circles_kinect.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_description/robots/roomba_circles_kinect.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_description/urdf/chefbot_base.xacro: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/launch/amcl_demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/launch/gmapping_demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/maps/playground.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/maps/playground.pgm -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/maps/playground.yaml: -------------------------------------------------------------------------------- 1 | free_thresh: 0.196 2 | image: playground.pgm 3 | negate: 0 4 | occupied_thresh: 0.65 5 | origin: [-6.8999999999999915, -5.8999999999999915, 0.0] 6 | resolution: 0.05 7 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/maps/room.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/maps/room.pgm -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/maps/room.yaml: -------------------------------------------------------------------------------- 1 | image: room.pgm 2 | resolution: 0.010000 3 | origin: [-11.560000, -11.240000, 0.000000] 4 | negate: 0 5 | occupied_thresh: 0.65 6 | free_thresh: 0.196 7 | 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot/chefbot_simulator/chefbot_gazebo/worlds/empty_.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://sun 7 | 8 | 9 | 10 | model://ground_plane 11 | 12 | 13 | 14 | 0.01 15 | 1 16 | 100 17 | 0 0 -9.8 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/gmapping_demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/includes/move_base.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/includes/safety_controller.launch.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/includes/velocity_smoother.launch.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/keyboard_teleop.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/model_robot.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/view_navigation.launch: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/launch/view_robot.launch: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/map/hotel1.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_bringup/map/hotel1.pgm -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/map/hotel1.yaml: -------------------------------------------------------------------------------- 1 | image: /home/lentin/hotel1.pgm 2 | resolution: 0.050000 3 | origin: [-12.200000, -12.200000, 0.000000] 4 | negate: 0 5 | occupied_thresh: 0.65 6 | free_thresh: 0.196 7 | 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 39 4 | /svn/!svn/ver/107/trunk/ros/ardros/info 5 | END 6 | global_costmap_params.yaml 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 66 10 | /svn/!svn/ver/105/trunk/ros/ardros/info/global_costmap_params.yaml 11 | END 12 | ardros.yaml 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 51 16 | /svn/!svn/ver/105/trunk/ros/ardros/info/ardros.yaml 17 | END 18 | joystick.yaml 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 52 22 | /svn/!svn/ver/54/trunk/ros/ardros/info/joystick.yaml 23 | END 24 | costmap_common_params.yaml 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 66 28 | /svn/!svn/ver/107/trunk/ros/ardros/info/costmap_common_params.yaml 29 | END 30 | local_costmap_params.yaml 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 65 34 | /svn/!svn/ver/105/trunk/ros/ardros/info/local_costmap_params.yaml 35 | END 36 | base_local_planner_params.yaml 37 | K 25 38 | svn:wc:ra_dav:version-url 39 | V 70 40 | /svn/!svn/ver/107/trunk/ros/ardros/info/base_local_planner_params.yaml 41 | END 42 | teleop.yaml 43 | K 25 44 | svn:wc:ra_dav:version-url 45 | V 50 46 | /svn/!svn/ver/54/trunk/ros/ardros/info/teleop.yaml 47 | END 48 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/.svn/text-base/costmap_common_params.yaml.svn-base: -------------------------------------------------------------------------------- 1 | # for details see: http://www.ros.org/wiki/navigation/Tutorials/RobotSetup 2 | 3 | obstacle_range: 2.5 4 | raytrace_range: 3.0 5 | footprint: [[0.265, 0.278], [0.04, 0.193], [-0.04, 0.193], [-0.282, 0.178], [-0.282, -0.178], [-0.04, -0.193], [0.04, -0.193], [0.265, -0.278]] 6 | #footprint: [[0.075, 0.178], [0.04, 0.193], [-0.04, 0.193], [-0.282, 0.178], [-0.282, -0.178], [-0.04, -0.193], [0.04, -0.193], [0.075, -0.178]] 7 | #robot_radius: ir_of_robot 8 | inflation_radius: 0.4 9 | 10 | observation_sources: laser_scan_sensor 11 | 12 | laser_scan_sensor: {sensor_frame: openni_depth_frame, data_type: LaserScan, topic: scan, marking: true, clearing: true} 13 | 14 | map_type: costmap 15 | transform_tolerance: 0.4 # seconds 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/.svn/text-base/global_costmap_params.yaml.svn-base: -------------------------------------------------------------------------------- 1 | global_costmap: 2 | global_frame: /map 3 | robot_base_frame: base_link 4 | update_frequency: 2.0 5 | static_map: true 6 | 7 | transform_tolerance: 0.5 # seconds 8 | publish_frequency: 1.0 9 | 10 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/.svn/text-base/joystick.yaml.svn-base: -------------------------------------------------------------------------------- 1 | dev: /dev/input/js0 2 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/.svn/text-base/local_costmap_params.yaml.svn-base: -------------------------------------------------------------------------------- 1 | local_costmap: 2 | global_frame: /odom 3 | robot_base_frame: /base_link 4 | update_frequency: 5.0 5 | publish_frequency: 2.0 6 | static_map: false 7 | rolling_window: true 8 | width: 4.0 9 | height: 4.0 10 | # origin_x: -0.115 11 | resolution: 0.05 12 | transform_tolerance: 0.5 # seconds 13 | 14 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/.svn/text-base/teleop.yaml.svn-base: -------------------------------------------------------------------------------- 1 | linearAxisIndex: 3 2 | angularAxisIndex: 2 3 | linearScalingFactor: 0.4 4 | angularScalingFactor: 0.5 5 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/base_local_planner_params.yaml: -------------------------------------------------------------------------------- 1 | TrajectoryPlannerROS: 2 | 3 | # Robot Configuration Parameters 4 | max_vel_x: 0.3 5 | min_vel_x: 0.1 6 | 7 | max_vel_theta: 1.0 8 | min_vel_theta: -1.0 9 | min_in_place_vel_theta: 0.6 10 | 11 | acc_lim_x: 0.5 12 | acc_lim_theta: 1.0 13 | 14 | # Goal Tolerance Parameters 15 | yaw_goal_tolerance: 0.3 16 | xy_goal_tolerance: 0.15 17 | 18 | # Forward Simulation Parameters 19 | sim_time: 3.0 20 | vx_samples: 6 21 | vtheta_samples: 20 22 | 23 | # Trajectory Scoring Parameters 24 | meter_scoring: true 25 | pdist_scale: 0.6 26 | gdist_scale: 0.8 27 | occdist_scale: 0.01 28 | heading_lookahead: 0.325 29 | dwa: true 30 | 31 | # Oscillation Prevention Parameters 32 | oscillation_reset_dist: 0.05 33 | 34 | # Differential-drive robot configuration 35 | holonomic_robot: false 36 | max_vel_y: 0.0 37 | min_vel_y: 0.0 38 | acc_lim_y: 0.0 39 | vy_samples: 1 40 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/board_config.yaml: -------------------------------------------------------------------------------- 1 | port: /dev/ttyACM0 2 | #port: /dev/ttyUSB0 3 | baudRate: 115200 4 | 5 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/encoders.yaml: -------------------------------------------------------------------------------- 1 | port: /dev/ttyUSB1 2 | baudRate: 115200 3 | # trackwidth [m], distancePerCount [m] 4 | # http://learn.parallax.com/activitybot/calculating-angles-rotation 5 | # Distance Per Tick for Arlo: http://forums.parallax.com/showthread.php/154274-The-quot-Artist-quot-robot?p=1271544&viewfull=1#post1271544 6 | # Track Width for Arlo is from measurement and then testing 7 | #driveGeometry: {trackWidth: 0.403, distancePerCount: 0.00676} 8 | driveGeometry: {trackWidth: 0.3, distancePerCount: 0.00676} 9 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/global_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | global_costmap: 2 | global_frame: /map 3 | robot_base_frame: /base_footprint 4 | update_frequency: 1.0 5 | publish_frequency: 0.5 6 | static_map: true 7 | transform_tolerance: 0.5 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/joystick.yaml: -------------------------------------------------------------------------------- 1 | dev: /dev/input/js0 2 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/local_costmap_params.yaml: -------------------------------------------------------------------------------- 1 | local_costmap: 2 | global_frame: odom 3 | robot_base_frame: /base_footprint 4 | update_frequency: 5.0 5 | publish_frequency: 2.0 6 | static_map: false 7 | rolling_window: true 8 | width: 4.0 9 | height: 4.0 10 | resolution: 0.05 11 | transform_tolerance: 0.5 12 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/move_base_params.yaml: -------------------------------------------------------------------------------- 1 | # Move base node parameters. For full documentation of the parameters in this file, please see 2 | # 3 | # http://www.ros.org/wiki/move_base 4 | # 5 | shutdown_costmaps: false 6 | 7 | controller_frequency: 5.0 8 | controller_patience: 3.0 9 | 10 | planner_frequency: 1.0 11 | planner_patience: 5.0 12 | 13 | oscillation_timeout: 10.0 14 | oscillation_distance: 0.2 15 | 16 | # local planner - default is trajectory rollout 17 | base_local_planner: "dwa_local_planner/DWAPlannerROS" 18 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/mux.yaml: -------------------------------------------------------------------------------- 1 | # Created on: Oct 29, 2012 2 | # Author: jorge 3 | # Configuration for subscribers to multiple cmd_vel sources. 4 | # 5 | # Individual subscriber configuration: 6 | # name: Source name 7 | # topic: The topic that provides cmd_vel messages 8 | # timeout: Time in seconds without incoming messages to consider this topic inactive 9 | # priority: Priority: an UNIQUE unsigned integer from 0 (lowest) to MAX_INT 10 | # short_desc: Short description (optional) 11 | 12 | subscribers: 13 | - name: "Safe reactive controller" 14 | topic: "input/safety_controller" 15 | timeout: 0.2 16 | priority: 10 17 | - name: "Teleoperation" 18 | topic: "input/teleop" 19 | timeout: 1.0 20 | priority: 7 21 | - name: "Navigation" 22 | topic: "input/navi" 23 | timeout: 1.0 24 | priority: 5 25 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/serial.yaml: -------------------------------------------------------------------------------- 1 | port: /dev/ttyACM0 2 | baudRate: 115200 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/param/teleop.yaml: -------------------------------------------------------------------------------- 1 | linearAxisIndex: 3 2 | angularAxisIndex: 2 3 | linearScalingFactor: 0.4 4 | angularScalingFactor: 0.5 5 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/scripts/SerialDataGateway.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_bringup/scripts/SerialDataGateway.pyc -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/scripts/bkup_working/SerialDataGateway.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_bringup/scripts/bkup_working/SerialDataGateway.pyc -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_bringup/scripts/bkup_working/velocityLogger.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_bringup/scripts/bkup_working/velocityLogger.pyc -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_description/meshes/create_body.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_description/meshes/create_body.tga -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_description/robots/chefbot_circles_kinect.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_description/robots/roomba_circles_kinect.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_description/urdf/chefbot_base.xacro: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/launch/amcl_demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/launch/gmapping_demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/maps/playground.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/maps/playground.pgm -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/maps/playground.yaml: -------------------------------------------------------------------------------- 1 | free_thresh: 0.196 2 | image: playground.pgm 3 | negate: 0 4 | occupied_thresh: 0.65 5 | origin: [-6.8999999999999915, -5.8999999999999915, 0.0] 6 | resolution: 0.05 7 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/maps/room.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/maps/room.pgm -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/maps/room.yaml: -------------------------------------------------------------------------------- 1 | image: room.pgm 2 | resolution: 0.010000 3 | origin: [-11.560000, -11.240000, 0.000000] 4 | negate: 0 5 | occupied_thresh: 0.65 6 | free_thresh: 0.196 7 | 8 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/worlds/empty.world__empty: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://sun 7 | 8 | 9 | 10 | model://ground_plane 11 | 12 | 13 | 14 | 0.01 15 | 1 16 | 100 17 | 0 0 -9.8 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /chapter_9_codes/chefbot/chefbot_simulator/chefbot_gazebo/worlds/empty_.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://sun 7 | 8 | 9 | 10 | model://ground_plane 11 | 12 | 13 | 14 | 0.01 15 | 1 16 | 100 17 | 0 0 -9.8 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/README.md: -------------------------------------------------------------------------------- 1 | # mastering_ros_robot_description_pkg 2 | 3 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/launch/view_arm.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/launch/view_mobile_robot.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_urdf.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/launch/view_pan_tilt_xacro.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/mastering_ros_robot_description_pkg/meshes/caster_wheel.stl -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/mastering_ros_robot_description_pkg/meshes/sensors/xtion_pro_live/xtion_pro_live.png -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/mastering_ros_robot_description_pkg/urdf/differential_wheeled_robot.pdf -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Gazebo/Blue 28 | 29 | 30 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/urdf/grasp_object.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | Gazebo/Blue 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /chapter_9_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/mastering_ros_robot_description_pkg/urdf/seven_dof_arm.pdf -------------------------------------------------------------------------------- /chapter_9_codes/tiva_c_energia_code_final/MPU6050.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qboticslabs/mastering_ros/d83e78f30acc45b0f18522c1d5fae3a7f52974b9/chapter_9_codes/tiva_c_energia_code_final/MPU6050.zip --------------------------------------------------------------------------------