在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):vikiboy/AGV_Localization开源软件地址(OpenSource Url):https://github.com/vikiboy/AGV_Localization开源编程语言(OpenSource Language):C 65.4%开源软件介绍(OpenSource Introduction):==================================================================================================================================================================================================================== || AGV_Localization_Guide ||
<0>.About <robot_localisation> package 0.1.The package is basically made for bot as it uses namely 3 sensors value 0.1.0.Odometry_data 0.1.1.Imu_data 0.1.2.Visual_Odometry <1>.How Robot Pose EKF works (http://wiki.ros.org/robot_pose_ekf) 1.1.Pose interpretation--< Calculation of pose w.r.t. to relative usage not absolute>
1.2.Covariance interpretation--< Use of covariance for both pose and it derivative (i.e. velocity) >
1.3.Timing--< Use of Interpolation>
<2>Nodes 2.1.robot_pose_ekf robot_pose_ekf implements an extended Kalman filter for determining the robot pose. 2.2.Subscribed Topics 2.2.1.odom (nav_msgs/Odometry) 2D pose (used by wheel odometry): The 2D pose contains the position and orientation of the robot in the ground plane and the covariance on this pose. The message to send this 2D pose actually represents a 3D pose, but the z, roll and pitch are simply ignored. 2.2.2.imu_data (sensor_msgs/Imu) 3D orientation (used by the IMU): The 3D orientation provides information about the Roll, Pitch and Yaw angles of the robot base frame relative to a world reference frame. The Roll and Pitch angles are interpreted as absolute angles (because an IMU sensor has a gravity reference), and the Yaw angle is interpreted as a relative angle. A covariance matrix specifies the uncertainty on the orientation measurement. The robot pose ekf will not start when it only receives messages on this topic; it also expects messages on either the 'vo' or the 'odom' topic. 2.3.Flexiblity of Number of sensors and their flexiblity of data sending The robot_pose_ekf node does not require all three sensor sources to be available all the time. Each source gives a pose estimate and a covariance. The sources operate at different rates and with different latencies. A source can appear and disappear over time, and the node will automatically detect and use the available sensors. <3>.Migration from robot_pose_ekf (http://wiki.ros.org/robot_localization/Tutorials/Migration%20from%20robot_pose_ekf) 3.1.Covariances in source messages For robot_pose_ekf, a common means of getting the filter to ignore measurements is to give it a massively inflated covariance, often on the order of 10^3. However, robot_localization allows users to specify which variables from the measurement should be fused with the current state.
=========================================================================================================
http://www.ros.org/reps/rep-0105.htmlLink::1.Coordinate Frames 1.1. => GPS World Frame is fixed and assumption is that mobile platform, relative to the map frame does not significantly drift over time.Map is non-continuous which means there will be discrete jumps in the readings of GPS but its not good for converting to local frame i.e frame to as discrete jumps make it a poor reference for local sensing and acting. But map frame is useful for long-term global reference. 1.2. => IMU, Odometry, Visual Odometry Odometry frame is continuous but the small error which comes during integrations gets accumulated over the whole time and over a long-term it becomes very erreneous.The odom frame can drift over time. And function guiding this frame is continuous and smooth and useful for local frame reference as its reading are aproximately accurate but drift make it a poor reference for long-term reference. 1.3.<base_link> => Robot's own platform like sensor mounting <base_link> is rigidly attached to the mobile robot base.The base_link can be attached to the base in any arbitrary position or orientation like for every hardware plateform there will be a different place on the base that provides adn point of refernce. 2.Relationship between the frames 2.1. map-->odom-->base_link For frame, frame is parent and similarily for <base_link> frame frame is the parent. =========================================================================================================
Link:: <wiki.ros.org/robot_localization/Tutorials/GPS Integration>1.Suggested Way 1.1. Use only continuous data (IMU, Odometry, Visual Odometry) and the set the world_frame as odometry frame and execute the local path plans and motions in this frame. 1.2. Then in this use all the available source including GPS and then set the world_frame as map_frame and execute the motion globally. 2.Required Inputs 2.1.<sensor_msgs/NavSatFix> => It contains the raw GPS coordinates 2.2.<sensor_msgs/Imu> => Message with an absolute heading 2.3.<nav_msgs/Odometry> => Message that contains robot's current position estimate in the frame specified by its start location() 3.REP 103 Link:: http://www.ros.org/reps/rep-0103.html 3.1. It provides a reference for the units and coordinate conventions used within ROS 3.2. All Coordinate frames should follow this convention. 4.Changes needs to be done in <navsat_transform_node> eg parameters needs to be set like roll pitch and yaw offset values and the topics of , and 5.odomN parameters need to be changes to specific input values like what values does gives so set those parameters as true. For 2D localization where altitude (z) is zero, 2 setting needs to be done, 5.1.Set navsat_transform_node's zero_altitude parameter to true, and then set odomN_config's third value to true. 5.2.Set two_d_mode to true. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论