当前位置: 首页 > news >正文

一键安装脚本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划分配置步骤是什么&#xff1f; 2、基于端口的vlan划分配置步骤是什么&#xff1f; 3、基于MAC地址的vlan划分配置步骤是什么&#xff1f; 4、请简述无线局域网的组网方式有哪几种&#xff0c;区别是什么&#xff1f; 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 通道选择&#xff08; SQRx、 JSQRx&#xff09; 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&#xff0c;进入包管理界面 2. 点击All&#xff0c;找到Cinemachine工具包&#xff0c;点击Install 二、相机跟随角色 1. 选中Main Camera&#xff0c;点击Component-Cinemachine-CinemachineBrain&#xff0c;新建…...

ssh远程连接的相关配置

连接同一个局域网下&#xff1a; 正好这里来理解一下计算机网络配置中的ip地址配置细节&#xff0c; inet 172.20.10.13: 这是主机的IP地址&#xff0c;用于在网络中唯一标识一台设备。在这个例子中&#xff0c;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中如何在服务器进行校验?

数据校验就是数据的合法性检查&#xff0c;在服务器端也可以对数据进行校验&#xff0c;一般使用JSR303 校验 JSR303是Java为Bean数据合法性校验提供的标准框架&#xff0c;是一种声明式校验 JSR303通过在Bean属性上标注类似于NotNull、Max等注解来指定校验规则&#xff0c;并…...

element ui 的el-input输入一个字后失去焦点,需重新点击输入框才能再次输入

解决方案&#xff1a; 我是form表单嵌套表格&#xff0c;里面的el-input输入框&#xff0c;输入第一个值的时候会突然失去焦点&#xff0c;需要再次点击输入框才能正常输入&#xff0c;原因是table的key值&#xff0c;需要改成正常的index即可&#xff0c;如果你是循环的&…...

【绝地求生game】

编写一个完整的《绝地求生》这样的游戏程序代码是一个庞大的工程&#xff0c;涉及到成千上万行的代码和复杂的多模块协作。在这里&#xff0c;我可以提供一个非常简化的示例&#xff0c;用于演示游戏编程中可能用到的基本概念&#xff0c;比如玩家移动、基本物理和简单的游戏逻…...

Mac上Steam安装的游戏已经卸载,但游戏的快捷方式图标仍存在的解决方式

打开终端&#xff0c;输入以下内容&#xff0c;回车。 open ~/Applications 在弹出的窗口中&#xff0c;会列出对应的快捷方式&#xff0c;按需删除即可。 实际上打开的是 /Users/改为你的用户名/Applications 文件夹下的内容。因此也可以通过打开访达&#xff08;Finder&am…...

PTA 判断两个矩阵相等

Peter得到两个n行m列矩阵&#xff0c;她想知道两个矩阵是否相等&#xff0c;请你用“Yes”&#xff0c;“No”回答她&#xff08;两个矩阵相等指的是两个矩阵对应元素都相等&#xff09;。 输入格式: 第一行输入整数n和m&#xff0c;表示两个矩阵的行与列&#xff0c;用空格隔…...

《征服数据结构》双向链表

摘要&#xff1a; 1&#xff0c;双链表的介绍 2&#xff0c;双链表的用途 3&#xff0c;双链表的节点插入和删除 1&#xff0c;双链表的介绍 前面我们讲过单链表&#xff0c;单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多&#xff0c;比如删除倒数第…...

我用 Midjourney 的这种风格治愈了强迫症

在 Midjourney 能够实现的各种布局之中&#xff0c;有两种风格因其简洁、有序而独居魅力&#xff0c;它们就是平铺 (Flat Lay) 和 Knolling (Knolling 就是 Knolling, 无法翻译&#x1f923;)。要在现实生活中实现这样的美学效果并不容易&#xff0c;你需要精心挑选各种小物件&…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...