Ajusting Turtlebot Speed in Autonomous Navigation
I'm trying to change the turtlebot linear autonomous navigation speed according to a variable parameter without changing the route traced through Rviz, but i'm facing a problem. For the autonomous navigation i'm using the Amcl App as follow : here
Actually, my turtlebot speed should change when my external parameter changes, but the Amcl_demo navigation is publishing in the cmd_vel, and because of that it's not possible to publish the same type 'geometry_msgs::Twist base_cmd' to the teleop node or some other one responsible for the robot velocity. (I'd like to know the right one too)
Is it possible to change the max speed limit parameter from base_local_planner_params.yaml while my 'listener' is receiving data (in real time)? I'm not sure but I think it'll loads it once before the program starts =(
The amcl needs the velocity info to calculate the robot position in the 2D map, so publishing another speed over the amcl, excluding the fact it won't work, it'll make the robot lost in the map. Is that right?
I was thinking about publishing the robot speed from my 'listener' to amcl code, and this one (after the position calculus and stuff) sending the correct speed to turtlebot.
EDIT.: Once i need to change just the linear speed using the Twist, the way i'm looking for could be subscribing my node (publishing the speed through geometry_msgs/Twist type) instead of /navigation_velocity_smoother/raw_cmd_vel in the /move_base node?
The velocity_smoother.launch.xml :
<node pkg="nodelet" type="nodelet" name="navigation_velocity_smoother" args="load yocs_velocity_smoother/VelocitySmootherNodelet /mobile_base_nodelet_manager">
<rosparam file="$(find turtlebot_bringup)/param/defaults/smoother.yaml" command="load"/> <remap from="navigation_velocity_smoother/smooth_cmd_vel" to="/cmd_vel_mux/input/navi"/> <!-- Robot velocity feedbacks; use the default base configuration --> <remap from="navigation_velocity_smoother/odometry" to="/odom"/> <remap from="navigation_velocity_smoother/robot_cmd_vel" to="/mobile_base/commands/velocity"/>
How can I do that? Is there another way?
Thanks in Advance!