Open jlblancoc opened 1 year ago
cc: @SRai22 Here we are... :-)
Check and document what sensor types are supported. Check if https://github.com/mrpt-ros-pkg/mrpt_navigation/issues/121 is already handled.
Currently we are handling both inputs, sensor_msgs::msg::LaserScan and sensor_msgs::msg::PointCloud2 in mrpt_local_obstacles.
CI is now setup and working, and commits to the main "ros2" branch should now go thru PRs that pass the tests! Latest one is #139 , still WIP due to a large refactoring work in progress, will merge when the CI tests pass, that will mean it builds ok on all ROS2 distros :smile:
When can we Expect the mrpt_pf_localization
It's for sure one of my top priorities... but I'm almost done finishing first a brand new Lidar-SLAM package that will generate maps for these localization packages, so this one is enqueued at present...
I definitively want both works to be out by December...
PS: I'll post updates on my LinkedIn profile, as usual.
Finally back to this project... These updated READMEs explain the new way metric maps are to be handled:
(More news soon...)
Great to see you back here! Hoping mrpt_pf_localization will release on this December. @jlblancoc
Hi @KatoROSTeam : Officially releasing so users can install it via "apt install..." will take some more weeks, since there is a long queue of pending tasks to publish all the related packages (mola_common, mp2p_icp, etc.) and the ROS infrastructure guys are not moving things forwards these days (they also have the right to rest in holidays!).
But you can test it if built locally. Basic pf-localization, with a 2D gridmap and a 2D lidar, is already working ok for ROS2 and there is a demo ready to test: https://github.com/mrpt-ros-pkg/mrpt_navigation/tree/ros2/mrpt_pf_localization#demos with a video of the result here: https://mrpt.github.io/videos/pf_localization_demo_2dgrid_mvsim.mp4
To build locally, prepare a ROS2 workspace as usual, and clone in its src
:
sudo apt install ros-${ROS_DISTRO}-mvsim
Hope it helps.
Hi @jlblancoc , In mrpt_pf_localization_node.cpp, i can find that lot of functions that required to localize on a given map are stopped from running using the #if 0 like below example,
CObservationOdometry::Ptr& _odometry,
const std_msgs::msg::Header& _msg_header)
{
#if 0
std::string base_frame_id = param()->base_frame_id;
std::string odom_frame_id = param()->odom_frame_id;
mrpt::poses::CPose3D poseOdom;
if (this->waitForTransform(
poseOdom, odom_frame_id, base_frame_id, _msg_header.stamp,
ros::Duration(1.0)))
{
_odometry = CObservationOdometry::Create();
_odometry->sensorLabel = odom_frame_id;
_odometry->hasEncodersInfo = false;
_odometry->hasVelocities = false;
_odometry->odometry.x() = poseOdom.x();
_odometry->odometry.y() = poseOdom.y();
_odometry->odometry.phi() = poseOdom.yaw();
}
#endif
}
Also the localization launch also not providing map frame as well. How to fix this
@KatoROSTeam This package is now working on a daily basis on our robots, so you could use it now.
@SRai22 I started importing our TPS A* planner into a new branch, and will try to port it to ROS 2 asap ;-)
List of goals for the ROS 2 transition. It will not only be a port of old ROS 1 packages, but a refactoring with the learned experience:
Each package subdirectory should have a
README.md
with all the relevant documentation: parameters, topics, etc.=>mrpt_local_obstacles
mrpt_pointcloud_pipeline
: Sensor inputs to basic / decimated point cloud.mrpt_msgs_bridge
: C++ library to convert msgs to C++ classes, for those messages defined inmrpt_msgs
and hence not possible to include intomrpt::ros2bridge
:mrpt_map
: Read maps from file and publishes them.Old ROS 1
mrpt_localization
should be renamed ==>mrpt_pf_localization
: Uses particle filter methods to localizemrpt_localization
==>mrpt_pf_localization
Create new package
mrpt_opt_localization
: Uses optimization-based localization:mrpt_rawlog
: Nodes to record .rawlog and play .rawlog.mrpt_reactivenav2d
: The pure reactive method with a 2D robot shape for planar motion.mrpt_tutorials
: Probably, rename to ==>mrpt_navigation_tutorials
mrpt_tps_astar_planner
: New A* plannerOther tasks:
ros2
and markros1
as obsolete.