0. Package Summary
Information from the robot base, and velocity and acceleration control, is implemented via a RosAria node, which publishes topics providing data recieved from the robot's embedded controller by ARIA, and sets desired velocity, acceleration and other commands in ARIA when new commands are received from command topics.
- Source: git https://github.com/amor-ros-pkg/rosaria.git (branch: master)
0.1 ROS API
ROS topics are channels by which other nodes can communicate with ROSARIA by sending or reading messages. For more information on ROS topics, see Topics and rostopic.
ROS services are channels by which other nodes can cause specific events to occur on the robot via ROSARIA. For more information on services, see Services and rosservice.
Parameters are used to configure the behavior of the RosAria node during initial startup of the node, such as how to connect to the robot controller. They may be set on the command line when running rosrun or in a launch file when using roslaunch. Parameters are stored by the ROS parameter server. See also Parameter Server, rosparam, rosrun and roslaunch.
Some parameters can also be dynamically changed using dynamic_reconfigure.
0.2 RosAria
Simple node that uses ARIA to control the robot
Subscribed Topics:
cmd_vel (geometry_msgs/Twist)
- receives new velocity commands. Desired velocities are set in ARIA; the robot will achieve and maintain these velocities. ARIA will continue to send the velocity commands to the robot controller, but if no cmd_vel messages are received after 600ms (configurable or disabled via cmd_vel_timeout parameter, see below), rosaria will stop the robot. So cmd_vel commands are only needed to change velocity, or to to reset the watchdog timeout.
Published Topics:
pose ( nav_msgs/Odometry )- publishes odometry information (rate depends on the robot, normally 10Hz)
- publishes bumper states (thanks to Arturo Ribes of the Spanish National Research Council)
- publishes sonar readings (thanks to Michiel Blokzijl of the Imperial College London). Readings are taken if there are subscribers on the topic. When the last subscriber unsubscribes from both this and sonar_pointcloud2 topic, sonars are turned off. Only available on robots with sonar. The point cloud is two dimensional, and its coordinate frame matches the robot position. X and Y are points on the plane of the robot. Z data is always 0.
- publishes sonar readings as sensor_msgs/PointCloud2 type. Readings are taken if there are subscribers on the topic. When the last subscriber unsubscribes from both this and sonar topic, sonars are turned off. Only available on robots with sonar. The point cloud is two dimensional, and its coordinate frame matches the robot position. X and Y are points on the plane of the robot. Z data is always 0.
- Battery state-of-charge percentage, range (0.0, 1.0). Only published if robot type supports state of charge (e.g. Pioneer LX, Seekur, Seekur Jr.)
- Battery voltage measurement (DC volts).
- Recharging status. Only published on Pioneer LX robot. 0 if not charging, > 0 if recharging, and < 0 on error or no data.
- Indicates whether the motors are enabled (true) or disabled (false). (You can use the enable_motors and disable_motors services to enable/disable the motors.)
- Only published if publish_aria_lasers parameter is true. Provides laser data as a point cloud. <lasername> will be ARIA's identifier for the laser. May be repeated with different laser names if multiple lasers are configured in ARIA robot parameter file(s).