Hello,
I’ve gotten my simulated robot pathing correctly to pre-recorded spots. I tried to make the transition to the real robot ran into problems. I’ve read through a few posts on this forum stating that base_link should be replaced with base_footprint.
If you substitute
base_link
withbase_footprint
in all your configuration files, your problem will be resolved. You need to make changes inamcl
,planner
,controller
,recoveries
andbt_navigator
yaml files.
When looking through the suggested files, I only found base_link in the following config files: recovery.yaml and bt_navigator.yaml. amcl_config.yaml inside of the localization package already referred to base_footprint here:
amcl:
ros__parameters:
use_sim_time: True
alpha1: 0.2
alpha2: 0.2
alpha3: 0.2
alpha4: 0.2
alpha5: 0.2
base_frame_id: "base_footprint"
When launching the localization nodes and navigation nodes, I get the following error from the planner_server:
[planner_server-7] [INFO] [1713468888.722314867] [global_costmap.global_costmap]: Timed out waiting for transform from base_link to map to become available, tf error: Invalid frame ID "map" passed to canTransform argument target_frame - frame does notexist
I’m not sure where its getting the base_link entry from and I don’t know why “map” is an invalid frame.
-
Where should I be looking to troubleshoot this error?
-
I’ve also noticed that in a few of these posts (posts that discuss the transition from the simulation to the real robot) there are mentions about “bridging” to ROS1. In the course notes from ROS Naviation, there is no mention of this. I’ve tried a few of the commands listed in these posts to attempt the bridge. None of the directories exist.
Also, the notes inside of the rosject linked in ROS Navigation is titled “ROS Navigation in 5 days” which is a separate course from ROS Navigation. Are the rosjects the same for both ROS Navigation and ROS Navigation in 5 days? The rosject notes also do not mention anything about the “bridge.” Has that step been removed from the process now?
source ~/catkin_ws/devel/setup.bash
source /opt/ros/foxy/setup.bash
ros2 run ros1_bridge dynamic_bridge --bridge-all-topics
and
source ~/catkin_ws/devel/setup.bash
roslaunch load_params load_params.launch
source /opt/ros/foxy/setup.bash
ros2 run ros1_bridge parameter_bridge
Thank you.