Basic "Safe Wander" Example? #515
-
How are you connecting to your Create 3?Wi-Fi (ROS 2) Computer(s) Model(s) and Operating System(s)Ubuntu 22.04 in Docker over Raspberry Pi 5 PiOS Bookworm Which version of ROS 2 is installed on your computer?Humble Which firmware version is installed on your robot?H.2.4 Which RMW is your robot running?FastRTPS Does your robot have an assigned namespace? If so, please share.No response Is the robot connected to a network? If so, what is the network type?Yes: 2.4GHz Home WiFi Are there multiple Create 3 robots connected to your network?No Is multicast enabled?Yes What is the Adapter Board's USB/BLE Toggle currently switched to?Bluetooth (default) Describe your question.Has anyone written a very basic "safe wander" ROS 2 program in Python for the Create3?The create3_examples/create3_coverage program:
I have tested my Create3 IR Intensity sensors against both the white baseboards and the natural wood cabinet kick panel in my home to find safe /ir_intensity values to keep my Create3-WaLI robot from getting too close to the kitchen cabinets. This is what happens when not using /ir_intensity These are the values against the natural wood kick panel that correspond to a safe 150mm bumper to wood kick panel (heading normal to wall):
(In case you are wondering how my cmds/echo_ir_intensity.sh script gets that formatted output...) I'm going to take a stab at adding /ir_intensity obstacle detection to the create3_coverage C++ example, but sure would like to find a very basic ROS 2 Python script that:
without having to write it myself... |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Beta Was this translation helpful? Give feedback.
-
Added some "randomness" although still a bit "clumpy". All tests have been "safe wandering", so I am cleaning it and testing now with DEBUG turned off. (Found some logic that was wrongly indented under Also interesting is that wandering for 2 hours out of Wali's normal 3h7m playtime only cost 8 minutes. Driving at 0.1 m/s is nearly free. (As a reminder, this is "No LIDAR, No VSLAM", pure Create3 native sensors. ) This "safe wandering" is not "home safe", only "playground safe". The playground does not have any obstacles on widely spaced legs, like chairs and sofas, that would not be detected by the IR intensity sensors nor bumpers. To be safe in non-playground areas, I would need to either add visual obstacle detection, or wandering with cost map navigation. Wandering with cost map navigation would still be risky because the dead-reckoning odometry would eventually cause the cost map to be wrong. Wali ( Wall-follower Looking for Intelligence) will need to start learning RTABmapping with the Oak-D-Lite sensor at some point, but I think I want to investigate "safe wall following" next. The Create3 wall_follow action server is not safe with things mounted on the Create3 base plate, so I need to leverage my safe wander to create a "safe wall follow action server" |
Beta Was this translation helpful? Give feedback.
Added some "randomness" although still a bit "clumpy". All tests have been "safe wandering", so I am cleaning it and testing now with DEBUG turned off. (Found some logic that was wrongly indented under
if DEBUG:
)Also interesting is that wandering for 2 hours out of Wali's normal 3h7m playtime only cost 8 minutes. Driving at 0.1 m/s is nearly free.
(As a reminder, this is "No LIDAR, No VSLAM", pure Create3 native sensors. )
This "safe wandering" is not "home safe", only "playground safe". The playground does not have any obstacles on widely spaced legs, like chairs and sofas, that would not be detected by the IR intensity sensors nor bumpers. To be safe in non-playground areas, I would …