ros

ros gazebo it says it's incompatible with that RT

廉价感情. 提交于 2020-08-12 14:08:09
环境说明 ubuntu 16.04 osrf/ros:kinetic-desktop-full-xenial gazebo 7.0.0 问题 gzserver: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreRenderSystem.cpp:546: virtual void Ogre::RenderSystem::setDepthBufferFor(Ogre::RenderTarget*): Assertion `bAttached && "A new DepthBuffer for a RenderTarget was created, but after creation" "it says it's incompatible with that RT"' failed. Aborted (core dumped) 原因 gazebo 版本太低,不兼容 解决 卸载 gazebo 相关 $ sudo apt-get remove ros-kinetic-desktop-full $ sudo apt-get remove ros-kinetic-gazebo* $ sudo apt-get upgrade 1.1 方法一:参照官方 Overview and Installation 安装 gazebo

AGV底层项目总结

戏子无情 提交于 2020-08-12 13:52:56
研一入学后刚好赶上实验室的AGV项目,主要负责AGV车体的驱动和上层ROS端的指令数据交互。断断续续做了将近4个月(别问我为什么是陆陆续续——甲方的需求就是陆陆续续提的),涉及车体驱动器的驱动、底层硬件平台PCB的绘制、软件代码的编写。个人感觉收获甚多。现在来从芯片的使用和代码设计技巧两方面对项目进行总结。 芯片的使用 项目中所用的核心芯片采用STM32F103ZET6;通信芯片采用CAN、RS485、RS232;电路保护芯片采用运放LM358、光耦TLP521-4。 CAN CAN通信数据的成帧处理功能的实现需要满足两个条件:CAN控制器与CAN收发器。 CAN控制器用于将欲收发的信息(报文)转换为符合CAN规范的CAN 帧,通过CAN收发器,在CAN-BUS上作信息的交互,实现CAN总线的协议底层以及数据链路层。CAN发送过程中进行位填充、添加CRC校验、应答检测等操作;CAN接收过程中进行收发比对、去位填充、执行CRC校验等操作,此外还需要进行冲突判断、错误处理等诸多任务。CAN控制器芯片可分为两类:独立的控制器芯片(如SJA100)与结合微处理器的控制器芯片(如STM32芯片),这里选择第二种。 CAN收发器是CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据

ROS 多个传感器 publish 同一个Topic

给你一囗甜甜゛ 提交于 2020-08-12 09:09:03
梳理一下概念 ROS Node 之间进行通信所利用的最重要的机制就是消息传递,在 ROS 中,消息有组织的(其实就是定义 Msg 格式)放到 Topic 里进行传递 Publisher 生成信息,通过ROS Topic与其它Node进行通信。 通常用于处理原始的传感器信息,如相机、编码器等。 Subscriber 接收信息,通过ROS Topic接收来自其它Node的信息,并通过回调函数处理 通常用于监测系统状态,如当机器人关节到达限位位置时触发运动中断 Topic 通信过程为: Publisher 节点和 Subscriber 节点分别在 Master 进行注册 Publisher 发布 Topic Subscriber 在 Master 指挥下订阅 Topic,从而建立起 Pub-Sub 之间的通信 注意:消息是直接从发布节点传递到订阅节点,并不经过 Master,只是从 Master 获取到 Topic 信息 下图是ROS Node和ROS Topic概念的图形化表示,我们可以看到两个Node(圆形)通过Topic(长方形)实现通信 Topic通信的特点为: 1. Topic通信是多对多的异步通信方式: Topic Publisher调用publish()方法发布消息,发送完立即返回,不用等待反馈;Subscriber通过回调函数的方式来处理消息。 对于同一Topic

openeuler 打包ros-comm

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-11 02:46:25
1.在树莓派上安装openeuler: 跟随这罗老师的tutorial配置好ros安装所需要的一些环境, 参考链接: https://gitee.com/yunxiangluo/ros_openeuler?_from=gitee_search 这篇博客目的是在openeuler源码编译ros-comm,然后在将rpm包进行打包,并且验证打包可执行程序 因此着重记录一下跟罗老师tutorial当中需要注意或者说不同的地方 2.下载ros-common源码 在你的workspace当中执行: rosinstall_generator ros-comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall 这条指令的目的是将ros-comm当中所有的52个pkg的url链接写入到melodic-ros_comm.rosinstall文件当中,里面会包含各个pkg的版本号,后续自己打包的时候,也是需要版本号的 wstool init -j8 src melodic-ros_common.rosinstall 这条指令的目的是,根据melodic-ros_common.rosinstall文件当中的下载链接,将ros-comm当中的源码下载到src目录当中, 然后通过 ./src/catkin/bin/catkin

Ubuntu18.04、ROS安装教程及相关问题解决

孤街醉人 提交于 2020-08-10 16:19:27
Ubuntu18.04、ROS安装教程及相关问题解决 Ubuntu18.04安装 ROS安装 Ubuntu18.04安装 参考大佬https://blog.csdn.net/baidu_36602427/article/details/86548203 其中的分区设置如果觉得复杂,可以参考下面的方案: 1.分配100MB左右给EFI(选项中有,这个很重要,一定要最先分配) 2./ 主分区 Ext4 30GB(装ubuntu系统) 3./boot 主分区 Ext4 1GB(缓存) 4.swap交换空间 16GB(根据电脑内存来设置,一般和内存大小保持一致即可,小于8G的电脑内存可以分配比电脑内存大一点) 5./home 逻辑分区 Ext4 剩余的内存(工作空间) 有独显的电脑需要之后再装显卡驱动,不然登录界面会很卡,参考大佬 https://blog.csdn.net/weixin_43820996/article/details/100676292 ROS安装 注意版本对应!!! 注意要联网 Ubuntu18.04对应Melodic版本ROS 安装参考大佬https://blog.csdn.net/qq_41450811/article/details/99079041 可能会出现的问题: 1.运行sudo rosdep init报错”…done” 原因:网络太差

关于offboard模式下给飞控传的到底是什么数据

我怕爱的太早我们不能终老 提交于 2020-08-10 16:18:23
https://dev.px4.io/v1.9.0/en/ros/mavros_offboard.html 官方这个只用传个pose就可以了,也就是坐标点(0.0.2)它就可以飞到2米高的地方,但问题是,这估计是基于GPS的 我要是基于双目SLAM的呢,定位信息是不是也要通过MAVROS发给飞控呢?期望位置要发这个可以确定,那这个定位信息是怎么发的?所以最后程序是怎么写的? 这是我一直一来没有弄清楚的东西。 我推理应该是当前位置和目标位置信息都需要发送才行,不然无人机不可能完成相应的任务啊。 https://blog.csdn.net/sinat_16643223/article/details/107830078 https://www.bilibili.com/video/BV1H5411t7Fx?from=search&seid=12190066108915088657 这里也是说 SET_POSITION_TARGET_LOCAL_NED 这个消息,是否offboard模式下和PX4通信就是这个格式的数据 https://blog.csdn.net/xiaochengyexiao/article/details/70551203 https://www.bookstack.cn/read/TranslationPx4/10_Robotics-using-ROS

CLion编译ros

拟墨画扇 提交于 2020-08-10 13:55:26
在编译环境中启动Clion CLion需要获取ROS特定的环境变量。 在ros工作空间中运行 source . / devel / setup . bash 以设置环境变量。 为了让ros获取到环境变量,在ros工作空间下运行 sh PATH_TO_CLION / bin / clion . sh 注意把 PATH_TO_CLION 替换成自己安装clion的路径。 在CLion打开一个ROS项目 启动CLion后就要打开ros项目了。 单击File|Open选择ROS工作区的src目录中的CMakeLists.txt文件,确定后点击弹窗中的open as project。 注意: ros工作区下的src中可能没有CMakeLists.txt,此时我们就需要选择单个package下的CMakeLists.txt了,选择后仍然单击open as project,此时一个package作为一个project了。 结果如下: 把build路径设置到catkin workspace下 默认情况下,CLion将生成输出放在自动创建的cmake build debug或cmake build release目录中。对于ROS开发,这意味着将在CLion和运行catkin_make的console中有两个不同的版本。 要在IDE和控制台上进行单个构建

ubuntu16.04 install ros kinetic

♀尐吖头ヾ 提交于 2020-08-10 08:16:34
install guide http://wiki.ros.org/kinetic/Installation/Ubuntu failed at: sudo rosdep init rosdep update got error: ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down. solution: git clone https://github.com/ros/rosdistro.git 到 /home/cam/git/ sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/main.py sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources

奥比中光Astra Pro在ROS系统中的使用

纵饮孤独 提交于 2020-08-09 22:29:13
奥比中光Astra Pro在ROS系统中的使用 上一次介绍了Astra Pro在ubuntu中的使用,由于Astra Pro使用uvc传输彩色图像,所以当用rqt_image_view窗口 时,看不到彩色图。需要安装libuvc和libuvc_ros。 安装ROS功能包 1 sudo apt- get install ros-kinetic-astra-camera ros-kinetic-astra-launch 使用命令 1 roslaunch astra_launch astra.luanch libuvc的安装 1 cd ~ 2 git clone https: // github.com/ktossell/libuvc 3 cd libuvc 4 mkdir build 5 cd build 6 cmake .. 7 make && sudo make install libuvc_ros的安装 1 cd ~/catkin_ws/ src 2 git clone https: // github.com/ktossell/libuvc_ros 3 cd .. 4 catkin_make 编译错误及解决办法 提示找不到JpegPkg这个库。 我换回了旧版本的linuvc和libuvc_ros安装包,解决了这个问题。下载地址: https://i.cnblogs.com