
ros
文章平均质量分 66
集智飞行
机器人,无人机,集群协同控制领域,软硬件经验分享
展开
-
机载视频流回传+编解码方案
image_transport republish (已经是的可省略) +republish image话题(仅rqt查看可省略)h264解码 (此处应有ROS image话题)+h264编码(gstreamer) +image_transport解码 +h264编码(gstreamer) +rtsp+h264已编码。接收theora话题 +无线网络,低带宽场景。传输theora话题。原创 2024-11-27 14:01:25 · 720 阅读 · 0 评论 -
usb_cam ros包话题说明,image transport包使用
theora是一个开源的编码解码库,相较于H264性能差一些,也不支持硬件加速,默认是cpu软件编码解码。theora相较于jpeg和png,考虑了帧之间的联系,因此。png是无损压缩,压缩时间更长,一般视频流用jpeg压缩,图片或者深度图可以用png压缩。读取这些话题,除了image_raw可以直接用ros subscriber订阅,其余。如果不使用动态调整工具,可以直接通过 ROS 参数服务器修改相关参数。图像处理和分析,例如使用 OpenCV 处理图像。,我理解每帧只传输了帧之间的差异。原创 2024-11-27 11:12:33 · 422 阅读 · 0 评论 -
mavros和PX4中的海拔高与椭球高转换
同一个位置的两种高度值一般可以相差几十米,只是因为当地平均海平面是和地形有关的,凹凸不平没有规律。而ellipsoid height采用的基准是地球标准椭球模型,它的高度值和地形没有关系,只和到地心的距离有关。下文的mavros指ros1 noetic版本的,ros2版本的我还没研究。原创 2024-01-25 22:13:40 · 2112 阅读 · 0 评论 -
ROS1工作空间内多个包先后编译顺序、包内编译顺序
在ros工作空间里有packageA和packageB两个包,其中第二个包依赖第一个包。原创 2024-01-25 20:35:14 · 1083 阅读 · 0 评论 -
ROS1 nodelet用法
nodelet的好处:进程内的ROS话题发布和接收可以省去序列化和反序列化、socket通信的过程,而是通过shared_ptr共享内存实现,对于数据量大的话题也许可以降低延迟减少丢包。但前提是publisher必须用shared_ptr的方法发布话题,比如:原创 2024-01-25 16:32:30 · 564 阅读 · 0 评论 -
ROS1节点到底有几个线程
python版本的ROS1节点会给每个subscriber,每个timer新建一个线程。c++版本的ROS1节点要复杂得多。roscpp建立了一个global callback queue回调队列,所有的subscriber和timer都将自己的回调add到这个callback queue上.原创 2024-01-25 15:55:42 · 1481 阅读 · 0 评论 -
ROS导出library供其他ROS包使用
如果想用自己的so动态链接库,一种方法时在target_link_libraries时把这个so库的路径加上。当然如果这个so库本身也是ROS包导出的,那么可以导出到catkin_libraries,这样。原创 2024-01-24 17:27:01 · 612 阅读 · 0 评论 -
ROS话题queue_size的含义与设置技巧
publisher中的10就是queue_size,大小并不太重要,一般设置为超过1就行。subscriber中的queue_size大小很重要,需要最新消息的时候queue_size要设置成1,不能遗漏消息时queue_size要设置大一些。原创 2023-03-04 15:52:55 · 3344 阅读 · 2 评论 -
APM飞控使用动捕等外部定位
机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的无人机定位数据(x,y,z+四元数),然后通过 /mavros/vision_pose/pose 的ROS话题发送给APM飞控。/mavros/local_position/pose 中的四元数可能和 /mavros/vision_pose/pose 中的四元数并不相同,比如可能转了180°。机头朝向动捕坐标系y轴正向时,mission planner上显示偏航角是0°或者360°,方向是正北。原创 2023-03-03 21:04:44 · 1929 阅读 · 1 评论 -
集群多机ROS通信中间件:swarm_ros_bridge
最近写了一个无线网络环境下(比如WIFI)多机ROS通信的项目swarm_ros_bridge原创 2023-01-06 15:45:03 · 4732 阅读 · 10 评论 -
crazyswarm下载编译和使用问题整理
crazyswarm下载和编译问题整理原创 2021-12-06 13:39:05 · 2050 阅读 · 1 评论 -
四旋翼利用mavros进行GPS坐标指点飞行
先介绍一般px4飞控的xyz坐标指点飞行:利用mavros的 /mavros/setpoint_raw/local 话题可以发送东北天(ENU)坐标给px4飞控进行指点飞行。ENU坐标原点在起飞点,东向为x坐标,北向为y坐标,天向为z坐标。z坐标高度对应/mavros/local_position/local 中的z坐标,根据px4设置的不同可能是气压计、高度传感器或者差分GPS高度。下面介绍如何进行gps坐标指点飞行:户外我们往往希望给定一个gps坐标让四旋翼飞过去,而不是给定一个相对于起..原创 2021-11-23 17:34:13 · 7347 阅读 · 2 评论 -
sdf模型插入gazebo_ros_control插件
gazebo_ros_control目前只支持老版的urdf模型,官方教程:http://gazebosim.org/tutorials/?tut=ros_controlsdf模型怎么办呢?回答:https://answers.ros.org/question/223196/using-gazebo_ros_control-with-sdf-instead-of-urdf/原文:其中sdf转换urdf的代码可以用https://github.com/andreasBihlmai原创 2021-06-12 14:38:50 · 724 阅读 · 0 评论 -
gazebo中urdf、xacro、sdf模型文件关系
gazebo的模型是用xml格式的文本文件来描述的。具体有三种形式:.urdf, .xacro, .sdfurdfurdf是老的gazebo模型格式,本身有一些缺陷,也缺一些功能。但是网上很多gazebo模型都是这个格式的。urdf官方文档:http://wiki.ros.org/urdf/XMLhttp://gazebosim.org/tutorials?tut=ros_urdf&cat=connect_ros#Linkshttp://wiki.ros.org/urdf/T原创 2021-06-10 15:31:07 · 2029 阅读 · 0 评论 -
阿克曼前轮转向车gazebo模型
想要一个阿克曼转向结构车的gazebo模型,要求能够用ros话题控制前进速度和前进转角。令人惊讶的是,网上基本没有这种模型。racecar模型首先古月居提供了一个racecar的模型,可以控制速度和前轮转角。这个模型也是七八年前外国某人做的,模型非常简陋。网址:https://gitee.com/guyuehome/guyueclass/tree/main/simulation&control/ackerman_simulation这个用的是gazebo_ros_contro原创 2021-06-10 14:53:32 · 4102 阅读 · 4 评论 -
roslaunch px4 multi_uav_mavros_sitl_sdf.launch报错
在试图运行multi_uav_mavros_sitl_sdf.launch时报错:while processing /home/sp/src/Firmware/launch/single_vehicle_spawn_sdf.launch:Invalid <param> tag: Cannot load command parameter [model_description]: no such command [xmlstarlet ed -d '//plugin[@name="mavl转载 2021-05-04 20:33:47 · 901 阅读 · 3 评论 -
gazebo model的sdf文件中的uri路径
让我们先看一个gazebo模型的sdf文件iris_depth_camera_down.sdf<sdf version='1.5'> <model name='iris_depth_camera_down'> <include> <uri>model://iris</uri> </include> <include> <uri>model://depth原创 2021-05-04 19:54:20 · 2976 阅读 · 1 评论 -
plotjuggler实时绘制ros topic数据流
ros里安装plotjuggler用:sudo apt install ros-melodic-plotjuggler-ros不要用:sudo apt install ros-melodic-plotjuggler这样,plotjuggler才会显示出ros topic subscriber!!!原创 2021-04-26 16:46:53 · 5448 阅读 · 4 评论 -
rviz闪退原因和解决办法
http://sdformat.org/spec?ver=1.8&elem=world原创 2021-04-23 15:50:55 · 3888 阅读 · 4 评论 -
Ros-gazebo xacro文件命名空间
xacro是urdf模型文件的升级版。如果想要在gazebo中用ros的spawn-model以<group ns="$arg(namespace)">同时打开多个这个xacro模型,要注意xacro文件中不要设置绝对的命名空间! <gazebo> <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"> <legacyModeNS>true</l原创 2021-04-16 18:40:32 · 1394 阅读 · 3 评论 -
PX4 offboard模式能接收的mavros指令
px4 offboard模式下可以接收上位机发送来的setpoint值,可以利用ROS包mavros来发送这些setpoint(期望值)。ps: 如果只是要用上位机发送消息来切换px4模式、解锁等,不需要切换到offboard模式,因为上位机也是利用mavlink给px4发送这些指令,和地面站发送指令是一样的。本文暂时只讨论mavros中的/mavros/setpoint_raw/local话题,这个话题可以同时发送位置、速度、“加速度”指令,如果要发送姿态角和油门指令还是要用/mavros/set原创 2021-04-16 10:51:52 · 4917 阅读 · 1 评论 -
catkin build和catkin_make的区别和使用
网上找的资料都很碎,最好的资料是官方github文档:https://github.com/catkin/catkin_toolshttps://catkin-tools.readthedocs.io/en/latest/quick_start.html#initializing-a-new-workspace里面详细介绍了catkin家族各种工具的使用方法和区别,自行阅读吧。简单来说,如果ros的工作空间 (workspace) 中只有一个ros包(ros package),那么catki原创 2021-02-18 16:01:24 · 11932 阅读 · 0 评论 -
mavros坐标系转换与方向
本文写于2021年1月21日,以后mavros的坐标系方向可能还会变动。mavros的坐标系真的比较乱,而且和px4所常用的坐标系不同。px4使用的坐标系为NED(北东地)坐标系或者FRD(前右下)坐标系。然而mavros中常使用的是ENU(东北天)坐标系或者body系(下面细讲),mavros会自动将输入的ENU坐标值或者body系坐标值转换到NED坐标系中,再通过mavlink发送给飞控。mavros的话题中常见的坐标系有global系、local系、body系global系好理解,是g原创 2021-01-21 20:18:19 · 6358 阅读 · 5 评论 -
在ubuntu server上安装raspi-config并开启CSI摄像头
我的树莓派安装了ubuntu-server18.04,由于不是树莓派官方系统raspian,因此不自带raspi-config启动摄像头需要用到官方的raspi-config配置程序,进入官网地址,下载最新的deb程序wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20200817_all.deb然后进入文件夹安装:dpkg -i raspi-config_xxxxx.原创 2021-01-09 17:06:43 · 4311 阅读 · 3 评论 -
树莓派4b安装ubuntu18.04并安装ros
ubuntu官方已经支持树莓派了,官方镜像如下https://ubuntu.com/download/raspberry-pi这是一个为树莓派准备的arm架构的ubuntu,而且是server版的(服务器版,没有桌面)可惜官网只能下载到最新的20版ubuntu,网上大量教程给出的18版ubuntu链接已经失效。20版目前有很多bug,而且对应的ros noetic版本用起来也是缺胳膊少腿,因此我还是找到了ubuntu18对应的树莓派版本,直接奉上链接:http://cdimage.u原创 2020-12-09 20:24:06 · 946 阅读 · 0 评论 -
ROS usb-cam无法打开USB摄像头
usb-cam是一个用来打开摄像头并输出图像话题的ros package,可以自己建立工作空间git clone项目自己编译,也可以直接用sudo apt install ros-melodic-usb-cam安装,这时这个ros包安装在/opt/ros的ros默认路径下,不需要再添加环境路径。我遇到的问题是roslaunch usb_cam usb_cam-test.launch 相机的灯只是闪了一下,然后报错,没法显示图像这多半是因为usb_cam-test.launch文件的参数设原创 2020-09-24 08:42:06 · 3642 阅读 · 4 评论