西木科技Westwood-Robotics人型机器人Bruce配置和真机配置
西木科技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-20240227rqt
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
这里的文件名99-usb2bear.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位置
相关文章:
西木科技Westwood-Robotics人型机器人Bruce配置和真机配置
西木科技Westwood-Robotics人型机器人Bruce配置和真机配置 本文内容机器人介绍Bruce机器人Gazebo中仿真代码部署Bruce真机代码部署 本文内容 人形机器人Brcue相关介绍docker中安装Gazebo并使用Bruce机器人控制器更换环境配置 机器人介绍 公司:西木科技Westwood-R…...
【招聘贴】JAVA后端·唯品会·BASE新加坡
作者|老夏(题图:公司业务介绍页) “ 请注意,这两个岗是BASE新加坡的,欢迎推荐给身边需要的朋友(特别是在新加坡的)。” VIP海外业务-产品技术团队,这两个岗位属于后端工程组的岗&…...
CVPR2024|vivo提出使用对抗微调获得泛化性更强的SAM,分割性能直接登顶 SOTA!
在计算机视觉不断发展的领域中,基础模型已成为一种关键工具,显示出对多种任务的出色适应性。其中,由 Meta AI 开发的 Segment Anything Model(SAM)在图像分割任务中表现杰出。然而,和其他类似模型一样&…...
程序员必备的ChatGPT技巧:从代码调试到项目管理
近年来,随着人工智能技术的迅猛发展,ChatGPT作为一种强大的对话式AI工具,已经广泛应用于各个领域。而对于程序员来说,ChatGPT不仅可以帮助他们解决编程中的各种问题,还能在项目管理中发挥重要作用。本篇博客将详细介绍…...
JAVA开发的一套医院绩效考核系统源码:KPI关键绩效指标的清晰归纳
KPI是关键绩效指标(Key Performance Indicators)的缩写,它是一种用于衡量员工或组织绩效的量化指标。这些指标通常与组织的目标和战略相关,并帮助管理层评估员工和组织的实际表现。KPI还可以为员工提供清晰的方向,使他…...
面向对象编程——python
目录 一、面向对象编程 1.1 类和对象 1.2 继承 1.3 封装 1.4 多态 1.5 Python中的面向对象编程 二、类、对象和变量 2.1 类(Class) 2.2.1 类的属性(Class Attributes) 2.2.2 类的方法(Class Methods…...
【LeetCode】每日一题:合并K个升序链表
给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 解题思路 分治加两个链表合并,或者用根堆,根堆的初始化方法很值得背诵,还涉及lambda的用法 AC代码 # Defini…...
从零开始学docker(四)-安装mysql及主从配置(一)
mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关…...
【目标检测】Yolov8 完整教程 | 检测 | 计算机视觉
学习资源:https://www.youtube.com/watch?vZ-65nqxUdl4 努力的小巴掌 记录计算机视觉学习道路上的所思所得。 1、准备图片images 收集数据网站:OPEN IMAGES 2、准备标签labels 网站:CVAT 有点是:支持直接导出yolo格式的标…...
新能源汽车 LabCar 测试系统方案(-)
什么是LabCar测试 LabCar测试目标是进行整车黄板台架功能测试,用于整车开发和测试阶段,满足设计人员和测试人员的试验需求,以验证整车性能,减少开发工作量。系统主要用于测试静态及动态工况下的纯电动汽车的各项功能实现情况。 …...
机器学习辅助的乙醇浓度检测(毕设节选)
目录 1.为什么要机器学习 2. 神经网络一般组成 3.BP神经网络工作过程 4.评价指标 5.实操代码 1.为什么要用机器学习 人工分析大量的谐振模式,建立各种WGM的响应与未知目标之间的关系,是一个很大的挑战。机器学习(ML)能够自行识别全谱的全部特征。作为…...
YOLO系列改进
yolo核心思想:把目标检测转变成一个回归问题。将整个图像作为网络的输入,仅仅经过一个神经网络,得到边界框的位置及其所属的类别。 YOLOv1 CVPR2016 输出7730的张量表示2个框的5个参数和20个种类。leaky ReLU,leaky并不会让负数…...
cuda与cudnn下载(tensorflow-gpu)
目录 前言 正文 前言 !!!tensorflow-gpu的版本要与cuda与cudnn想对应。这点十分重要!推荐下载较新的。即tensorflow-gpu2.60及以上,cuda11.x及以上,cudnn8.x及以上。 所以,下载之前先检查好…...
git 多分支实现上传文件但避免冲突检测
文章目录 背景实现步骤 背景 对于某些通过命令生成的配置文件(如 TypeScript 类型文件等) 实现步骤 1...
聊聊 golang 中 channel
1、引言 Do not communicate by sharing memory; instead, share memory by communicating Golang 的并发哲学是“不要通过共享内存进行通信,而要通过通信来共享内存”,提倡通过 channel 进行 goroutine 之间的数据传递和同步,而不是通过共享…...
SK Hynix 3D DRAM良率突破56.1%,开启存储新时代
根据韩国财经媒体Business Korea独家报道:在刚刚结束的VLSI 2024国际研讨会上,韩国半导体巨头SK Hynix公布了一项振奋人心的进展:其五层堆叠3D DRAM的制造良率已达到56.1%。此成果标志着3D DRAM技术在商业化道路上迈出了坚实的一步࿰…...
如何封装自动化测试框架?
封装自动化测试框架,测试人员不用关注框架的底层实现,根据指定的规则进行测试用例的创建、执行即可,这样就降低了自动化测试门槛,能解放出更多的人力去做更深入的测试工作。 本篇文章就来介绍下,如何封装自动化测试框…...
基于Java的在线编程考试系统【附源码】
毕业设计(论文) 题目:基于 二级学院: 现代技术学院 专业(方向): 计算机应用技术 班 级: 计科B2015 学 生: 指导教师: 2024年1月 29 日 本科毕业论文(设计)学术诚信声明 本人郑重…...
Beautiful Soup的使用
1、Beautiful Soup简介 Beautiful Soup是一个Python的一个HTML或XML的解析库,我们用它可以方便地从网页中提取数据。 Beautiful Soup 提供一些简单的、Python 式的函数来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓…...
633. 平方数之和(中等)
633. 平方数之和 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java内存溢出溢出代码正确代码与截图 1. 题目描述 题目中转:633. 平方数之和 2.详细题解 本题是167. 两数之和 II - 输入有序数组(中等)题目的变型,由两数之和变…...
【花雕学编程】Arduino BLDC 之 AI 迷你小龙虾 MimiClaw 自主闭环控制机器人(带传感器反馈)
从工程视角来看,基于Arduino、使用互补滤波进行姿态控制的BLDC(无刷直流电机)机器人,是一个典型的嵌入式实时闭环控制系统。它集成了传感器数据融合、控制算法和电机驱动,广泛应用于对姿态稳定性有要求的场景。关于 Mi…...
【风电功率预测】到了2026年,企业为什么总输在“最后一公里”?从气象到功率再到电力交易,少赚的钱到底丢在哪
2026年,风电行业已经进入一个非常现实的新阶段。过去,很多企业讨论风电功率预测,核心问题还是“预报准不准”。而到了今天,这个问题虽然仍然重要,却已经不是决定收益高低的唯一变量。真正拉开差距的,是企业…...
从51到STM32:手把手教你用STM32CubeMX和PWM驱动智能小车电机(附代码避坑)
从51到STM32:智能小车电机控制的进阶实战指南 十年前用51单片机做智能小车时,PWM配置需要手动计算定时器重装载值,而今天在STM32CubeMX里勾选几下就能生成精准的PWM信号——这就像从手动挡升级到了自动驾驶。作为过来人,我完整记…...
Qwen2.5-Coder-1.5B应用案例:快速生成网页爬虫代码实战
Qwen2.5-Coder-1.5B应用案例:快速生成网页爬虫代码实战 1. 引言:为什么选择Qwen2.5-Coder生成爬虫代码 在日常开发工作中,网页爬虫是数据采集和分析的重要工具。传统编写爬虫代码需要开发者熟悉HTTP请求、HTML解析、反爬机制处理等多个技术…...
如何让2015年前的MacBook Pro焕发新生?OpenCore Legacy Patcher完全指南
如何让2015年前的MacBook Pro焕发新生?OpenCore Legacy Patcher完全指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为手中的老款Mac无法升级到…...
LiuJuan Z-Image效果对比展示:BF16 vs FP16在人像细节与稳定性上的差异
1. 1. 1. 1. 1. 1. 1. 1. 1. 概述 1. 1. 1. 概述 1. 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 1. 概述 1. 概述 1. 概述 1. 概述 1. 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1. 概述 1…...
基于python框架的船舶物流运输管理系统设计vue
目录船舶物流运输管理系统功能分析(Vue前端)用户管理模块船舶管理功能运输订单管理路径优化模块实时监控看板报表分析功能移动端适配系统集成接口技术栈建议项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合…...
Android逆向实战:用Frida Hook自己写的APK,让1+1=88(附完整代码)
Android逆向实战:用Frida Hook自己写的APK,让1188(附完整代码) 在移动安全领域,逆向工程一直是个充满挑战又极具魅力的方向。想象一下,你能否让一个简单的计算器应用突然改变行为,比如让11的结果…...
荣耀XD21路由器IPTV设置指南:不用VLAN交换机实现单线复用
荣耀XD21路由器单线复用实战:无需VLAN交换机实现IPTV与网络并行传输 客厅弱电箱仅预留单根网线却需要同时承载IPTV和无线网络信号——这是许多家庭网络改造中遇到的典型难题。传统方案往往依赖价格不菲的VLAN交换机实现单线复用,但通过荣耀XD21路由器的隐…...
OpenClaw镜像体验方案:星图平台GLM-4.7-Flash沙盒环境快速验证
OpenClaw镜像体验方案:星图平台GLM-4.7-Flash沙盒环境快速验证 1. 为什么选择云端沙盒验证OpenClaw 去年冬天,当我第一次尝试在本地MacBook上部署OpenClaw时,整整浪费了一个周末的时间。从Node.js版本冲突到Python依赖缺失,再到…...
