No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
Repository Summary
| Checkout URI | https://github.com/OTL/rosruby_common.git |
| VCS Type | git |
| VCS Version | hydro-devel |
| Last Updated | 2013-10-21 |
| Dev Status | UNMAINTAINED |
| Released | RELEASED |
Packages
| Name | Version |
|---|---|
| rosruby_actionlib | 0.1.3 |
| rosruby_common | 0.1.3 |
| rosruby_tutorials | 0.1.3 |
README
rosruby_common
rosruby common libraries (tf/actionlib/tutorial). rosruby_tutorials contains samples of rosruby.
actionlib
actionlib provides a standardized interface for interfacing with preemptible tasks.
simple action server
#!/usr/bin/env ruby
require 'ros'
ROS::load_manifest("rosruby_actionlib")
require 'actionlib/simple_action_server'
require 'actionlib_tutorials/FibonacciAction'
node = ROS::Node.new('/test_simple_action_server')
server = Actionlib::SimpleActionServer.new(node,
'/fibonacci',
Actionlib_tutorials::FibonacciAction)
server.start do |goal|
feedback = Actionlib_tutorials::FibonacciFeedback.new
feedback.sequence = [0, 1]
r = ROS::Rate.new(1.0)
for i in 1..goal.order
feedback.sequence.push(feedback.sequence[i] + feedback.sequence[i-1])
server.publish_feedback(feedback)
node.loginfo("feedback = [#{feedback.sequence.join(",")}]")
r.sleep
end
result = Actionlib_tutorials::FibonacciResult.new
result.sequence = feedback.sequence
server.set_succeeded(result)
end
node.spin
simple action client
#!/usr/bin/env ruby
require 'ros'
ROS::load_manifest("rosruby_actionlib")
require 'actionlib/simple_action_client'
require 'actionlib_tutorials/FibonacciAction'
node = ROS::Node.new('/test_simple_action_client')
client = Actionlib::SimpleActionClient.new(node,
'/fibonacci',
Actionlib_tutorials::FibonacciAction)
client.wait_for_server(1.0)
goal = Actionlib_tutorials::FibonacciGoal.new
goal.order = 5
client.send_goal(goal,
:feedback_callback => proc {|feedback|
node.loginfo("feedback = [#{feedback.sequence.join(",")}]")
})
result = client.wait_for_result(10.0)
node.loginfo("result = #{result.sequence.join(",")}")