ros
重智成城
重要的事情多了
展开
-
ros机械臂末端添加一个六维力传感器
ros机械臂末端添加一个六维力传感器首先在ros中有rviz和gazebo,六维力传感器的这个插件是在gazebo上,所以仿佛在rviz中是无法展示它的topic的,这是第一注意的点然后呢我们做一个六维力传感器的模型,意思意思一下就ok,不用完全复刻出来,在之前,我们使用的是一个机械臂在soildswork导出其URDF,那么这次我们需要这个传感器装配起来,然后再导出URDF.最后就是在画soilds时,最好是从原点出发,这样子URDF的标签中的xyz,rpy会十分地简便,方便你可以直接在URDF或者原创 2020-08-21 16:22:56 · 3313 阅读 · 9 评论 -
moveit概述以及python接口
MOVEIT——移动它用户可以通过以下三种方式之一访问move_group提供的操作和服务:①在C ++中 -使用move_group_interface软件包,该软件包为move_group提供易于设置的C ++接口②在Python中 -使用moveit_commander包③通过GUI-使用Movi的Rviz插件(ROS可视化工具)可以使用ROS参数服务器配置move_group,从该服务器还将获取机器人的URDF和SRDF。组态move_group是ROS节点。它使用ROS para原创 2020-08-19 21:17:04 · 4588 阅读 · 0 评论 -
ros中机器人逆向运动学的四元数求解
四元数q=[w.x,y,z]=[q0,q1,q3,q4]欧拉角angle=[row,pitch,yaw]=[r1,r2,r3]旋转矩阵R=[r11 r12 r13 r21 r22 r23 r31 r32 r33]旋转矩阵转为四元数q0=0.5*(1+r11+r12+r13)^0.5q1=(r32-r23)/4q0q2=(r13-r31)/4q0q3=(r21-r12)/4q0旋转矩阵转为欧拉角四元数转旋转矩阵公式:欧拉角转四元数公式:四元数转欧拉角公式:原创 2020-08-19 12:05:40 · 1521 阅读 · 1 评论 -
制作udrf文件(二)
接下来我们便进入最重要的一个环节第一步就是设置每个关节的对应的坐标系和参考轴。比如设置机械臂的基坐标系就如上图所选。同时机构部分也要选择正确。我把每个关节的详细信息都通过图片一一展示,最后一个末端执行器的坐标情况特殊,需要额外注意,多次的实验发现,这样子设置是正确的。第二步便是需要设置机械臂的关节的运动范围,关节力矩和额定速度,以及设定一下摩擦力和阻尼的大小(由于没有详细的资料,所以设计了一些较小的数值。到此便生成了标准的udrf文件,是对学习机械臂的准备。如果使用的效果差强人意,可原创 2020-06-06 21:55:09 · 428 阅读 · 0 评论 -
soildworks制作一个urdf文件(一)
为了完成标题所述的目标,我们需要给soildworks软件添加一个额外的功能,就是soildworks导出urdf文件。再完成这一步后,我们需要给六自由度机械臂模型添加一些参考点,参考轴,和参考坐标系。参考轴参考点以及是基坐标系和每个关节的坐标系,以及还有一个虚拟坐标系(末端执行器)以上便是一些小准备,还没有正式进入创建udrf文件的环节...原创 2020-06-06 17:18:04 · 557 阅读 · 0 评论 -
六自由度机械臂的solidworks模型图及分享
之前曾经在一个机械臂制造商的网站上浏览过一款机械臂华数603桌面级六自由度机械臂。于是便想使用该款机械臂来学习ros。于是我便使用了solidworks将这款机械臂按照一比一的比例画了出来,但是长度的数据是完全一致的,便于在gazebo仿真。下面将图贴上,需要该款资源的朋友,可以关注一下我,然后加扣扣3463288526也可以到华数机器人官网查找数据,并没有抄袭,只是借用了数据。嘻嘻嘻,望见谅。......原创 2020-06-06 16:37:06 · 10577 阅读 · 6 评论 -
ros 2.1 安装一些必备的功能包
ros-kinetic 在下载下来后,其实有很多功能包都是没有的,需要人为地去添加这里安装功能包的方法是sudo apt-get install ros-kinetic- package-name我之前使用过中科院一个教程的包,在编译时出现很多错误,原因就是缺少一些功能包,在复制粘贴到网路上找到解决办法后,我也渐渐会看错误了,利用上面的方法,能解决功能包缺失的情况。...原创 2020-05-29 12:23:07 · 980 阅读 · 0 评论 -
ros 学着写一个launch文件
以前的写过的节点为例,有两个节点,写一个launch文件同时运行这两个节点,并使用rqt_graph 指令查看节点和topic。首先我们需要知道 how to create a launch folder in the package ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200529115218300.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200529115734973.png?x-os原创 2020-05-29 12:03:17 · 143 阅读 · 0 评论 -
Rqt插件的指令
在新的终端上输入rqt_console 查看消息的具体内容在新的终端上输入rqt_console 查看节点和主题的信息在新的终端上输入rqt_plot在新的终端上输入rqt_bag在新的终端上输入rviz 查看图像和3d 数据原创 2020-05-29 11:27:56 · 340 阅读 · 0 评论 -
ros 1.7.2 使用msg文件创建一个节点
上篇博文,我创建了一个发布者的节点,现在我们来创建一个订阅者的节点#include <ros/ros.h>#include <example/messageA.hvoid messagecallback(const example::messageA ::ConPtr& msg){ROS_INFO(“I heard [%1d] [%1d] [%1d]”,msg->a,msg->b,msg->c);}int main(int argc,char原创 2020-05-27 20:35:54 · 62 阅读 · 0 评论 -
ros 1.7 .1使用自定义的msg文件创建节点
在之前创建节点的时候,我们曾经使用过一个名为std_msgs的消息类型,现在我们使用一个功能定义一样的msg文件#include <ros/ros.h>#include <example/messageA.h>#include int main(int argc,char **argv){ros::init(argc,argv,“example_a”);ros::NodeHandle n;ros::Publisher pub =n.advertise <exam原创 2020-05-27 20:19:38 · 146 阅读 · 0 评论 -
ros 1.6.3使用新建的srv文件创建一个客户端
#include <ros/ros.h>#include <example/messageB.h>int main(int argc,char **argv){ros::init(argc,argv,“example2”);if(argc !=4){ROS_INFO("usage:add_3_ints_client a b c);return 1;}ros::NodeHandle n;ros::ServiceClient client = n.serviceC原创 2020-05-27 16:10:30 · 100 阅读 · 0 评论 -
ros 1.6.2使用新建的srv文件创建一个服务端
在上一遍笔记中已经创建好了srv和msg文件,那么这篇笔记就是来使用这些文件来创建新的节点add a new nodecreate a new folder named example1.cppint <ros/ros.h>int <example/messageB.h> //在devel/include/example中,我也发现了生成的节点的可执行文件在devel/include /lib/example中bool add(example::messageB::req原创 2020-05-26 22:18:56 · 100 阅读 · 0 评论 -
ros 1.6 srv和msg文件
首先在example功能包上再次创建两个节点那么一共就有四个自己创建的节点其中一个节点作为服务器,另一个节点作为客户端不过在此之前,需要在example功能包上创建一个msg文件和srv文件。第一步学会自己如何创建一个消息首先创建一个messageA.msgint64 aint64 bint64 cthen create a folder named messageB.srvint64 aint64 bint64 cint64 sumthen配置package.xml文件当你原创 2020-05-26 21:33:53 · 91 阅读 · 0 评论 -
ros 1.5(2)
在创建功能包时,使用roscreate-pkg example roscpp rospy std_msgs进入后在src文件中放置上篇的两个节点的程序然后是配置camkelist文件使用rosbuild_add_executable(example_publish src/example_publish.cpp)rosbuild_add_executable(example_subscriber src/example_subscriber.cpp)格式为rosbuild_add_execu原创 2020-05-26 20:24:37 · 132 阅读 · 0 评论 -
ros 1.5 创建一个有用的节点
首先在先前已经创建好的两个节点 一个是test 一个是test1使用test 作为一个发布者,使用test1作为一个订阅者他们之间有一个主题topic在进行联系。首先在创建一个cpp 文件前,需要配置好package文件和camke文件。在cmake文件中加入下面一句add_executable(test src/example.cpp )target_link_libraries(test ${catkin_LIBRARIES})...原创 2020-05-26 18:23:58 · 118 阅读 · 0 评论 -
ROS 1.4 利用主题与节点交互
要进行交互和获取主题的信息,可以使用rostopic 工具。rostopic pub 可以发布任何节点都是可以订阅的主题,我们只需要用正确的名称将主题发布出去。rostopic pub -(次数)/[topic名字]/ [msg_type][args]如rostopic pub -r /turtle1t/cmd_vel turtlesim/velocity --11第一步先来认识发布者和订阅者之间的联系。rosrun turtlesim turtlesim_noderosrun tur原创 2020-05-25 21:30:37 · 116 阅读 · 0 评论 -
ROS 1.3 运行第一个节点
适合acer本安装失败无数次的朋友服用。第一步 制作闪存启动盘使用软件为 rufus 3.1 (官网下载)乌班图16.04镜像 (官网下载,迅雷下载,速度可以,由于需要使用ros-kinetic )由于我的电脑是 acer aspire f15 bios模式属于uefi,所以在制作启动盘时,选择GPT和uefi模式。(重点)第二步重启打开bios ,acer本按f2进入。先将是设置security boot passward 这样就能将网络上所说的security boot 设置为dia原创 2020-05-25 20:34:05 · 398 阅读 · 0 评论 -
ros 1.2
创建一个工作空间mkdir -p catkin_ws然后在打开使用ctrl +h,找到.bashrc文件,在最后一行添加source /opt/ros/kinetic/setup.bashsource ~/catkin_ws/devel/setup.bash这样就能创建和配置好自己的新工作空间然后创建一个新的功能包testcd catkin_ws /src 进入工作空间中的src 文件roscreat -pkg test (依赖一,依赖二,依赖三)关于依赖,使用的时候可以查看参考功能包原创 2020-05-25 16:09:02 · 76 阅读 · 0 评论 -
ros 1.1
ros入门之节点指令rosnode info node 输出当前节点信息rosnode list 列出当前活动节点ros入门之主题指令rostopic echo 将消息输出到屏幕上rostopic list 查看当前活动的主题(topic)rostopic pub 将数据发布到一个主题上feros入门之服务指令rosservice list 输出服务清单rosservice call 根据命令行参数调用服务ros入门之消息指令rosmsg show 显示出一条消息的字段rosms原创 2020-05-25 15:42:38 · 153 阅读 · 0 评论