自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 资源 (10)
  • 收藏
  • 关注

原创 当QT的ui文件修改时自动转换为python文件

在使用PySide/PyQt进行Qt的界面开发时,如果界面比较复杂通常会使用ui文件来进行设计。通常有两种方法来使用ui文件:直接使用QUiLoader加载ui文件。这种方法的确定就是在python中调用ui中的widget比较麻烦,而且无法有效地使用如pycharm和vscode提供的智能化的索引和提示功能。将ui文件转化为python源代码。这就如同在QtCreator中用C++写Qt代码时会将ui转换成c++文件一样。不过这需要借助pyside6-uic工具在命令行中手动地执行这样操作,每次修改

2022-05-19 03:22:20 1341

原创 关于vscode的智能搜索intellisense的问题

在linux下使用vscode开发C/C++项目时,项目引用了Eigen库。最开始在x86和armhf平台下,都没有问题。但后来切换到aarch64平台(也就是64位arm),还是使用x86平台对aarch64项目进行交叉编译。但这时候Eigen::Vector3d竟然识别不了,使用"Go to Definition"也跳不过去,提示"no definition found for Vector3d"。虽然程序可以正常编译通过,但是对Eigen库却无法进行智能索引和提示,则多少有些恼火,差点就想着转去CLi

2022-05-17 00:28:29 4382 3

原创 VSCODE下以管理权限调试C/C++程序

在项目的目录下创建一个名为sudo_gdb的文件,内容如下:sudo /usr/bin/gdb "$@"使它变为可执行,这点很重要修改gdb lunch的配置(点击齿轮按钮),在配置文件中加入如下内容:... "externalConsole": false, "miDebuggerPath": "${workspaceFolder}/sudo_gdb", "MIMode": "gdb",...这样再运行..

2021-06-23 09:36:07 2827 1

原创 linux下实时时钟芯片(RTC)的读写

硬件由于项目的需要在ARM嵌入式板子上挂上了一颗EPSON的RX8010实时时钟芯片,为数据采集提供可靠的时间。RX8010内置了具有温补的晶振,可以简化设计,而且也不贵,所以就选择了它。电路图如下图所示。其中通过一个BAT54C来完成电池和DC电源供电之间的切换。在设计的第一板中出现了严重的低级错误,那就是没有给I2C总线加上上拉电阻。这个源自于对ARM芯片GPIO的误解,以为内置了上拉电阻。所以导致在调试时作为普通GPIO使用时能够测到有波形输出,而作为I2C使用时没有信号。一度怀疑是不是Linux

2020-09-03 17:54:55 3036

原创 机器人的ros_control硬件接口设计

文章目录基本代码HRT120_HardwareHRT120_HardwareInterface类定义构造函数init()函数update()函数HRT_hardware_interface_node相关配置文件参数文件ros_controllers.yaml启动文件load_model.launchhardware.launchros_controllers.launch基本测试加载模型运行硬件接...

2019-11-15 13:25:12 3436 5

原创 ROS&Moveit中机械臂的点动(Jog)实现

文章目录启动文件的分析ur_gazebo/ur5.launchur5_moveit_config/ur5_moveit_planning_execution.launchur5_moveit_config/moveit_rviz.launch控制控制器的切换moveit_jog_arm/spacenav_cpp.launch手动输入jog_server的工作原理在最新的Moveit中提供了mov...

2019-11-12 13:08:56 3043 1

原创 apriltag使用之三:机械臂与Apriltag码对齐

相机到Apriltag的对齐上面是一个简单的手画的关于机器人、摄像头以及Apriltag码之间的位置关系图。机器人的基坐标系{s}由(xs,ys,zs,ts)(\mathbf{x_s,y_s,z_s,t_s})(xs​,ys​,zs​,ts​)表示,摄像头的初始位置的坐标系{c}由(xc,yc,zc,tc)(\mathbf{x_c,y_c,z_c,t_c})(xc​,yc​,zc​,tc​)表...

