西木科技Westwood-Robotics人型机器人Bruce配置和真机配置

news2024/11/17 3:29:30

西木科技Westwood-Robotics人型机器人Bruce配置和真机配置

  • 本文内容
  • 机器人介绍
  • Bruce机器人Gazebo中仿真代码部署
  • Bruce真机代码部署

本文内容

  • 人形机器人Brcue相关介绍
  • docker中安装Gazebo并使用
  • Bruce机器人控制器更换环境配置

机器人介绍

公司:西木科技Westwood-Robotics官网
Westwood Robotics(西木科技)是一家创立于2018年的美国公司,总部位于洛杉矶。该公司的创始团队成员主要源自加州大学洛杉矶分校的Robotics & Mechanisms Laboratory(RoMeLa)实验室。RoMeLa实验室在机器人学术界具有极高的声望,它由著名机器人学教授Dennis Hong创立并领导。
机器人:Bcuce机器人介绍

  • 单腿5个自由度、单臂3个自由度、全身共16个自由度
  • 仅重4.8kg、身高70cm、3000mAh电池
  • 独立的无线急停装置
  • 经由无线局域网通过SSH控制或蓝牙控制
  • 腿部驱动器每个仅重250g、爆发力矩达8Nm
    在这里插入图片描述
    官方的github地址https://github.com/Westwood-Robotics

Bruce机器人Gazebo中仿真代码部署

docker中安装gazebo,并部署Bruce机器人仿真和代码

# docker中获取ubuntu系统,用jammy。
docker pull ubuntu:jammy-20240227
docker run -it \
    --env="DISPLAY=$DISPLAY" \
    --gpus all \
    --workdir="/home/zeven/bruce" \
    --volume="/home/zeven/bruce/BRUCE-OP:/home/zeven/bruce/BRUCE-OP" \
    --volume="/etc/apt/hosts" \
    --env="QT_X11_NO_MITSHM=1" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    ubuntu:jammy-20240227
    rqt
export containerId=$(docker ps -l -q)

安装必要的包

apt clean

# 2. 更新 apt 的缓存
apt-get update -y

# 3. 安装 ca-certificates
apt-get install -y ca-certificatesBVC 

# 4. (可选) 安装任意一款 文本编辑器,以方便接下来修改配置文件
# Linux 常用文本编辑器:wim、nano、emacs
apt-get install <上述任意一个文本编辑器名>
# 如安装 vim
apt-get install vim
apt-get install curl
apt-get install pip

安装gazebo、docker显示相关和必要环境包

# 在宿主机执行
sudo apt-get install x11-xserver-utils
xhost +
#docker中执行
# 安装gazebo
echo "185.199.108.133 raw.githubusercontent.com" >> /etc/hosts
curl -sSL http://get.gazebosim.org | sh
# 测试安装是否正常
gezebo
# 安装环境依赖
pip install numpy pyserial termcolor matplotlib scipy osqp numba dynamixel-sdk posix_ipc pygame

然后依据

Bruce真机代码部署

电机驱动pyBear sdk安装

#获取代码
git clone git@github.com:Westwood-Robotics/PyBEAR.git
sudo cp 00-WestwoodRobotics.rules /etc/udev/rules.d
sudo udevadm control --reload

运行完后还是会出现权限不足问题,通过写udev规则解决。
下面是如何为这个设备编写udev规则的步骤:
打开终端: 在你的Linux系统中打开终端。
创建udev规则文件: 使用文本编辑器创建一个新的udev规则文件。例如,使用nano编辑器:

sudo nano /etc/udev/rules.d/99-usb2bear.rules

这里的文件名 70-ft232h.rules 是你创建的udev规则文件,文件名前的数字 70 表示加载顺序,你可以根据需要选择不同的数字。
编写udev规则: 在打开的编辑器中,输入以下udev规则:

# bear
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0666", GROUP="dialout"
# Dynamixel
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666", GROUP="dialout"
# imu
SUBSYSTEM=="tty", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE="0666", GROUP="dialout"

这条规则表示,当udev检测到一个属于tty子系统,且具有特定供应商ID和产品ID的设备时,将该设备的文件模式设置为 0666(允许所有用户读写),并将该设备归属于 dialout 用户组。
保存并关闭文件: 如果你使用的是 nano,可以通过按 Ctrl+O 保存文件,然后按 Ctrl+X 退出编辑器。
重新加载udev规则: 保存规则文件后,需要重新加载udev规则,以使新规则生效:

