因此,我正在研究一辆rc汽车,它配备了gps模块(NEOBLOX 6M)和盖革计数器(Diy套件)。传感器读取的数据将使用xbee模块显示在c#应用程序上。在我的C#应用程序上,我使用一个标签来根据接收到的数据进行更新,但这里的问题是,来自gps模块和盖革计数器的数据都显示在一个标签上,我想在单独的标签或文本框上显示来自不同传感器的数据。
GPS模块:http://wiki.sunfounder.cc/index.php?title=Ublox_NEO-6M_GPS_Module
发布于 2019-06-02 20:18:28
你听说过ROS这个词吗?
你的描述不是很清楚。所以我对你的系统设计没有太多的想法。
无论所有传感器都连接到arduino,还是部分连接到arduino,部分连接到PC。
您可以使用ROS Arduino节点和ros节点读取传感器并使用ROS-time进行发布。您可以按照以下链接中的方法进行操作
http://wiki.ros.org/rosserial_arduino/Tutorials
#include <ros.h>
#include <std_msgs/String.h>
ros::NodeHandle nh;
std_msgs::String str_msg;
ros::Publisher chatter("chatter", &str_msg);
char hello[13] = "hello world!";
void setup()
{
nh.initNode();
nh.advertise(chatter);
}
void loop()
{
str_msg.data = hello;
chatter.publish( &str_msg );
nh.spinOnce();
delay(1000);
}您可以将此str_msgs更改为传感器给出的任何消息类型,例如,giger计数器为双精度。或sensor_msgs/NavSatFix (ros中的gps消息),或者您的位置是nav_msgs/Odometry
每当有读数时,只要用正确的时间戳发布即可。
将所有信息发布到C# ros节点以供显示。通常情况下,会有很多数据,所以你不应该使用文本框。相反,您应该能够绘制热图或能量图
对于ROS C#接口,https://github.com/siemens/ros-sharp遵循以下步骤

https://stackoverflow.com/questions/56365203
复制相似问题