Closed stalinADAQ closed 1 year ago
/odom
topic from either the RPi4 or your PC.@roni-kreinin yes, I am using my own map generated from SLAM.
$ ros2 launch turtlebot4_navigation localization.launch.py map:=my_room.yaml $ ros2 launch turtlebot4_navigation nav2.launch.py $ ros2 launch turtlebot4_viz view_robot.launch.py using above three command for starting the navigation.
What are the issues with obstacle avoidance? Is the robot driving into obstacles that you can see on the map? As for the activation time, are there any errors being reported by either localization or nav2 in the terminal?
Also, are you running Galactic or Humble?
Yes, it not detecting obstacles and trying drive into obstacles and failing to doso, if we manually clear the obstacle it going ahead. We are using humble. I don't see any errors, but I will try to collect logs and share to you. Are the launch files are correct?
The launch files are correct. Can you record your RViz while running navigation and share that here?
@roni-kreinin please find the attached logs of the three terminal after running the navigation. I could not collect the lengthy log but it should give you insight of the problem. localization_launch.txt nav2_launch.txt RVIZ.txt
From the RViz errors it looks like there is an issue with the time sync between the RPi and the Create 3. Try calling turtlebot4-ntpd-sync
from the RPi4 or accessing the Create 3 webserver and restarting ntpd from the Beta Features tab.
@roni-kreinin Thanks for pointing me in right direction, after turtlebot4-ntpd-sync, the obstacle avoidance is active in navigation and relatively the time for starting the navigation is less (still about 3-4 minutes of pose estimation). But one problem is, the moment obstacle is detected and not cleared for 3-5 sec, then the navigation in the RVIZ getting feed back as aborted. And hence it is not moving to new target.
Also the initial pose delay is due to wi-fi speed ?
I would need a screen recording of what is going on to help with this. Try using a program like Peek from the Ubuntu software store to record your screen.
Generally, the pose estimation is pretty instant from when you give the pose estimate in Rviz.
@roni-kreinin please find the below link for screen recorded video,
I have uploaded in wetranfer due to size limitation. You can see the lag between pose and navigation and also obstacle abort problem at (9:22 minutes in video). Infact this time the response was much better :).
Please check and advise !
@roni-kreinin waiting for your feedback, after reviewing above video.
@stalinADAQ From looking at the video, it looks like when you ran ros2 topic list
your PC could not see the Create 3 topics. This is why it took so long to start up navigation. Did you run all of this right after booting the robot?
As for the obstacle avoidance, the behaviour looked pretty normal. You can modify the nav2 config if you want to change the behaviour.
Take a look at Nav2 Github and Nav2 Documentation for more details.
@roni-kreinin
This is the list of topics you should see from just the RPi4:
/battery_state
/cmd_vel
/diagnostics
/dock_status
/function_calls
/interface_buttons
/ip
/joint_states
/joy
/joy/set_feedback
/parameter_events
/robot_description
/rosout
/tf
/tf_static
/wheel_status
And this is the full list when the Create 3 is publishing too:
/battery_state
/cmd_audio
/cmd_lightring
/cmd_vel
/diagnostics
/dock_status
/function_calls
/hazard_detection
/imu
/interface_buttons
/ip
/ir_intensity
/ir_opcode
/joint_states
/joy
/joy/set_feedback
/kidnap_status
/mobility_monitor/transition_event
/mouse
/odom
/parameter_events
/robot_description
/robot_state/transition_event
/rosout
/slip_status
/static_transform/transition_event
/stop_status
/tf
/tf_static
/wheel_status
/wheel_ticks
/wheel_vels
I usually look for the 3 /wheel_
topics to indicate that the create 3 is up and running. From your video, only the RPi4 topics were up when you launched navigation.
Regarding the red lightring, that seems to be an issue with CycloneDDS on the Create 3. Generally it will go away once the robot has booted and the chimes play. If it gets stuck in that state, you can press and hold the power button for 20-30s to perform a hardware reboot of the Create 3.
For navigation, you could try running SLAM + Nav2 instead of Localization + Nav2. That way you will be creating the map as you navigate, so if you have moving obstacles, they should get picked up on the map.
The ntp sync should be called whenever the clocks are out of sync. I am looking into a better solution for this issue.
For the stereo camera, what changes did you make to enable it?
If you are just running one robot, I would recommend the discovery server. You can then disconnect the Create 3 from Wi-Fi, and the topics may come up faster.
For me also obstacle avoidance is not working properly with Galactic and the Turtlebot4 Standard. Have you found a solution for the time sync issue yet? For this, do you also recommend the discovery server when just running one robot?
This issue is being closed due to inactivity. If you are still experiencing the issue, feel free to reopen this ticket when you are ready to continue the troubleshooting process.
@roni-kreinin I just want to know, by how the obstacle avoidance works in the turtlebot4, when i run these commands...
ros2 launch turtlebot4_navigation nav2.launch.py
ros2 launch turtlebot4_navigation localisation.launch.py map:=my_map.yaml
ros2 launch turtlebot4_viz view_robot.launch.py
with the help of RPI-Lidar or OAK-D camera or both?
@Vasanth28897 The short answer is just the lidar. The long answer is that those commands that you are referring to are launching Nav2. There are a lot of things that you can do with Nav2. All of the default Nav2 settings are contained in the config yaml files. You can modify this behaviour by making your own yaml files and passing them in when you launch nav2 and/or localization.
thank you @hilary-luo. I am facing the same obstacle avoidance problem in the turtlebot4 when i run the nav2.launch.py like @stalinADAQ and @schenkch faced. I tried the time-sync command...it didn't work. I am using humble.
@Vasanth28897 I am going to need you to expand on what you mean when you are referring to the "same obstacle avoidance problem". Preferably can you do this in a fresh ticket? Time has changed since then, the software has been updated in various ways so that symptom may have a different reason now.
Alright, The lidar cannot hits the costmap around the mapped dynamic obstacle(not in the map during generation)as @hilary-luo mentioned in this issue. (Note: sometimes it hit the static obstacle also).
@Vasanth28897 If I am understanding correctly, you are seeing that the robot is not avoiding dynamic obstacles. This issue is fixed in 1.0.4. You can use it now if you build from source, or it will be released in the next update. The issue and the temporary fix were tracked here: https://github.com/turtlebot/turtlebot4/issues/247
If it is hitting static obstacles then either a) it had issues seeing them (not at lidar height or are too skinny, too reflective or see through etc.) and you may need to block off those areas or if it is not the case, b) you can tune your nav2.yaml parameters to better work for your environment. Different environments and different desired operations will require different parameters.
thank you @hilary-luo for the clarification. Will look after this.