Email: <crp_robot AT SPAMFREE zhiyuteam DOT com>
package summary HPGNSS is a package that provide high precision GPS positioning for robot.
*Maintainer status : maintained
*Maintainer : rosrobot <rosrobot AT SPAMFREE whu DOT edu DOT cn>
what does CRP Robot do ?
CRP Robot (Cooperative Real-time Precise positioning based Robot) designed by Wuhan University and ZhiYu Technology focuses on applying BDS/GPS+INS high precision multi-source integrated navigation to robot. Consequently, the low-cost robot is able to provide space-time cognition and autonomous navigation in the indoor and outdoor complex environment. The previous ROS implementation and laser radar based differential wheeled robot has been able to complete autonomous location and navigation in enclosed indoor environment. Nevertheless, it is not suitable for large-scale outdoor environment. As the low-cost laser radar is limited in ranging, it is unable to achieve accurate outdoor location and SLAM in large-scale outdoor environment. Besides, the map of the outdoor environment drawn by the laser point cloud is too large to store in the robot storage system due to the complex outdoor environment and the dynamic scene. The traditional GNSS positioning accuracy is only about 5-10 meters. Nor can it work in the sheltered area. Therefore, it cannot convince ROS of its availability. The above problems have been solved after introducing cooperative real-time precision positioning to robot.
Cooperative real-time precise positioning (CRP) refers to a number of users through information exchange and communication, share location-based service and resources, integrate various types of positioning means to break through time-space barriers and a lack of information in location-based service, and complete individual or common high precision positioning in a cooperative way. CRP, a new comprehensive positioning, is generated by the development need of location-based services in the online era. It has solved the problems of ubiquitous positioning in complex environment such as in the urban area with high-rise buildings and indoor environment, to meet the needs for mass mobile terminals and to provide seamless and no-blind area location-based services for them. At present, the CRP Robot, at the consumer electronics cost, can reach accuracy of 0.5-1 meter in indoor and outdoor environment, outdoor environment (including bridge, tunnel, shade and other sheltered area) in particular, which can fully meet the requirements of middle and low dynamic programming of robot.
Therefore, regarding the results from GNSS high precision positioning system and inertial navigation system as trusted location source, the CRP Robot can implement global path planning and local path planning based on CRP results. At the same time, it can bypass obstacles by its low-cost radar (<$100) and realize low-cost and high precision positioning and navigation in the large-scale outdoor environment.
This work is supported by a grant from the National Key Research and Development Program of China No.2016YFB0501800.
This is the core development board designed by our team.It integrates GNSS module,IMU module,FPGA,ARM and Jetson. Therefore，it has powerful computing power.Of course,it also has many interfaces,such as USB,serial and HDMI,then many peripherals can be mounted on it,such as camera,radar,sonar.And the localization information on the electronic products can be sent to the board through the Internet.As we can get many sensors information ,we execute different multi-sensor collaborative localization algorithm to get high precise real-time position.
The differential wheel robot for indoor positioning and service,and the crawler root for outdoor positioning and service.
To get the cooperative real-time precise position of a robot with multi-sensor publishing pose on the /tf topic:
roslaunch crp4ros crp4ros
We create three nodes for GNSS positiong module:wide area correction number data receiving node(RecvClient4ROS)、serial read node(Gnss_meas)、the wide area high precision positioning algorithm auxiliary RTK node(RTK_server).
RecvClient4ROS has a TCP client which is responsible for connecting the wide area broadcast data server,and receiving precision satellite orbit、precision satellite clock error, and the number of ionospheric corrections.Then the data is parsed by the data parsing module to get the data format that meets the ROS requirements and is published on the /correctNum topic.
At the bottom, the satellite data received by the GNSS positioning chip will be transmitted through the serial port. The Gnss_meas node will read the serial data, analyze the serial data read by its own data analysis module and encapsulate the ROS message format, and publish the message to /gnssmeasn topic.
RTK_server node subscribes the /correctNum topic,once message is published,RKT_server will call the corresponding callback function to perform the relevant operation. At the same time ,RTK_server subscribes the /gnssmeas topic,wide high precision algorithm will perform after it receives two topics,and calculate the current high precision positioning result in real-time,finally the positioning result is released to the /latlon topic.
GNSS_transform node subscribes the /latlon topic and gets the high-precision latitude and longitude information, and releases the positioning information after it is transformed to UTM coordinate.
OOdom_publisher node integrates GNSS module,IMU module with odometrermodule, which is used to correct the current track estimation position and reduce the cumulative error of the track calculation.
Co_location node subscribes many topics to get different sensor information,and execute the positioning algorithm.The coordinate transform from map to odom is conducted by Co_location node,it is through multi-sensor collaborative positioning to obtain the positioning results, and through the positioning results calculating the conversion relationship between map coordinates and odom coordinates ,finally the relationship is released. ...