Closed Giggus closed 9 months ago
Can you please help me with the following errors. The simulation is working fine with the melodic, but I am not able to understand the issue with Foxy. Please help to understand what I am missing here Thanks.
[spawner.py-6] [INFO] [1651662207.865197859] [spawner_position_trajectory_controller]: Waiting for /controller_manager services [rviz2-8] Warning: Invalid frame ID "lbr_link_1" passed to canTransform argument source_frame - frame does not exist [rviz2-8] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.11/src/buffer_core.cpp [rviz2-8] Warning: Invalid frame ID "lbr_link_2" passed to canTransform argument source_frame - frame does not exist [rviz2-8] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.11/src/buffer_core.cpp [rviz2-8] Warning: Invalid frame ID "lbr_link_3" passed to canTransform argument source_frame - frame does not exist [rviz2-8] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.11/src/buffer_core.cpp [rviz2-8] Warning: Invalid frame ID "lbr_link_4" passed to canTransform argument source_frame - frame does not exist [rviz2-8] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.11/src/buffer_core.cpp [rviz2-8] Warning: Invalid frame ID "lbr_link_5" passed to canTransform argument source_frame - frame does not exist [rviz2-8] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.11/src/buffer_core.cpp [rviz2-8] Warning: Invalid frame ID "lbr_link_6" passed to canTransform argument source_frame - frame does not exist [rviz2-8] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.11/src/buffer_core.cpp
Hi and sorry for seeing this so late. This usually happens when the communication to the robot is not setup for some reason
what realtime priority do you have on your system? The launch file launches the controller with a realtime priority of 99
If the realtime priority is not set, the communicating thread will not be launched
Hi, there thank you for the information. I did change the real time priority as mentioned. But I'm still facing the same error. as of now, my arg for simulation is true as, sim:= true
I am using ubuntu on a Virtual machine.. and that should not be a problem I guess (?)
if you wish to connect to the real robot, you'll have to set sim:=false
. Also you'll have to launch the LBRServer application on the SmartPad
Yes I'm able to work with the real robot with the current "lbr_fri_ros_stack" in melodic...
I'm trying to workout the same for ros2 stack but I'm stuck with the error mentioned above in my earlier comment. I edited the rtprio in the system, but the error still persists.
"[spawner.py-6] [INFO] [1651662207.865197859] [spawner_position_trajectory_controller]: Waiting for /controller_manager services......."
have you tried to install dependencies? rosdep install --from-paths src --ignore-src -r -y
Sometimes I have encountered that xacro
didn't get installed, so I had to do it manually sudo apt install ros-foxy-xacro
.
I currently don't have access to a real robot, so it is hard to tell what the issue is and I can't test it
ros2 launch lbr_bringup lbr_bringup.launch.py model:=med7 sim:=false | grep ERROR
maybe one can see what throws then/etc/security/limits.conf
? user
in user - rtprio 99
has to be replaced by your usernameThe errors that you receive about the missing transforms are most likely only the result of missing joint states, ie a connection to the robot is not established. That is because the robot_state_publisher
https://github.com/KCL-BMEIS/lbr_fri_ros2_stack/blob/9e78f9d2b04fa545a412ff5d31fdc1dc05a3b600/lbr_bringup/launch/lbr_control.launch.py#L72 never receives joint states, which are published through a controller named joint_state_broadcaster
https://github.com/KCL-BMEIS/lbr_fri_ros2_stack/blob/9e78f9d2b04fa545a412ff5d31fdc1dc05a3b600/lbr_bringup/launch/lbr_control.launch.py#L82
anubhav@ubuntu:~/lbr_fri_ros2_stack_ws$ ros2 launch lbr_bringup lbr_bringup.launch.py model:=med14 sim:=true | grep ERROR [move_group-7] [ERROR] [1654036072.629839378] [moveit.ros.occupancy_map_monitor]: No 3D sensor plugin(s) defined for octomap updates [ERROR] [gzserver-1]: process has died [pid 2632, exit code 255, cmd 'gzserver -s libgazebo_ros_init.so -s libgazebo_ros_factory.so -s libgazebo_ros_force_system.so ']. [spawner.py-6] [ERROR] [1654036082.251245291] [spawner_position_trajectory_controller]: Controller manager not available [spawner.py-5] [ERROR] [1654036082.253981082] [spawner_joint_state_broadcaster]: Controller manager not available [ERROR] [spawner.py-6]: process has died [pid 2644, exit code 1, cmd '/opt/ros/foxy/lib/controller_manager/spawner.py position_trajectory_controller --controller-manager /controller_manager --ros-args']. [ERROR] [spawner.py-5]: process has died [pid 2642, exit code 1, cmd '/opt/ros/foxy/lib/controller_manager/spawner.py joint_state_broadcaster --controller-manager /controller_manager --ros-args']. [move_group-7] [ERROR] [1654036087.953478906] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Action client not connected: position_trajectory_controller/follow_joint_trajectory
And this is how Rviz windows opens: even if the world frame or lbr_link_0 is selected ...
gazebo window:
oh okay sorry I misunderstood you. I thought it was working well in simulation for foxy, but it doesn't. Please apologize. What is the error about the Gazebo server? Does just launching Gazebo work? In a terminal write gazebo
I'll try this later today, as I currently don't have access to a PC. Hopefully I can replicate the issue and find a fix. Thank you for sharing
Hey, did you have a chance to look into this problem? :) I was just wondering if this problem is only due to using Ubuntu as in Virtual Machine on Windows. ? I am not very sure because ROS-1 is working fine with the same.
no sorry, it is on my mind though. What about compiling this on Windows? ROS2 should support that. Only the visibility headers headers would have to be implemented
hey @anubhav-dogra , did you get to look into this again? I recently tried the system with the newest foxy release and everything worked well. I am also having time to work on this again, so please let me know. Your feedback is much appreciated
I seem to be having a similar problem using humble and Ubuntu 22.04. I installed all the dependencies and tried to run the launch file following the ReadMe: Gazebo does not open properly(its stuck on "Peparing your world...") and rviz showed an error in the robot model like shown in the pictures from anubhav-dogras earlier comment. I made sure packages like the joint-jrajectory-controller and controller manager are installed.
hi @Nicolai-98 . Yes this is a very well known issue. The very first launch is somehow extremely slow and doesn't spawn the model.
Here is how to fix:
gzserver
is closed (you can verify: pgrep gzserver
- should be empty. If a process id is shown use kill pid
, where pid is output of pgrep gzserver
)I think this is some Gazebo related bug. Note after the first launch this will never re-occur. Please let me know if this works. Btw, love your folder name :P
Thank you for the quick answer! The folder name might be related to some issues I am experiencing with getting my robot to run properly on humble :D. I tried your fix:
Update: I manged to launch it the way you described it using a docker container. I guess there is some problem with my ros2-humble setup on my machine. Thanks for your help!
hi @Nicolai-98 , great to hear that worked! The error no transform
suggests no model was loaded into Gazebo, hence the robot_state_publisher
can't read joint states from joint_state_broadcaster
and can't compute transforms.
Would you be happy to share the docker file, maybe create a pull request, I can create a dev-humble-docker
branch. That would create a lot of value for many people. If not, no problem!
Closing this issue for now, as dependencies seem to work well. Opening #149
Controller_spawner is failing because some dependencies are not satisfied when running
Fixed by installing ros-melodic-moveit and ros-melodic-joint-trajectory-controller
It might be worth investigating which are the missing packages in the package dependencies rather then installing these two packages which include many others that might not be useful.