小编lua*_*tor的帖子

协议缓冲日志记录

在我们的业务中,我们需要记录进入我们服务器的每个请求/响应.目前,我们使用xml作为标准实现.如果我们需要调试/跟踪某些错误,则使用日志文件.

如果我们切换到协议缓冲区,我有点好奇,因为它是二进制的,记录请求/响应文件的最佳方法是什么?

例如:

FileOutputStream output = new FileOutputStream("\ files\log.txt"); request.build()的writeTo(outout).

对于在您的应用程序中使用了协议缓冲区的任何人,如何记录您的请求/响应,以防我们需要它进行调试?

谢谢

buffer protocols protocol-buffers

7
推荐指数
1
解决办法
5796
查看次数

对image_transport的未定义引用

我正在开发ROS Qt GUI应用程序,我在ROS Hydro上面临一个问题(我在使用ROS Fuerte时遇到了同样的问题).我的项目不能识别我的图书馆image_transport.h.我将它添加到qnode.hpp文件的开头,但它没有解决问题.

我的主要问题:

/home/attila/catkin_ws/src/arayuz/src/qnode.cpp:-1:错误:未定义引用`image_transport :: ImageTransport :: ImageTransport(ros :: NodeHandle const&)'

这是生成错误的代码:

#include "ros/ros.h"
#include "ros/network.h"
#include "string"
#include "std_msgs/String.h"
#include "sstream"
#include "../include/arayuz/qnode.hpp"

namespace enc=sensor_msgs::image_encodings;

static const char WINDOW[ ]="Kinect";

namespace arayuz {

QNode::QNode(int argc, char** argv ) :
    init_argc(argc),
    init_argv(argv)
    {}

QNode::~QNode() {
    if(ros::isStarted()) {
      ros::shutdown(); // explicitly needed since we use ros::start();
      ros::waitForShutdown();
    }
    cv::destroyWindow(WINDOW);
    wait();
}

bool QNode::init() {
    ros::init(init_argc,init_argv,"arayuz");

    if ( ! ros::master::check() ) {
        return false;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ ros

6
推荐指数
1
解决办法
4533
查看次数

如何在Java中模拟按媒体键?

如何在Java中模拟按媒体键?如播放/暂停,下一个/上一个,音量控制.

C#有VK_MEDIA_PLAY_PAUSE,VK_MEDIA_NEXT_TRACK等等.

Java具有Robot使用键的类,但没有媒体键.

java hotkeys awtrobot media-keys

6
推荐指数
2
解决办法
1465
查看次数

无需复制即可将 NumPy 数组调整为较小的大小

当我使用该resize方法缩小一个 numpy 数组时(即数组由于 变小resize),是否保证不进行复制?

例子:

a = np.arange(10)            # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a.resize(5, refcheck=False)  # array([0, 1, 2, 3, 4])
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这应该始终是可能的,而无需复制。我的问题:实施是否确实保证总是如此?不幸的是,调整大小的文档对此一无所知。

python arrays numpy

6
推荐指数
1
解决办法
7193
查看次数

如何在 ROS 中发布/订阅 python“列表列表”作为主题

我是 ROS 和 rospy 的新手,并且不熟悉非简单数据类型作为主题。

我想构建一个ROS节点作为订阅者和发布者:它接收一个主题(两个列表float64),并使用一个my_function返回列表列表的函数(例如)float64,然后将这个列表列表作为主题发布。

为此,我构建了一个节点,如下所示:

from pymongo import MongoClient
from myfile import my_function
import rospy
import numpy as np

pub = None
sub = None

def callback(req):
    client = MongoClient()
    db = client.block
    lon = np.float64(req.b)
    lat = np.float64(req.a)
    point_list = my_function(lon, lat, db)
    pub.publish(point_list)

def calculator():
    global sub, pub
    rospy.init_node('calculator', anonymous=True)
    pub = rospy.Publisher('output_data', list)
    # Listen
    sub = rospy.Subscriber('input_data', list, callback)
    print "Calculation finished. \n"
    ros.spin()

if __name__ == '__main__': …
Run Code Online (Sandbox Code Playgroud)

python publish-subscribe ros rospy

6
推荐指数
2
解决办法
1万
查看次数

无法在ROS Kinetic和Python3中使用cv_bridge

我在具有ROS indigo和python3的Ubuntu 14.04上有一个计算机视觉项目,然后不得不在具有ROS动力学的Ubuntu 16.04上进行了开发。在这里,我遇到了多个问题:

1)我安装了opencv,但无法将其导入python3中,错误消息为:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import cv2
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: 
undefined symbol: PyCObject_Type
Run Code Online (Sandbox Code Playgroud)

我发现只是重命名cv2.so

cd /opt/ros/kinetic/lib/python2.7/dist-packages/
sudo mv cv2.so cv2_ros.so
Run Code Online (Sandbox Code Playgroud)

然后我能够导入cv2并使用它

2)然后我无法导入rospy,但是安装python3-catkin-pkg-modules和python3-rospkg-modules解决了该问题

3)最后,我遇到了cv_bridge的问题,它说:

[ERROR] [1520780674.845066]: bad callback: <bound method ViewsBuffer.update of <__main__.ViewsBuffer object at 0x7f5f45a07f28>>
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
    cb(msg)
  File "test.py", line 48, in update
    im = self.bridge.imgmsg_to_cv2(im, "bgr8")
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/cv_bridge/core.py", line 163, in imgmsg_to_cv2
    dtype, n_channels = self.encoding_to_dtype_with_channels(img_msg.encoding)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/cv_bridge/core.py", line …
Run Code Online (Sandbox Code Playgroud)

opencv cmake python-3.x ros

6
推荐指数
1
解决办法
7759
查看次数

我们可以使用 Github API 来确定 Github 用户是否是机器人吗?

正如标题所问,我想知道如何判断Github用户是否是机器人?下图显示了 Github 机器人的示例。我们可以使用 Github API 自动识别它们吗?或者还有其他方法吗?

GitHub 机器人的示例

api github

6
推荐指数
1
解决办法
996
查看次数

弹出页面中找不到定位器的元素

找不到Selenium这个元素:

<div class="import-file">
     <input name="ctl00$MainContent$btnAttachment" type="button" id="MainContent_btnAttachment" class="button-norl img-upload-text b" value="???????">
     <input type="file" name="ctl00$MainContent$fuAttachment" id="MainContent_fuAttachment" onchange="akUploadfile('[id$=fuAttachment]',$('[id$=hdnFileType1]').val());">
</div>
Run Code Online (Sandbox Code Playgroud)

我的机器人代码:

VA_M03_0108
[Tags]  Carregis
Login.Input user name   ${USER}         ${PASS}
SendCar
Click Element       id=ContentPlaceHolder1_rpt_search_lblCarReceiveDoc_0
Sleep  2s
Wait Until Element Is Visible     id=UpdatePanel1         timeout=20s
Choose File        id=MainContent_fuAttachment     ${CURDIR}/???????.jpg
Run Code Online (Sandbox Code Playgroud)

机器人响应:

Element 'id=MainContent_fuAttachment' not visible after 20 seconds.
Run Code Online (Sandbox Code Playgroud)

有人,请帮帮我.这是UI:https://www.sendspace.com/file/kqerdt

selenium element robotframework

6
推荐指数
1
解决办法
273
查看次数

如何在Robot Framework中实现java库

如何在 Eclipse 中创建库,然后将其导入 Robot FrameWork 中?

我现在进行了很多搜索,但没有任何指南可以帮助我。

java eclipse frameworks robotframework

5
推荐指数
1
解决办法
8759
查看次数

与发布者和订阅者一起编写ros​​节点?

我目前正在尝试在具有订阅者和发布者的Python中制作ROS节点。

我已经看到了在回调中发布消息的示例,但是我希望它“不断地”发布消息,并在实际情况下执行回调。

这是我现在的做法:

#!/usr/bin/env python

import rospy
from std_msgs.msg import Empty
from std_msgs.msg import String
import numpy as np

pub = rospy.Publisher('/status', String, queue_size=1000)

def callback(data):
    print "Message received"

def listener():

    rospy.init_node('control', anonymous=True)

    rospy.Subscriber('control_c', Empty, callback)
    rospy.spin()

if __name__ == '__main__':
    print "Running"
    listener()
Run Code Online (Sandbox Code Playgroud)

那么我应该在哪里发布?

python ros

5
推荐指数
2
解决办法
1万
查看次数