2019-11-01 16:43:54 2221 2

原创 通过外部程序获得Moveit-Rviz的MotionPlanning面板相同的操控能力

在Moveit-Rviz启动之后,在机器人的末端会显示一个Interactive Marker用来指示目标方位,可以通过鼠标来移动和旋转该Marker,操作时会有一个虚拟的机器人随之运动。当按下MotionPlanning面板中的Plan按钮便会显示从当前方位到目标方位的一个运动轨迹。当按下Execute按钮后机器人就会实际运动到目标方位。Moveit在rviz中提供的操控Topic当勾选Mo...

2019-10-30 14:12:23 1433 1

原创 Apriltag使用之二:方位估计(定位)

Apriltag中计算的Homography首先,在进行apriltag码检测时,如果检测到会一并计算出图像上apriltag码四个角点对应的homography矩阵,这个homography将这些点映射到到标准的(-1,1),(1,1),(1,-1),(-1,-1)顶点。在上面的示例一中,由homography和apriltag角点为:H = [ 3.3831e-01 7.066e-...

2019-10-25 14:48:38 13487 21

原创 Apriltag使用之一:python下的安装与检测

安装在python中有几个实现的apriltag包。在windows下:pip install pupil-apriltags在linux下:pip install apriltag简单示例示例一这个例子中读取一个图像文件并对#!/usr/bin/env python# coding: UTF-8import apriltag#import pupil_apriltags...

2019-10-22 10:57:24 16033 20

原创 linux下opencv&ros&python开发环境配置

开发软件eclipse CDT,用于C/C++语言下开发ROS和opencv程序Pycharm Commnunity,用于Python语言下开发ROS和opencv程序Anaconda2-2019.07,Python语言环境。之所以按照Python2.7对应版本,是因为ROS1.0的Python接口是2.7的。OpenCV的简易安装与配置安装Ubuntu 18.04自带的opencv...

2019-10-12 14:37:14 1476 3

原创 ROS&OpenCV下单目和双目摄像头的标定与使用

文章目录ROS下单目摄像头的Calibration安装usb_cam包启动摄像头显示摄像头图像Calibration校正文件图像的去畸变双目摄像头的Calibration独立图像的双目摄像头合成图像的双目摄像头创建ROS package修改camera_split包的CMakeLists.txt文件创建源代码文件使用ROS下单目摄像头的Calibration安装usb_cam包sudo ap...

2019-10-10 15:28:42 5715 12

原创 20190830-ARM Compute Library的使用--图像存取和转换

下载linux版本的arm-compute-library,解压出来即可使用。compute library支持neon和opencl方式,neon方式时利用原生的ARM的neon硬件进行加速。而opencl是一个并行计算框架,同时支持neon硬件和GPU硬件。由于现在使用的ARM的GPU还不支持OpenCL方式,因此就使用预编译库中的linux-armv7a-neon目录中的库文件。编译一个程序...

2019-08-31 09:53:29 3531 2

原创 关于如何让moveit输出固定时间步长的轨迹点

为什么使用Industrial_trajectory_filters包?因为Moveit生产的轨迹是等距而非等时的。但是在工业应用的机器人中,通常都是按照固定的周期来控制关节轴运动。因此moveit原生的轨迹与实际机器人控制需求之间存在不匹配,这就需要通过一定的方法或工具来进行对接。Industrial_trajectory_filters功能包便可以解决轨迹对接匹配问题。为了使用Industri...

2019-07-23 15:17:00 3757 20

原创 MoveGroupInterface功能分析

普通运动关节运动给定一个目标关节值,将机械臂运动到这一个目标:moveit::planning_interface::MoveGroupInterface move_group(groupName);move_group.setJointValueTarget(target_position);moveit::planning_interface::MoveGroupInterface:...

2019-07-10 09:55:18 2516 5

原创 通过moveit在rviz中场景中创建和操控物体

在使用Moveit联合Rviz进行运动规划时,场景中单单只有一个机器人通常是不太够的。一方面,机器人的操作对象可能是不同形状的物体,需要被添加到场景中。另一方面,操作物体的放置环境(比如桌面等等)也应该模拟出来。因此,如何在场景中添加一些必要物体是非常重要的。Rviz中的MotionPlanning插件中,可以一个一个地添加模型文件到场景中去,但这种方式只适合简单的场景。而且,当你通过某种方式将...

2019-05-24 07:37:17 6685 9

原创 机械臂在ROS2的rviz2中的显示问题

前言当准备从ROS1转到ROS2时,本来满怀欢喜的,不想刚刚开始就受到了打击。真的想摔键盘骂娘,这是什么破玩意儿,这么个半成品也好意思拿出来正式发布,连个像样的文档也没有。在ROS1中要显示机械臂的模型是一件非常简单的事情,但在ROS2中却感觉无从下手,在google中竟然没有一篇文章介绍怎么来操作。本着不放弃的精神,还是好好研究一下其中的原委吧。尝试在ROS2中提供了一个dummy_rob...

2019-05-18 16:43:16 2731

原创 ROS中Moveit生成的轨迹如何作用于实际的机器人(三)

joint_state_publisher前面两篇文档已经分析了moveit使用Action方式与实际的关节控制器进行通信并控制关节电机旋转,现在我们再来分析一下关节状态的返回。仍然以moveit提供的panda_moveit_config包为例。查看demo.launch文件,可以看到里面有如下内容:<arg name="use_gui" default="false" />&...

2019-05-13 16:54:17 3647 2

原创 基于boost::asio的异步tcp通信框架

最近在做ROS与树莓派进行通信时,发现boost:asio库还蛮强大的,就试着用asio写了一个简单的使用tcp传输轨迹数据到树莓派,让树莓派控制步进电机旋转的代码。其实也就是将asio的功能封装成了两个类而已。asio_server类运行于树莓派上作为服务器,asio_client运行于PC上作为客户端。刚开始写的代码仅仅是客户端发送,服务器端接收这么简单。但后来一想,树莓派不是还要返回数据给R...

2019-05-07 14:58:21 2979 2

原创 ROS中URDF格式和使用

URDF定义为了方便查看,将常用的urdf格式文件的元素定义做成了一张简表。 <joint> name="joint nane",type="continuous(无限旋转)/fixed(固定关节)" <origin xyz="1,2,3", rpy="0,0,0">,指定相对于父link的坐标变换,其中xyz为相对的位置...

2019-05-07 14:11:24 12096 1

原创 ROS1--创建package并添加到eclipse环境

必备条件操作系统为Ubuntu 18.04,安装好ROS melodic或其它版本。安装好eclipse。步骤首先创建一个工作空间,名称为ros1_ws:mkdir –p ~/workspace/ros1_ws/srccd ~/workspace/ros1_ws/srccatkin_init_workspace然后采用生成eclipse对应的相关文件:cd ~/workspace...

2019-04-25 15:47:03 361

原创 ROS中Moveit生成的轨迹如何作用与实际的机械臂(二)

操作系统:Ubuntu 18.04在<ROS中Moveit生成的轨迹如何作用与实际的机器人(一)>中,我们论述了moveit怎样产生机械臂的轨迹规划点,并创建了一个Action Server节点来接受轨迹点信息。接下来便是考虑用这些轨迹点来使一个实际的机器人运动了。由于PC上缺乏直接的产生脉冲的设备,因此我们就需要再借助额外的硬件来完成。那么就有两种方案来实现。在Action ...

2019-04-25 15:09:36 3628 1

原创 ROS中Moveit生成轨迹如何作用于实际的机械臂(一)

ROS使用Moveit来对机械臂进行轨迹规划,而Moveit使用ControllerManager插件接口的形式来发布轨迹信息给机械臂的控制器。为了能让机械臂(无论是真实的还是虚拟的)按照计算的轨迹动起来,就必须实现这一个接口。在Moveit中提供了两个具体的接口实现,即simple_controller_manager和fake_controller_manager。fake_controlle...

2019-04-22 14:15:29 9208 6

原创 ROS2--笔记4--通过命令行给节点传递参数

操作系统:Ubuntu 18.04所有的ROS节点都带有一组参数来允许其属性的重配置。例如配置节点的name/namespace,使用的topic/service名称等。名称重映射在节点中的名称(例如topic/service名称)可以被重映射,使用的语法为:=。而节点自己的名字/名字空间可以使用__node:= 和__ns:=来完成。这些都是静态映射,配置后会影响节点的整个生命周期。例...

2019-03-01 15:58:25 1627

原创 ROS2--笔记3--RQt的概念和使用

操作系统:Ubuntu 18.04概念RQt是一个图形化用户接口框架,它允许以插件的形式来实现各种图形工具和接口。在RQt中你能以可停靠窗口的形式来运行所以存在的GUI工具。可以通过命令“rqt”来运行RQt工具和插件。这个GUI允许你载入并运行任何插件。当然,你也可以以独立窗口的形式运行插件。例如如下命令打开一个基于rqt的python终端:ros2 run rqt_py_console...

2019-03-01 15:52:26 5561

原创 ROS2--笔记2--命令行工具

UsageROS2的主要命令行入口为“ros2”,它有着各种各样的子命令来完成与nodes,topics,services等相关的工作。使用“ros2 --help”可以查看到:daemon:查看和配置ROS 2的守护进程launch: 运行一个launch文件lifecycle:查看和管理节点的生命周期msg: 查看msgnode:查看节点param: 查看和配置节点上的参数...

2019-03-01 15:45:36 940

原创 ROS2--笔记1--使用colcon来构建packages

背景该文档使用的Colcon是一个用于改进buiding和testing工作流的命令行工具。它能自动地处理和设置使用各种工具包的环境。该文档的内容基本与ROS2的源代码build过程一致。要对源代码进行build,也需要安装一些依赖包,可参照ROS2的安装过程。基础ROS工作空间是一个有着特定结构的目录。通常里面都包含一个src子目录。Src子目录里面就是ROS包的源代码的所在。这个子目录...

2019-03-01 15:41:58 4378 1

原创 ROS2--笔记0--安装

ROS2--教程0--安装设置Locale设置软件源安装依赖库安装ROS2软件包设置ROS环境操作系统:Ubuntu 18.04设置Locale确保系统的local支持UTF-8。进行如下的命令设置:sudo locale-gen en_US en_US.UTF-8sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8export ...

2019-03-01 15:16:25 272

Robotics Toolbox for MATLAB

对应Robotics, Vision and Control第二版的Robotics Toolbox,v10.2

2018-04-26

Multiple_View_Geometry_in_Computer_Vision ppt

Multiple_View_Geometry_in_Computer_Vision的完整PPT讲义

2016-05-23

Robotics Toolbox 9.8

Robotics Toolbox的最新版本,需要的下载。

2013-07-09

XILINX的ISE软件LICENSE

ISE的版本12.X到14.X都可以正常使用

2013-02-21

linux设备驱动开发part2

~~~~~~~~(第二版,中文) 这本书还不错~~~

2009-02-11

linux设备驱动开发

~~~~~~(第二版,中文) 这本书还不错~~~

2009-02-11

中兴EDA工具手册(Cadence)

介绍cadence concept hdl和allegro 电路板制作软件的手册,很实用

2008-12-13

WINCE启动流程解析

详细讲解了windows ce系统的启动过程!!!!

2008-11-18

数字信号处理及其Matlab实现

见书名...............

2008-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除