[Documentation] [TitleIndex] [WordIndex

Package Summary This package includes a trajectory follower suitable for ROS framework, indigo distribution.

Messages Summary

This package uses special messages which minimizes RobotAccelerationMsg A 6 bit-message which represents an acceleration in a certain time which allows to minimize the size of a message to represent a speed. TrajectoryMsgs This message represents a complete trajectory which the usage of RobotAccelerationM sg. float64 timeDiff float64 [ 6 ] accScale f l o a t 6 4 [ 6 ] maxSpeeds geometry msgs / Twist i n i t S p e e d geometry msgs / Pose i n i t P o s e RobotA cc el er at io nM sg [ ] a c c e l e r a t i o n

Package Components

footprint checker

This node provides a service to detect collision using the local costmap and a footprint provided by move base package.

footprint_accelerated_checker

An advance footprint checker which uses the robot model node and the from the RobotAccelerationMsg from mytrajectory msgs node.

mytrajectory_msgs

Describes messages used by the package.

robot_model

Handles the robot platform’s dynamic properties for different types of geometry m sgs trajectory follower

Main node which packs the others nodes.

trajectory generator Includes the move base local planner interface. Also the trajectory is created from the global path given by the global planner. In addition, trajectory controller corrects on real-time the movement of the robot, this component can be disable setting the enableLoop parameter as false.

trajectory_utils

Visualization and testing nodes are included here. Once the planner has run, execute on one terminal rosruntrajectory u tilstrajectory v isualizer n ode.py, then insert a goal. The velocities profiles, positions and errors are going to be calculated once the movement of the robot finish. Parameters The parameters are defined in a file called base local planner p arams.yaml. LocalTrajectoryPlannerROS :

#S e t t h e a c c e l e r a t i o n l i m i t s o f t h e r o b o t a c c e l e r a t i o n x −> a c c e l e r a t i o n r a t e f o r x a c c e l e r a t i o n y −> a c c e l e r a t i o n r a t e f o r y a c c e l e r a t i o n z −> a c c e l e r a t i o n r a t e f o r yaw a n g l e #S e t t h e v e l o c i t y l i m i t s o f t h e r o b o t m a x v e l x −> max s p e e d on x m a x v e l y −> max s p e e d on y m a x v e l z −> max s p e e d on yaw a n g l e #S e t t h e t o l e r a n c e s f o r t h e t r a j e c t o r y g e n e r a t o r t o l e r a n c e X −> t o l e r a n c e on x a x i s t o l e r a n c e Y −> t o l e r a n c e on y a x i s t o l e r a n c e Z −> t o l e r a n c e on yaw a x i s s a m p l e t i m e −> sample time on s e c o n d s enableLoop −> e n a b l e t r a j e c t o r y C o n t r o l l e r The accelerations, max velocities and sample time parameters are used at the trajectory generator phase. The enableLoop parameters enable or disable the trajectory controller component. Subscribed Topics 1. /move base/goal Goal to Achieve 2. /amcl p ose This component runs on a high frequency this is subscribed to internally run the frame transformation to get robot pose on the global frame. Published Topics 1. /P olygons Footprint plot for collisions checker. 2. /global plan Bezier prunning path. 443. /local plan Trajectory Generation Poses results. 4. /intermediate goal Current Pose to Achieve. 5. /goal Goal pose. 6. /eventOut Topic used in trajectory u tils 7. /trajectory Trajectory Messages topic. 8. /myodom Error pose in local frame.

Running Commands

roslaunch trajectory generator trajectory f ollower.launch: Runs the move base pack- age with the proposed local planner. rosrun trajectory utils trajectory visualizer node.py: Runs the visualization node. rosrun f ootprint accelerated checker base accelerated collision checker server: Will run the simple collision checker service compatible with acceleration message provided in this package. rosrun f ootprint checkerbase collision checker server: Will run the simple collision checker service based on [23]. Currently not implemented.


2022-05-28 13:05