Posted by @xaru8145:
Hi all,
First, thanks for development of this great open source library!
I would like to ask for some help in regards of how to deal with Ackermann vehicles in Open-RMF. I have seen some issues in the repo as well as pull request that made an attempt to do that, but the related branches were deleted and the issues were tagged as Research and Development. For example, rmf_traffic issue #42. Besides, it seems like most of the tutorials use differential robots.
The problem we are having is that with rmf_traffic_editor tool you can only create straight lines, which ends up giving an abrupt path really difficult to handle for ackermann vehciles. Also, each point of the traffic line that conforms the path outputted by open-rmf, is sent as a goal to the nav2 stack. Therefore, we do not have a long connected path with all the waypoints but instead we go waypoint by waypoint, which makes it even harder for non-holonomic robots.
I would gladly appreciate any suggestion regarding Open-rmf setups using nav2 and Ackermann vehicles. Thanks in advance!
Posted by @preverte:
Great observation @xaru8145. We’ve been recently struggling with this issue… Open-RMF works fine for differential robots but we can’t manage to make ackermann vehicles navigate across generated paths, mostly in turns that not match minimum turning radius requirements
Wonder if there’s a configuration so that Open-RMF outputs the whole navigation path instead o waypoints as navigation goals… this would allow to apply some type of smoothing taking into account kinematics.
Posted by @mxgrey:
Wonder if there’s a configuration so that Open-RMF outputs the whole navigation path instead o waypoints as navigation goals
The RobotCommandHandle
API which has been around for a while gives the whole path up to the point where the robot will need to stop and wait for another robot to pass by or for an event to happen (e.g. opening a door).
However, the path itself is calculated assuming that the robot will be able to turn on the spot, which means the paths coming from RMF may be low-quality or even impossible for an Ackermann vehicle if the fine details of the path are important.
One of the goals for the next generation of Open-RMF is to be more modular by using a service architecture. At that point it should be feasible to swap out the differential drive planning service with a different planning service that’s more suitable to Ackermann vehicles. Unfortunately we have a long way to go before the “next generation” work is usable, and it will be longer than that before we can commit to supporting new capabilities in the next generation.
Edited by @mxgrey at 2024-03-04T10:13:07Z
Posted by @Yadunund:
Please see this ticket for a discussion on the same topic Support interpolation of waypoints for Omnidirectional and Ackermann steering · Issue #42 · open-rmf/rmf_traffic · GitHub
Afik the core team is not working on this feature anymore. Contributions are most welcome.