当前位置: 首页 > 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;你需要精心挑选各种小物件&…...

剪映自动化工具来了:AI帮你自动剪辑成片

文章目录 📖 介绍 📖 🏡 演示环境 🏡 📒 AI赋能剪映自动化剪辑 📒 🎯 设计理念 🔧 核心功能 📦 安装与使用 ⚓️ 相关链接 ⚓️ 📖 介绍 📖 在视频创作中,剪辑工作往往耗时耗力。从素材导入、字幕匹配、BGM选择到最终导出,每一个环节都需要创作者投入大…...

SoftSerial软件串口原理与STM32工程实践

1. SoftSerial 库深度解析&#xff1a;面向资源受限 MCU 的软件 UART 实现原理与工程实践1.1 背景与工程必要性在嵌入式系统开发中&#xff0c;UART&#xff08;通用异步收发传输器&#xff09;是最基础、最广泛使用的串行通信接口。然而&#xff0c;MCU 的硬件 UART 资源往往极…...

2025届学术党必备的六大AI辅助写作网站横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能于学术论文写作里的应用愈发广泛&#xff0c;其核心价值展现成高效文献检索、结构化…...

STM32时钟系统架构与配置详解

1. STM32时钟系统架构解析STM32微控制器的时钟系统堪称整个芯片的"心脏"&#xff0c;它决定了处理器内核、外设以及总线的工作节奏。与人体需要心脏提供血液循环类似&#xff0c;STM32的各个功能模块都需要时钟信号来同步工作。理解时钟系统对于嵌入式开发者而言&…...

FreeRTOS 工程化要点:任务划分、优先级设计与 CPU 占用率监控

大家好&#xff0c;我是杂烩君。 今天我们来简单分享&#xff1a;FreeRTOS任务怎么拆、优先级怎么配、CPU 占用怎么看。1. 任务划分原则 1.1 单一职责&#xff1a;一个任务只干一件事 把"串口接收 数据解析 指令执行 结果反馈"全塞一个任务&#xff0c;解析环节一…...

怎么将AI生成的图片转成可编辑的矢量图?

做科研的宝子们谁懂啊&#xff01;绘制科研插图真的太费时间了&#x1f62d; 要么得花几天啃专业绘图软件&#xff0c;要么找素材拼凑导致视觉割裂、标注出错&#xff0c;好不容易用AI生成一张满意的图&#xff0c;却发现无法编辑、分辨率不足&#xff0c;连期刊投稿的基本要求…...

基于VLFM的中文指令视觉语言导航系统设计与实现

基于VLFM的中文指令视觉语言导航系统设计与实现 一、引言 1.1 项目背景 视觉语言导航(Vision Language Navigation,VLN)是具身智能领域的核心任务之一,其目标是让智能体根据自然语言指令在三维环境中自主导航,完成路径规划与空间定位任务[reference:0]。近年来,随着大…...

GitHub被封杀后:开源难民在区块链的逃亡

对于全球软件开发者而言&#xff0c;GitHub不仅是代码仓库&#xff0c;更是数字时代的公共广场与精神家园。然而&#xff0c;近年来一系列地缘政治风波与技术壁垒&#xff0c;使得这片曾经自由的土地不断竖起高墙。从伊朗、俄罗斯开发者账号的全面封禁&#xff0c;到针对特定IP…...

2026届学术党必备的六大AI辅助论文工具实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 知网在近期对自己的 AIGC 检测服务进行了升级&#xff0c;其目的在于识别存在于论文之中的、…...

S-UI系统调用分析:与操作系统交互的底层实现

S-UI系统调用分析&#xff1a;与操作系统交互的底层实现 还在为网络代理管理系统的底层实现而困惑&#xff1f;本文将深入解析S-UI如何通过系统调用与操作系统深度交互&#xff0c;让你全面掌握这套高级Web面板的底层工作原理。 读完本文你将了解&#xff1a; S-UI如何处理系…...