sudo udevadm control --reload-rules
sudo udevadm trigger

将你的计算机权限修改为允许PyBEAR访问串行端口。

sudo chown -R your_username /usr/local
sudo usermod -a -G dialout your_username

CD到 PyBEAR/ 目录 安装相关包

pip3 install .

然后根据RM步骤进行
先编译包

cd BRUCE/BRUCE-OP
python3 -m Library.ROBOT_MODEL.BRUCE_DYNAMICS_AOT
python3 -m Library.ROBOT_MODEL.BRUCE_KINEMATICS_AOT
python3 -m Library.STATE_ESTIMATION.BRUCE_ORIENTATION_AOT
python3 -m Library.STATE_ESTIMATION.BRUCE_ESTIMATION_CF_AOT
python3 -m Library.STATE_ESTIMATION.BRUCE_ESTIMATION_KF_AOT

机器人控制中文件BRUCE_SERIAL_PORT 是相关通讯接口号需要更改Settings/BRUCE_macros.py (line 272-283)代码匹配BRUCE_SERIAL_PORT位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1839322.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Microsoft AI Day:支持开放合作,普及技术应用,推进行业企业智慧化创新

微软在北京举办以“共创AI创新&#xff0c;智启无限可能”为主题的Microsoft AI Day活动&#xff0c;集中展示了在生成式智能技术加速发展普及的过程中&#xff0c;微软取得的最新技术突破与进展&#xff0c;并同步更新了在Microsoft Build 2024全球开发者大会上发布的一系列Az…

