一键安装脚本sh
首先是初始化的ros安装的一些库;
install.sh:
execute_command() {if [ "$1" = "1" ]; thenwget http://fishros.com/install -O fishros && bash fishroselif [ "$1" = "2" ]; then#gnome-terminal --title="nvidia-smi" -- bash -c "sudo ubuntu-drivers devices; exec bash"sudo ubuntu-drivers autoinstallelif [ "$1" = "3" ]; thensudo apt install -y ros-noetic-navigationsudo apt install -y ros-noetic-joysudo apt install -y ros-noetic-gazebo-ros-controlsudo apt install -y ros-noetic-joint-state-controllersudo apt install -y ros-noetic-position-controllerssudo apt install -y ros-noetic-effort-controllerssudo apt install -y ros-noetic-cv-bridgesudo apt install -y ros-noetic-controller-managersudo apt install -y ros-noetic-hector-mappingsudo apt install -y ros-noetic-gmapping
sudo apt install -y ros-noetic-plotjuggler
sudo apt install -y ros-noetic-plotjuggler-ros
sudo apt install -y libdw-dev
sudo apt install -y ros-noetic-osqp-vendorsudo apt install -y ros-noetic-joint-state-controllersudo apt install -y ros-noetic-velocity-controllerssudo apt install -y ros-noetic-position-controllerssudo apt install -y ros-noetic-gmappingsudo apt install -y ros-noetic-map-serversudo apt install -y ros-noetic-amclsudo apt install -y ros-noetic-move-basesudo apt install -y ros-noetic-nav-coresudo apt install -y ros-noetic-costmap-*sudo apt install -y ros-noetic-teb-local-plannersudo apt install -y ros-noetic-global-planner# add cyun 9.25sudo apt-get install -y ros-noetic-joint-state-publisher-guisudo apt install -y ros-noetic-controller-managersudo apt install -y ros-noetic-gazebo-ros-controlsudo apt-get install -y ros-noetic-effort-controllerssudo apt install -y ros-noetic-driver-basesudo apt install -y ros-noetic-ackermann-msgssudo apt install -y ros-noetic-rtabmap-rossudo apt-get install -y ros-noetic-ros-controllerssudo apt install -y ros-noetic-joint-state-controllersudo apt install -y ros-noetic-velocity-controllerssudo apt install -y ros-noetic-position-controllerssudo apt install -y ros-noetic-gmappingsudo apt install -y ros-noetic-map-serversudo apt install -y ros-noetic-amclsudo apt install -y ros-noetic-move-basesudo apt install -y ros-noetic-nav-coresudo apt install -y ros-noetic-costmap-*sudo apt-get install -y ros-noetic-costmap-*sudo apt install -y ros-noetic-teb-local-plannersudo apt install -y ros-noetic-global-plannersudo apt-get install -y ros-noetic-usb-camsudo apt-get install -y ros-noetic-cartographer-rossudo apt-get install -y ros-noetic-driver-basesudo apt-get install -y ros-noetic-ackermann-msgssudo apt install -y ros-noetic-navigation
sudo apt install -y ros-noetic-joy
sudo apt install -y ros-noetic-gazebo-ros-control
sudo apt install -y ros-noetic-joint-state-controller
sudo apt install -y ros-noetic-position-controllers
sudo apt install -y ros-noetic-effort-controllers
sudo apt install -y ros-noetic-cv-bridge
sudo apt install -y ros-noetic-controller-manager
sudo apt install -y ros-noetic-hector-mapping
sudo apt install -y ros-noetic-gmappingsudo apt install -y ros-noetic-joint-state-controller
sudo apt install -y ros-noetic-velocity-controllers
sudo apt install -y ros-noetic-position-controllers
sudo apt install -y ros-noetic-gmapping
sudo apt install -y ros-noetic-map-server
sudo apt install -y ros-noetic-amcl
sudo apt install -y ros-noetic-move-base
sudo apt install -y ros-noetic-nav-core
sudo apt install -y ros-noetic-costmap-*sudo apt install -y ros-noetic-teb-local-planner
sudo apt install -y ros-noetic-global-planner
# add cyun 9.25
sudo apt-get install -y ros-noetic-joint-state-publisher-gui
sudo apt install -y ros-noetic-controller-manager
sudo apt install -y ros-noetic-gazebo-ros-control
sudo apt-get install -y ros-noetic-effort-controllerssudo apt install -y ros-noetic-driver-base
sudo apt install -y ros-noetic-ackermann-msgs
sudo apt install -y ros-noetic-rtabmap-ros
sudo apt-get install -y ros-noetic-ros-controllers
sudo apt install -y ros-noetic-joint-state-controller
sudo apt install -y ros-noetic-velocity-controllers
sudo apt install -y ros-noetic-position-controllers
sudo apt install -y ros-noetic-gmapping
sudo apt install -y ros-noetic-map-server
sudo apt install -y ros-noetic-amcl
sudo apt install -y ros-noetic-move-base
sudo apt install -y ros-noetic-nav-core
sudo apt install -y ros-noetic-costmap-*sudo apt-get install -y ros-noetic-costmap-*
sudo apt install -y ros-noetic-teb-local-planner
sudo apt install -y ros-noetic-global-plannersudo apt-get install -y ros-noetic-usb-cam
sudo apt-get install -y ros-noetic-cartographer-ros
sudo apt-get install -y ros-noetic-driver-base
sudo apt-get install -y ros-noetic-ackermann-msgs# add cyun sudo apt install -y gitelseecho '输入无效,退出脚本'exit 1fi
}read -p '请输入数字(1-执行 wget,2-驱动,3-安装):' input
execute_command $input
python环境下的库:
install_python.sh:
pip install can cantools
cartographer建图的安装:
#!/bin/bash
# cyun 一键安装cartographer源码环境
# 2024.3.6
# 需要git可用(科学上网)# 1. 安装依赖
sudo apt-get update
sudo apt-get install -y \cmake \g++ \git \google-mock \libboost-all-dev \libcairo2-dev \libeigen3-dev \libgflags-dev \libgoogle-glog-dev \liblua5.2-dev \libprotobuf-dev \libsuitesparse-dev \libwebp-dev \ninja-build \protobuf-compiler \sphinx-commoncd ~/Documents
if [ ! -d "ceres-solver" ]; thengit clone https://github.com/ceres-solver/ceres-solver.git
fi
echo "ceres Document Ready"
cd ceres-solver
git checkout 1.14.x
mkdir -p build
cd build
if [ ! -f "Makefile" ]; thencmake ..
fi
make -j8
sudo make installcd ~/Documents
if [ ! -d "protobuf" ]; thengit clone https://ghproxy.com/https://github.com/google/protobuf.git
fi
echo "protobuf Document Ready"
cd protobuf
git checkout v3.6.1
mkdir -p build
cd build
if [ ! -f "Makefile" ]; thencmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF ../cmake
fi
make -j8
sudo make installcd ~/Documents
if [ ! -d "cartographer" ]; thengit clone https://gitee.com/BlueWhaleRobot/cartographer.git
fi
cd cartographer
mkdir -p build
cd build
if [ ! -f "Makefile" ]; thencmake ..
fi
make -j
sudo make installcd ~/forklift_ws/src
if [ ! -d "cartographer_ros" ]; thengit clone https://git.bwbot.org/publish/cartographer_ros
fi
cd ..
catkin_makecd ~/forklift_ws/src
if [ ! -d "Hybrid_A_Star" ]; thengit clone https://github.com/zm0612/Hybrid_A_Star
fi
cd ..
catkin_makecd ~/forklift_ws/src
if [ ! -d "pointcloud_to_laserscan" ]; thengit clone https://github.com/BluewhaleRobot/pointcloud_to_laserscan.git
fi
cd ..
catkin_makeecho "脚本执行完毕"
echo "2D:"
echo "wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag"
echo "测试命令:source ros 环境;roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:='/home/cyun/Downloads/cartographer_paper_deutsches_museum.bag'"echo "3D:"
echo "wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag"
echo "roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag"
python程序的注释内容:
#!/usr/bin/env python3
#coding=utf-8
# **************** panda_ws实现采棉功能 ****************
'''describe = "This is the description."
input_data = "Input data example."
output_data = "Output data example."
author = "cyun"
time = "2024.3.15"
cc程序的注释内容:
// *************** panda\_ws实现采棉功能 \***************
/*describe = "This is the description."
input_data = "Input data example."
output_data = "Output data example."
time = "2023-12-15"
*/
sudo不再需要输入密码:
相关文章:
一键安装脚本sh
首先是初始化的ros安装的一些库; install.sh: execute_command() {if [ "$1" "1" ]; thenwget http://fishros.com/install -O fishros && bash fishroselif [ "$1" "2" ]; then#gnome-terminal --title"n…...
WebGL在医学成像方面的应用
WebGL(Web Graphics Library)是一种用于在Web浏览器中呈现3D和2D图形的JavaScript API。它被广泛应用于各种领域,包括医学成像。以下是WebGL在医学成像方面的应用及其详细描述。北京木奇移动技术有限公司,专业的软件外包开发公司&…...
SpringBoot+layuimini实现角色权限菜单增删改查(layui扩展组件 dtree)
角色菜单 相关组件方法效果图MySQL代码实现资源菜单树组件实现权限树方法js这里我先主要实现权限树的整体实现方法,如果是直接查看使用的话可以只看这里! 后端代码Controlle层代码Service代码及实现类代码Service代码ServiceImpl代码 resourceMapper 代码…...
项目范围管理
目录 1.概述 2.主要工作 3.基础 4.项目范围管理的过程 5.规划范围管理 6.收集需求 7.定义范围 8.创建 WBS 9.确认范围 10.控制范围 1.概述 项目范围管理是项目管理中的一个重要组成部分,涉及到确定项目需要完成的工作范围,以及如何管理和控制…...
监管端..
文章目录 1. 登录流程2. 日志AOP 1. 登录流程 使用账号(手机号)、密码、验证码。登录就是获取token的,输入的账号密码用RSA加密(非对称) 首先输入账号密码,在发送手机验证码时候先校验账号密码有没有输入…...
点击登录按钮先检测输入框的规则检测(vue组合式)
<template><el-form :model"user" :rules"rules" ref"loginForm" label-width"auto" style"max-width: 600px"><el-form-item label"用户名" prop"name"><el-input v-model"…...
网络工程师---第四十二天
1、基于子网的vlan划分配置步骤是什么? 2、基于端口的vlan划分配置步骤是什么? 3、基于MAC地址的vlan划分配置步骤是什么? 4、请简述无线局域网的组网方式有哪几种,区别是什么? 5、请简述堆叠、级联和集群作用和区别是…...
leetcode 1241每个帖子的评论数(postgresql)
需求 编写 SQL 语句以查找每个帖子的评论数。 结果表应包含帖子的 post_id 和对应的评论数 number_of_comments 并且按 post_id 升序排列。 Submissions 可能包含重复的评论。您应该计算每个帖子的唯一评论数。 Submissions 可能包含重复的帖子。您应该将它们视为一个帖子。…...
前端最新面试题(ES6模块篇)
目录 1 ES5、ES6和ES2015有什么区别? 2 babel是什么,有什么作用? 3 let有什么用,有了var为什么还要用let? 4 举一些ES6对String字符串类型做的常用升级优化? 5 举一些ES6对Array数组类型做的常用升级优化 6 举一些ES6对Number数字类型做的常用升级优化 7 举一些ES…...
STM32H750外设之ADC通道选择
目录 概述 1 通道选择功能介绍 2 通道选择( SQRx、 JSQRx) 2.1 通道复用 2.1.1 通道介绍 2.1.2 通道框图 2.2 转换分组 2.3 内部专用通道 3 通道预选寄存器 (ADCx_PCSEL) 3.1 功能介绍 3.2 预选通道寄存器 概述 本位主要介绍STM32H750外设之…...
【Unity2D 2022:Cinemachine】相机跟随与地图边界
一、导入Cinemachine工具包 1. 点击Window-Package Manager,进入包管理界面 2. 点击All,找到Cinemachine工具包,点击Install 二、相机跟随角色 1. 选中Main Camera,点击Component-Cinemachine-CinemachineBrain,新建…...
ssh远程连接的相关配置
连接同一个局域网下: 正好这里来理解一下计算机网络配置中的ip地址配置细节, inet 172.20.10.13: 这是主机的IP地址,用于在网络中唯一标识一台设备。在这个例子中,IP地址是172.20.10.13。 netmask 255.255.255.240: 这是子网掩码…...
在leafet上画圆、多边形、线、矩形
在leaflet上画圆、多边形、线、矩形 <template><div id"map" class"map"></div> </template><script> import L from leaflet; export default {data () {return {myGroup: ,};},mounted () {this.initMaps()this.huizhiro…...
SpringBoot中如何在服务器进行校验?
数据校验就是数据的合法性检查,在服务器端也可以对数据进行校验,一般使用JSR303 校验 JSR303是Java为Bean数据合法性校验提供的标准框架,是一种声明式校验 JSR303通过在Bean属性上标注类似于NotNull、Max等注解来指定校验规则,并…...
element ui 的el-input输入一个字后失去焦点,需重新点击输入框才能再次输入
解决方案: 我是form表单嵌套表格,里面的el-input输入框,输入第一个值的时候会突然失去焦点,需要再次点击输入框才能正常输入,原因是table的key值,需要改成正常的index即可,如果你是循环的&…...
【绝地求生game】
编写一个完整的《绝地求生》这样的游戏程序代码是一个庞大的工程,涉及到成千上万行的代码和复杂的多模块协作。在这里,我可以提供一个非常简化的示例,用于演示游戏编程中可能用到的基本概念,比如玩家移动、基本物理和简单的游戏逻…...
Mac上Steam安装的游戏已经卸载,但游戏的快捷方式图标仍存在的解决方式
打开终端,输入以下内容,回车。 open ~/Applications 在弹出的窗口中,会列出对应的快捷方式,按需删除即可。 实际上打开的是 /Users/改为你的用户名/Applications 文件夹下的内容。因此也可以通过打开访达(Finder&am…...
PTA 判断两个矩阵相等
Peter得到两个n行m列矩阵,她想知道两个矩阵是否相等,请你用“Yes”,“No”回答她(两个矩阵相等指的是两个矩阵对应元素都相等)。 输入格式: 第一行输入整数n和m,表示两个矩阵的行与列,用空格隔…...
《征服数据结构》双向链表
摘要: 1,双链表的介绍 2,双链表的用途 3,双链表的节点插入和删除 1,双链表的介绍 前面我们讲过单链表,单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多,比如删除倒数第…...
我用 Midjourney 的这种风格治愈了强迫症
在 Midjourney 能够实现的各种布局之中,有两种风格因其简洁、有序而独居魅力,它们就是平铺 (Flat Lay) 和 Knolling (Knolling 就是 Knolling, 无法翻译🤣)。要在现实生活中实现这样的美学效果并不容易,你需要精心挑选各种小物件&…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
理想汽车5月交付40856辆,同比增长16.7%
6月1日,理想汽车官方宣布,5月交付新车40856辆,同比增长16.7%。截至2025年5月31日,理想汽车历史累计交付量为1301531辆。 官方表示,理想L系列智能焕新版在5月正式发布,全系产品力有显著的提升,每…...
