I am pleased to announce a new ROS Online Course, this course is a ROS robot programming guide based on the experiences we had accumulated from ROS projects like TurtleBot3, OpenCR and OpenManipulator. We tried to make this a comprehensive guide that covers all aspects necessary for a beginner in ROS. Topics such as embedded system, mobile robots, and robot arms programmed with ROS are included. For those who are new to ROS, there are footnotes throughout the “ROS Robot Programming” Handbook providing more information on the web. Through this course and book, we hope that more people will be aware of and participate in bringing forward the ever-accelerating collective knowledge of Robotics Engineering. Enjoy this summer studying ROS!
Free Online Course!
Basic ROS learning from basics, simulators, applied to real robots!
We share a 500-page book for free!
All lecture materials and source code are opened!
What you will learn from this course
From the basic concept to practical robot application programming!
ROS Basic concept, instructions and tools
How to use sensor and actuator packages on ROS
Embedded board for ROS : OpenCR1.0
SLAM & Navigation with TurtleBot3
How to program a delivery robot using ROS Java
OpenManipulator simulation using MoveIt! and Gazebo
This Handbook is written for college students and graduate students who want to learn robot programming based on ROS (Robot Operating system) and also for professional researchers and engineers who work on robot development or software programming.
We have tried to offer detailed information we learned while working on TurtleBot3 and OpenManipulator. We hope this book will be the complete handbook for beginners in ROS and more people will contribute to the ever-growing community of open robotics.
Chapter 01 Robot Software Platform
Chapter 02 Robot Operating System
Chapter 03 Configuring the ROS Development Environment
It crashes.I am running on a VMWare virtual machine that so far has operated perfectly. Can you tell what is going on? Here’s the output I get
.. logging to /home/pitosalas/.ros/log/b19a483e-8e8c-11e8-8d5b-000c294e64db/roslaunch-ubuntu-2147.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://localhost:38743/
SUMMARY
========
PARAMETERS
* /robot_description: <?xml version="1....
* /rosdistro: kinetic
* /rosversion: 1.12.13
* /use_sim_time: True
NODES
/
gazebo (gazebo_ros/gzserver)
gazebo_gui (gazebo_ros/gzclient)
spawn_urdf (gazebo_ros/spawn_model)
auto-starting new master
process[master]: started with pid [2161]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to b19a483e-8e8c-11e8-8d5b-000c294e64db
process[rosout-1]: started with pid [2176]
started core service [/rosout]
process[gazebo-2]: started with pid [2179]
process[gazebo_gui-3]: started with pid [2203]
process[spawn_urdf-4]: started with pid [2210]
[ INFO] [1532359559.024952460]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1532359559.036003877]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1532359559.146464699]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1532359559.153471537]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
Warning [parser.cc:778] XML Element[scene], child of element[sdf] not defined in SDF. Ignoring[scene]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
[ INFO] [1532359560.766144901, 0.021000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1532359562.952997443, 0.118000000]: Physics dynamic reconfigure ready.
[ INFO] [1532359562.975617024, 0.118000000]: Laser Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1532359562.977520632, 0.118000000]: Starting Laser Plugin (ns = /)
[ INFO] [1532359562.988809846, 0.118000000]: Laser Plugin (ns = /) <tf_prefix_>, set to ""
[ INFO] [1532359563.056013764, 0.118000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1532359563.065542494, 0.118000000]: DiffDrive(ns = //): <rosDebugLevel> = na
[ INFO] [1532359563.068763998, 0.118000000]: DiffDrive(ns = //): <tf_prefix> =
[ WARN] [1532359563.070802609, 0.118000000]: DiffDrive(ns = //): missing <publishOdomTF> default is ture
[ WARN] [1532359563.071377870, 0.118000000]: DiffDrive(ns = //): missing <odometrySource> default is 1
[ INFO] [1532359563.073687296, 0.118000000]: DiffDrive(ns = //): Advertise joint_states
[ INFO] [1532359563.076432379, 0.118000000]: DiffDrive(ns = //): Try to subscribe to cmd_vel
[ INFO] [1532359563.088830172, 0.118000000]: DiffDrive(ns = //): Subscribe to cmd_vel
[ INFO] [1532359563.093699358, 0.118000000]: DiffDrive(ns = //): Advertise odom on odom
[ INFO] [1532359563.173780309, 0.141000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[spawn_urdf-4] process has finished cleanly
log file: /home/pitosalas/.ros/log/b19a483e-8e8c-11e8-8d5b-000c294e64db/spawn_urdf-4*.log
[ INFO] [1532359563.282893935, 0.180000000]: Physics dynamic reconfigure ready.
VMware: vmw_ioctl_command error Invalid argument.
Aborted (core dumped)
[gazebo_gui-3] process has died [pid 2203, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/pitosalas/.ros/log/b19a483e-8e8c-11e8-8d5b-000c294e64db/gazebo_gui-3.log].
log file: /home/pitosalas/.ros/log/b19a483e-8e8c-11e8-8d5b-000c294e64db/gazebo_gui-3*.log
Then I clicked control-c and got this:
[gazebo_gui-3] process has died [pid 2203, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/pitosalas/.ros/log/b19a483e-8e8c-11e8-8d5b-000c294e64db/gazebo_gui-3.log].
log file: /home/pitosalas/.ros/log/b19a483e-8e8c-11e8-8d5b-000c294e64db/gazebo_gui-3*.log
^C[gazebo-2] killing on exit
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
[gazebo-2] escalating to SIGTERM
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done