【MATLAB源码-第227期】基于matlab的北方苍鹰优化算法(NGO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 鼠群优化算法&#xff08;Rat Swarm Optimization, RSO&#xff09; 简介 鼠群优化算法&#xff08;Rat Swarm Optimization, RSO&#xff09;是一种模仿鼠类群体觅食行为的优化算法。该算法属于群体智能算法&#xff0c;通…

Mathtype7.6最新破解版下载,功能超乎你想象!

嘿&#xff0c;亲爱的小伙伴们&#xff01;今天我要分享一个让你的学术生涯或教育工作变得轻松无比的秘密工具 —— Mathtype7.6最新破解版下载。&#x1f389; MathType最新Win官方版本下载如下: https://wm.makeding.com/iclk/?zoneid34223 MathType最新Mac官方版本下载如…

macOS聚集搜索功能开启与关闭

按下command空格弹出 使用搜索 关闭搜索 sudo mdutil -a -i off 启用搜索 sudo mdutil -a -i on

跟张良均老师学大数据人工智能|企业项目试岗实训开营

我国高校毕业生数量连年快速增长&#xff0c;从2021年的909万人到2022年的1076万人&#xff0c;再到2023年的1158万人&#xff0c;预计到2024年将达到1187万人&#xff0c;2024年高校毕业生数量再创新高。 当年高校毕业生人数不等于进入劳动力市场的高校毕业生人数&#x…

ardupilot开发 --- RTSP视频流 篇

我年轻时很穷&#xff0c;努力了几年&#xff0c;终于不再年轻了 0. 一些概念参考文献 0. 一些概念 RTSP服务、RTSP推流、RTSP拉流&#xff0c;缺一不可&#xff0c;尤其是RTSP服务。RTSP服务器、RTSP客户端。推流和拉流都是由客户端发起&#xff0c;向服务器发起对应的请求。…

安享智慧理财金融测试项目

1. 项目介绍 安享智慧理财金融系统是基于 Java 语言开发&#xff0c;集 PC 端、APP 端、WAP 端为一体的 P2P&#xff08;个人对个人&#xff09;的借贷系统&#xff0c;提供了完整的借款和投资功能。 web用户端 说明&#xff1a;PC 网站&#xff0c;供借款人和投资人使用功能…

Java面试八股之myBatis如何将SQL结果封装成目标对象并返回

myBatis如何将SQL结果封装成目标对象并返回 ResultMap与自动映射&#xff1a; MyBatis主要通过ResultMap来描述如何将SQL查询结果映射到Java对象上。如果查询结果的列名与对象的属性名一致&#xff0c;MyBatis能够自动进行映射。但当列名与属性名不匹配时&#xff0c;就需要…

【mysql】排错和调优

通用的一些排错方法。 1、查看进程信息 mysql> show full processlist;mysql> show processlist; 2、information_schema information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名&#xff0c;数据库的表&#xff0c;表栏的数据类型与访问权限等。…

【CT】LeetCode手撕—141. 环形链表

目录 题目1- 思路2- 实现⭐141. 环形链表——题解思路 3- ACM实现 题目 原题连接&#xff1a;141. 环形链表 1- 思路 模式识别 模式1&#xff1a;判断链表的环 ——> 快慢指针 思路 快指针 ——> 走两步慢指针 ——> 走一步判断环&#xff1a;若快慢相遇则有环&a…

LUA移植到STM32F4,移植REPL,通过RTT Viewer交互

概述 站内移植LUA多数是使用C函数调用LUA&#xff0c;并没有移植REPL交互端口 本文将REPL也移植进去&#xff0c;做了简单的适配 LUA源码使用标准C库函数&#xff0c;如fgets&#xff0c;fwrite等&#xff0c;在嵌入式环境中要使用fgets&#xff0c;fwrite等C库函数&#xff…

发论文idea来了!强化学习+Transformer,29个创新点汇总

基于Transformer的强化学习&#xff08;TRL&#xff09;是一种利用Transformer模型架构来改进和增强强化学习算法性能的方法。 这种方法通过结合Transformer模型强大的表示能力和强化学习的决策优化框架&#xff0c;显著提升了智能体的学习能力和适应能力&#xff0c;为我们解…

逻辑蕴含、函数依赖集的闭包、Armstrong公理、属性集闭包

一、引言 Armstrong公理-从给定的函数依赖集得到关系模式的完整依赖集 二、逻辑蕴含 1、定义 设F是关系模式R上的函数依赖集&#xff0c;X、Y是R的属性子集&#xff0c;对于R的每个满足F的关系实例r&#xff0c;若函数 依赖都成立&#xff0c;则称F逻辑蕴含。 记为&#…

今日分享:能源行业数据大屏与界面设计~

能源行业数据大屏设计时要紧扣行业主题&#xff0c;关注视觉效果、实时数据与动态效果、数据可视化和图表、布局与字体、交互性、告警功能、故事叙述、易读性和可维护性等多个方面。大家设计时可以从这几个方面进行检查调整&#xff0c;这样就可以设计出既美观又实用的能源行业…

支持的 Google Pixel 设备

Android 15 OTA 和下载内容适用于以下 Pixel 设备&#xff1a; Pixel 6 和 Pixel 6 ProPixel 6aPixel 7 和 Pixel 7 ProPixel 7aPixel FoldPixel TabletPixel 8 和 Pixel 8 ProPixel 8a 获取 Android 15 Beta 版 1 、HONOR Android 15 Beta 2 Magic6 Pro Android 15 Beta …

【Redis技术进阶之路】「原理分析系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)

揭秘高效存储模型与数据结构底层实现 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 SDS&#xff08;简单动态字符串&#xff09;C字符串C字符串存在的问题字符串存储局限性不存储字符串长度…

【区块链】以太坊白皮书深度解读:构建智能合约的分布式平台

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 以太坊白皮书深度解读&#xff1a;构建智能合约的分布式平台引言1. 以太坊的诞生…

对比4090及4090D:国区“特供”与原版相比有何区别?

2023年12月28日 英伟达宣布正式发布GeForce RTX 4090D&#xff0c;对比于一年前上市的4090芯片&#xff0c;两者的区别与差异在哪&#xff1f;而在当前比较火热的大模型推理、AI绘画场景方面 两者各自的表现又如何呢&#xff1f; 规格与参数信息对比现在先来看看GeForce RT…

Deflate内部实现(LZ77无损压缩算法)超详细图解算法版~

无损压缩算法 第一阶段&#xff1a;重复消除 — LZ77无损压缩算法算法介绍举例压缩算法思路图解压缩过程 第二阶段&#xff1a;位减少huffman位减少 概览 Gzip Deflate 编码&#xff08;LZ77哈夫曼&#xff09; Brotli LZ77哈夫曼二阶上下文建模 Deflate 分两个阶段压缩数据…