ros::object
- :super propertied-object
- :slots nil
:init
:md5sum-
:datatype-
ros::time
- :super ros::object
- :slots ros::sec-nsec
:init
&key ((:sec ros::_sec) 0)
((:nsec ros::_nsec) 0)
- ros::time represents ROS time primitive type, which consits of two integers, seconds and nanoseconds
:from-sec
ros::sec
- create new ros::time instance from a float seconds representation
:sec &optional ros::s
:nsec &optional ros::s
:sec-nsec
:now
:to-sec
:to-nsec
:from-nsec ros::nsec
:prin1 &optional (ros::strm t) &rest ros::msgs
ros::timer-event
- :super propertied-object
- :slots ros::last-expected ros::last-real ros::current-expected ros::current-real ros::last-duration
:init
:prin1 &optional (ros::strm t) &rest ros::msgs
:last-expected &rest args
:last-real &rest args
:current-expected &rest args
:current-real &rest args
:last-duration &rest args
ros::rate
- frequency
Construct ros timer for periodic sleeps
ros::ros-error
- write mesage to error output
ros::get-host
- Get the hostname where the master runs.
ros::get-uri
- Get the full URI to the master
ros::ok
- Check whether it's time to exit.
ros::spin
- Enter simple event loop
ros::ros-debug
- write mesage to debug output
(ros::ros-debug "this is error ~A" 0)
ros::unsubscribe
- topicname
Unsubscribe topic
ros::get-name
- Returns current node name
ros::unadvertise
- Unadvertise topic
ros::get-param-cached
- Get chached parameter
ros::get-namespace
- Returns current node name space
ros::spin-once
- &optional groupname ;; spin only group
Process a single round of callbacks.
ros::ros-info
- write mesage to info output
ros::resolve-name
- Returns ros resolved name
ros::get-topic-publisher
- topicname
Retuns the name of topic if it already published
ros::create-nodehandle
- groupname &optional namespace ;;
Create ros NodeHandle with given group name.
(ros::roseus "test") (ros::create-node-handle "mygroup") (ros::subscribe "/test" std_msgs::String #'(lambda (m) (print m)) :groupname "mygroup") (while (ros::ok) (ros::spin-once "mygroup"))
ros::subscribe
- topicname message_type callbackfunc args0 ... argsN &optional queuesize %key (:groupname groupname)
Subscribe to a topic, version for class member function with bare pointer.
This method connects to the master to register interest in a given topic. The node will automatically be connected with publishers on this topic. On each message receipt, fp is invoked and passed a shared pointer to the message received. This message should not be changed in place, as it is shared with any other subscriptions to this topic.
This version of subscribe is a convenience function for using function, member function, lmabda function:;; callback function (defun string-cb (msg) (print (list 'cb (sys::thread-self) (send msg :data)))) (ros::subscribe "chatter" std_msgs::string #'string-cb) ;; lambda function (ros::subscribe "chatter" std_msgs::string #'(lambda (msg) (ros::ros-info (format nil "I heard ~A" (send msg :data))))) ;; method call (defclass string-cb-class :super propertied-object :slots ()) (defmethod string-cb-class (:init () (ros::subscribe "chatter" std_msgs::string #'send self :string-cb)) (:string-cb (msg) (print (list 'cb self (send msg :data))))) (setq m (instance string-cb-class :init))
ros::advertise
- topic message_class &optional queuesize latch
Advertise a topic.
This call connects to the master to publicize that the node will be publishing messages on the given topic. This method returns a Publisher that allows you to publish a message on this topic.(ros::advertise "chatter" std_msgs::string 1)
ros::get-topic-subscriber
- topicname
Retuns the name of topic if it already subscribed
ros::get-topics
- Get the list of topics that are being published by all nodes.
ros::advertise-service
- servicename message_type callback function
Advertise a service(ros::advertise-service "add_two_ints" roseus::AddTwoInts #'add-two-ints)
ros::unadvertise-service
- Unadvertise service
ros::get-port
- Get the port where the master runs.
ros::get-num-publishers
- Returns the number of publishers this subscriber is connected to.
ros::delete-param
- key
Delete parameter from server
ros::ros-fatal
- write mesage to fatal output
ros::service-exists
- servicename
Checks if a service is both advertised and available.
ros::wait-for-service
- servicename &optional timeout
Wait for a service to be advertised and available. Blocks until it is.
ros::sleep
- Sleeps for any leftover time in a cycle. Calculated from the last time sleep, reset, or the constructor was called.
ros::get-num-subscribers
- Retuns number of subscribers this publish is connected to
ros::rospack-find
- Returns ros package path
ros::get-param
- key
Get parameter
ros::ros-warn
- write mesage to warn output
ros::get-nodes
- Retreives the currently-known list of nodes from the master.
ros::has-param
- Check whether a parameter exists on the parameter server.
ros::service-call
- servicename message_type &optional persist
Invoke RPC service(ros::roseus "add_two_ints_client") (ros::wait-for-service "add_two_ints") (setq req (instance roseus::AddTwoIntsRequest :init)) (send req :a (random 10)) (send req :b (random 20)) (setq res (ros::service-call "add_two_ints" req t)) (format t "~d + ~d = ~d~~%" (send req :a) (send req :b) (send res :sum))
ros::set-param
- key value
Set parameter
ros::rospack-plugins
- Returns plugins of ros packages
ros::publish
- topic message
Publish a message on the topic(ros::roseus "talker") (ros::advertise "chatter" std_msgs::string 1) (ros::rate 100) (while (ros::ok) (setq msg (instance std_msgs::string :init)) (send msg :data (format nil "hello world ~a" (send (ros::time-now) :sec-nsec))) (ros::publish "chatter" msg) (ros::sleep))
ros::roseus
name &key (ros::anonymous t)
(ros::logger ros.roseus)
(ros::level ros::rosinfo)
(args lisp::eustop-argument)
- Register roseus client node with the master under the specified name
ros::time
&optional (ros::sec 0)
- Create new ros::time instance
ros::time-now
- Create new ros::time instance representing current time
ros::time+
ros::a ros::b
- add ros::time
ros::time-
ros::a ros::b
- substruct ros::time
ros::time=
ros::a ros::b
- check if two ros::time is equal
ros::time>
ros::a ros::b
- check if given ros::time is greater then the others
ros::time>=
ros::a ros::b
- check if given ros::time is greater then or equal to the others
ros::time<
ros::a ros::b
- check if given ros::time is less then the others
ros::time<=
ros::a ros::b
- check if given ros::time is less the or equal to the others
ros::ros-message-destructuring-bind-parse-arg
ros::msg ros::params
- this function returns a list like ((symbol value) (symbol value) ...).
always the rank of list is 2
ros::_ros-message-destructuring-bind-parse-arg
ros::msg ros::param
- this function returns a list like ((symbol value) ((symbol value) ...))
ros::load-ros-package
ros::pkg
- load reqruied roseus files for given package
ros::roseus-sigint-handler ros::sig ros::code
ros::roseus-error ros::code ros::msg1 ros::form &optional (ros::msg2)
ros::ros-home-dir
ros::roseus-add-files ros::pkg type
ros::roseus-add-msgs ros::pkg
ros::roseus-add-srvs ros::pkg
ros::resolve-ros-path fname
load fname &rest args
ros::append-name-space &rest args
ros::ros-message-destructuring-bind-flatten-param ros::params
ros::ros-slot-ref ros::inst slot
ros::find-load-msg-path ros::pkg
ros::load-ros-manifest ros::pkg