基于ros和实时目标检测算法的伤员搜救场景应用
基于ros和实时目标检测算法的伤员搜救场景应用任务
实时目标检测(yolo检测伤员并进行标定)
web框架 ,伤员录入,报警界面,小车实时监控界面
扩展功能
无人巡检系统实现
实时监控方案 Flask、Node.js 和 Vue.js 组合起来,实现视频流处理、实时视频检测、WebSocket 连接以及与 Raspberry Pi 的通信,我们需要确保每个部分都正确连接并能够互相通信。 Flask 部分 用于视频流处理和对象检测。 使用 OpenCV 和 YOLOv5 进行实时视频检测。 在检测到“down”信号时发送给树莓派。 Node.js 部分 用于处理来自前端的 WebSocket 连接。 通过 Socket.IO 接收flask(Node.js 作为中间层) Vue.js 部分 用于展示控制界面和实时视频流和 WebSocket 连接并展示rviz地图
摄像头视频流可行 检测可行 发送到树莓派应该也可行2024/7/19实现 巡检大部分功能 细化 比如地图保存 样式图标美化
下一步 修改巡航区域
2024/7/20
鸿蒙
操作系统期末复习笔记
ros
编译工作空间 CMake
首先在工作空间 catkin_ws/src/ 下递归的查找其中每一个ROS的package。
2.package中会有 package.xml 和 CMakeLists.txt 文件,Catkin(CMake)编译系统依据 CMakeLists.txt 文件,从而生成 makefiles (放在 catkin_ws/build/)。
3.然后 make 刚刚生成的 makefiles 等文件,编译链接生成可执行文件(放在 catkin_ws/devel )。
也就是说,Catkin就是将 cmake 与 make 指令做了一个封装从而完成整个编译过程的工具。catkin有比较突出的优点,主要是:操作更加简单一次配置,多次使用跨依赖项目编译。
要用catkin编译一个工程或软件包,只需要用 catkin_make 指令。一般当我们写完代码,执行一次 catkin_make 进行编译,调用系统自动完成编译和链接过程,构建生成目标文件
cd ~/ros_workspace/
catkin_make
sou ...
ros操作系统实验报告
ros操作系统实验一 开发环境搭建测试 ROS
ROS 内置了一些小程序,可以通过运行这些小程序以检测 ROS 环境是否可以正常运行
首先启动三个命令行(ctrl + alt + T)
命令行 1 键入:roscore
命令行 2 键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)
命令行 3 键入:rosrun turtlesim turtle_teleop_key(在 3 中可以通过上下左右控制 2 中乌龟的运动)
实验二 Ubuntu的使用实验三. ROS “hello world”(基于 Python 和 C++)实验四. ROS命令练习及Launch文件的使用实验五Topic 的发布与订阅实验六. 自定义 msg 的发布与订阅实验七. URDF 的练习试验实验八. 完整机器人建模实验九. Gazebo仿真实例实验十. Gazebo 仿真实例二实验十一. SLAM 建图实验十二. 机器人导航实验十三. ROS 视觉应用实验十四. 实际机器人的连接与控制
Ros
ROS的概念
一种软件框架,当我们按照它的规范编写、运行各个程序,就可以通过它的函数和工具,使我们的程序之间能够更方便地进行通信(话题、服务、动作、参数服务器),让我们调试更加方便。
特点:
分布式计算
①一些机器人搭载多台计算机,每台计算机用于控制机器人的部分驱动器或传感器;
②即使只有一台计算机,通常仍将程序划分为独立运行且相互协作的小的模块来完成复杂的控制任务。
③当多个机器人需要协同完成一个任务时,往往需要互相通信来支撑任务的完成;
④用户通常通过其他搭建ros的主机与机器人进行ros层的通信。
2.快速测试
①可以使用模拟器替代底层硬件模块,独立测试顶层部分,提高测试效率,并且可以仿真测试。【各类仿真工具】
②可以在调试过程中记录传感器数据及其他类型的消息数据,并在试验后按时间戳回放。【rosbag工具】
3.良好的开发生态
众多开发者维护的算法和工具。
ROS系统架构系统基本架构
总的来说,整个ROS的项目在部署运行过程中,分为几个部分:环境执行器传感器软件结构环境包含了软件环境和硬件环境。通常一个ROS的机器人,需要一个开发主板用于运算和控制操作。例如 ...
java常用API
1 常用API
API(:Application Programming Interface ):应用程序编程接口
1.1 Math类(java.lang)Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。
Math中没有构造方法,类的成员都是静态的(static修饰),通过类名就可以直接调用
静态常量
static final double PI = 3.141……(精确到19位)
static double exp(double a) :返回Euler的数字 e ,其值 double值。
用于计算 Euler’s 数(自然对数的底 e)的 a 次幂。参数 a 是幂的指数。
常用方法
方法名
说明
public static int abs(int a)
获取参数a的绝对值
public static double ceil(double a)
向上取整
public static double floor(double a)
向下取整
public static long round(double a)
四舍五入 ...
linux实验2
实验二1.Ubuntu 常用命令使用进行 mkdir 和 cd 等命令的操作,首先建立临时目录~/test,并进入该目录。
使用 touch 创建文件
进行 ls, cp, mv, rm, chmod 等命令的操作,查看文件列表、新建、拷贝、修改或删除文件,并查看/修改文件权限cp命令 复制文件
cp命令复制目录
chmod修改权限
rm删除命令
mv 移动、重命名
文件查找文件内容查找练习,尝试执行 find /usr/src/ -name *.c | xargs grep “#include” | cat –n,并解释这条命令。在/usr/src 目录下查找所有包含“#include”字符串的 C 文件,对其进行编号输出
系统信息查看命令练习查看系统版本发行版本号
lsb_release -a
内核版本及系统位
uname -a
内核版本及 gcc 版本
cat /proc/version
查看硬件信息cpu 信息
cat /proc/cpuinfo or lscpu
...
linux笔记
Linux快速入门(Ubuntu)Linux应用领域服务器领域
Linux 在服务器领域的应用是其重要分支
Linux 免费、稳定、高效等特点在这里得到了很好的体现
早期因为维护、运行等原因同样受到了很大的限制
近些年来 Linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛
嵌入式领域
近些年来 Linux 在嵌入式领域的应用得到了飞速的提高
Linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达
到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
Tip
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了Google、三星、摩托罗拉、NEC 等公司的大力推广
个人桌面领域
此领域是传统 Linux 应用最薄弱的环节
传统 Linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 Windows 所压制
近些年来随着 Ubuntu、Fedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,
Linux 在个人桌面领域的占有率在逐渐的提高
移动设备操作系统
各种 ...
计算机网络
计算机网络