Other

项目介绍

sweetie-bot-project/sweetie_bot 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 Other 许可证,目前获得 10 个 Star、2 次 Fork。

仓库全名
sweetie-bot-project/sweetie_bot
开源许可证
Other
Star 数
10
Fork 数
2

README 摘要

Sweetie Bot software repository =================================== This repository contains software framework for the Sweetie Bot robot. Note: We are hosting all our code on gitlab.com. We also have a github mirror, but we do not accept pull requests there, plese use primary source. Also see CONTRIBUTING page for details. Build status | master branch | Overview Sweetie Bot control software is based on Robot…

完整内容见 GitHub 原始 README 或本页 。

常见问题

sweetie_bot 用什么语言开发?

主要使用 Python 编写,采用 Other 许可证,目前有 10 个 Star。

sweetie_bot 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 sweetie_bot 的源码?

可以直接克隆仓库:git clone https://github.com/sweetie-bot-project/sweetie_bot.git,默认分支为 master;安装与运行步骤见仓库 README。

sweetie_bot 最近还在维护吗?

仓库最近一次更新为 6月5日,当前没有未关闭的 Issue;Star 数为 10,可作为社区活跃度的参考。

关于

Main Sweetie Bot robot control software repository

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
24
价值分
7
活跃状态
活跃

语言占比

C
C++
CMake
Dockerfile
Lua
Perl
Python
Shell

README

Sweetie Bot software repository

This repository contains software framework for the Sweetie Bot robot.

Note: We are hosting all our code on gitlab.com. We also have a github mirror, but we do not accept pull requests there, plese use primary source. Also see CONTRIBUTING page for details.

Build status master branch
ros-noetic-sweetie-bot-base pipeline status
ros-noetic-sweetie-bot pipeline status

Overview

Sweetie Bot control software is based on Robot Operating System (ROS). Also, it uses OROCOS middleware to implement real-time motion control subsystem. See sweetie_bot_deploy and rt_control for more details (namespaces, nodes, configuration parameters).

Sweetie Bot software support two modes: real and virtual.

  1. In a virtual mode it runs completely on the host computer. The real robot is not needed. You can program robot behaviors in a virtual environment (3d model).
  2. In a real mode it controls the real robot. One part of software runs the host computer and another part works the on-board computer.

Current version of Sweetie Bot control software provides following functionality:

  1. Joint level control using joint_state_publisher.
  2. The control in Cartesian space (for the limbs and the body) using pose markers and MoveIt! integration.
  3. Movements creation (See TrjectoryEditor)
  4. High-level control based on FlexBe hybrid finite state machines via external repository sweetie_bot_flexbe_behaviors.

Repository content

This repository contains all necessary software components to run the Sweetie Bot robots except for movements, sounds and actual behaviors which are stored in separate repositories (sweetie_bot_proto2_movements, sweetie_bot_sounds and sweetie_bot_flexbe_behaviors.

  • config directory contains robot configuration and deployment scripts
    • sweetie_bot_deploy — robot-independent OROCOS deployment scripts and ROS launch files.
    • sweetie_bot_proto2_deploy — robot-specific parameters and launch files for Proto2 Sweetie Bot robot.
    • sweetie_bot_proto2_description — URDF model of Proto2 (git submodule).
    • sweetie_bot_proto2_moveit_config — MoveIt! configuration for Proto2.
  • rt_control — OROCOS-based motion control subsystem (git submodule).
  • hardware — hardware-depended components.
    • sweetie_bot_eyes — eyes visualization.
  • behavior — high-level control subsystem (not implemented yet).
  • hmi — operator interface components, intended to be running on the host computer.

Installation

The following instruction describes the installation process from binary packages. If you want to compile the whole project yourself see DEVELOPERS page.

System requirements

Check your system before install:

  • OS: Ubuntu Focal (20.04) or Debian Buster. For Windows and Mac users we recommend virtual machine with linux installed in it. Windows users can try WSL but it is less supported method.
  • CPU: x86-64 2 GHz dual core processor or better
  • RAM: 4 GB system memory
  • GPU: Almost any modern GPU with OpenGL 2.1 hardware acceleration support
  • HDD: 3 GB of free hard drive space
  • WAN: Internet access
Install apt repositories with the all necessary dependencies

There are three ways to install control software from a binary packages:

  1. Automatic script (recommended)

Run the script in your terminal, it will automatically install apt repositories with the all necessary dependencies:

wget -qO - https://apt.sweetie.bot/install.bash | sudo bash

Install software packages

sudo apt install ros-noetic-sweetie-bot
  1. Add apt repositories manually

Alternatively you can install the ROS Noetic repository as listed in official ‘ROS instruction’ and Sweetie Bot repository.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo sh -c 'echo deb http://apt.sweetie.bot $(lsb_release -sc) main > /etc/apt/sources.list.d/sweetie-bot.list'

Next you have to set up your keys:

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
wget -qO - https://apt.sweetie.bot/repository.key | sudo apt-key add -

Upgrade and install software packages

sudo apt update && sudo apt upgrade
sudo apt install ros-noetic-sweetie-bot
  1. Download packages manually

Alternatively you can download deb packages manually.

First of all refer ‘ROS Installation instruction’ manual to add official ROS repositary.

Download zip from here. Click on first green check mark ✓ and choose your OS, click “Download” at the next page. Unpack zip file and install both .deb packages included.

unzip sweetie-bot-focal-amd64.zip
sudo dpkg -i sweetie-bot-*.deb
sudo apt install -f
Setup workspace

User editable part of sweetie bot software must be installed to the home directory of current user.

Install sweetie_bot_sounds, sweetie_bot_proto2_movements and sweetie_bot_flexbe_behaviors:

mkdir -p ~/ros/sweetie_bot/src
cd ~/ros/sweetie_bot/src
git clone https://gitlab.com/sweetie-bot/sweetie_bot_sounds.git
git clone https://gitlab.com/sweetie-bot/sweetie_bot_proto2_movements.git

Build workspace

cd ~/ros/sweetie_bot
source /opt/ros/sweetie_bot/setup.bash
catkin_make

Note: Run this to supress priority warnings Forcing priority (20):

echo -e "@realtime   -  rtprio     99\n@realtime   -  memlock    unlimited" | sudo tee /etc/security/limits.d/99-realtime.conf
sudo groupadd realtime
sudo usermod -a -G realtime $USER

Usage

Set ROS environment once in the every terminal before you start any of the following commands:

source ~/ros/sweetie_bot/devel/setup.bash

To start basic control framework:

roslaunch sweetie_bot_deploy joint_space_control.launch

Following command starts MoveIt! move_group and FlexBe subsystem:

roslaunch sweetie_bot_deploy flexbe_control.launch run_flexbe_gui:=true run_moveit:=true

For more details see sweetie_bot_deploy package.

评论

暂无评论