Giter Site home page Giter Site logo

paddlepaddle / paddlerobotics Goto Github PK

View Code? Open in Web Editor NEW
212.0 16.0 55.0 31.31 MB

PaddleRobotics is an open-source algorithm library for robots based on Paddle, including open-source parts such as human-robot interaction, complex motion control, environment perception, SLAM positioning, and navigation.

License: Apache License 2.0

HTML 3.13% JavaScript 0.50% Python 79.41% CMake 0.81% C++ 15.63% Shell 0.52%
robotics human-robot-interaction slam navigation robot-control

paddlerobotics's Introduction

简体中文 | English

PaddleRobotics

paddleRobotics是基于paddle的机器人开源算法库集,包括人机交互、复杂运动控制、环境感知、slam定位导航等开源算法部分。

人机交互

主动多模交互技术TFVT-HRI

主动多模交互技术是通过视觉、语音、触摸传感器等输入机器人进行决策、输出表情、动作、声音等响应。

复杂运动控制

四足机器人

通过强化学习,实现四足机器人的行走、避障、越障等功能。

环境感知

通过视觉、雷达、超声波、红外等传感器实时获取当前环境信息,进行数据融合处理,精确判断环境状态。

Slam定位导航

通过感知的环境信息,经算法处理后实现当前可通行区域的判断和多目标跟踪。

许可证书

本项目的发布受Apache 2.0 license许可认证。

如何贡献代码

我们非常欢迎你可以为PaddleRobotics提供代码,也十分感谢你的反馈。

paddlerobotics's People

Contributors

haojieshi98 avatar lijiangyong01 avatar raindrops2sea avatar tomorrowisanotherday avatar xueeinstein avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paddlerobotics's Issues

运行 python train.py --task_mode stairstair --ETG_path data/origin_ETG/ESStair_origin.npz报错

pybullet build time: Feb 10 2022 08:59:07
C:\Users\zhaojiu\anaconda3\lib\site-packages\rlschool\quadrupedal\robots\a1.py:92: RuntimeWarning: invalid value encountered in arccos
theta_knee = -np.arccos(
[03-23 17:42:13 MainThread @logger.py:242] Argv: train.py --task_mode stairstair --ETG_path data/origin_ETG/ESStair_origin.npz
cuda
ETG_param_init: (12,)
{'dis': 1, 'motor': 1, 'imu': 1, 'contact': 1, 'footpose': 0, 'ETG': 1, 'ETG_obs': 0, 'dynamic_vec': 0, 'force_vec': 0, 'noise': 0, 'RNN': {'time_steps': 5, 'time_interval': 1, 'mode': 'None'}}
argv[0]=
starting thread 0
started testThreads thread 0 with threadHandle 0000000000000EF0
argc=3
argv[0] = --unused
argv[1] =
argv[2] = --start_demo_name=Physics Server
ExampleBrowserThreadFunc started
Version = 4.6.0 NVIDIA 472.19
Vendor = NVIDIA Corporation
Renderer = NVIDIA GeForce RTX 3080 Laptop GPU/PCIe/SSE2
b3Printf: Selected demo: Physics Server
starting thread 0
started MotionThreads thread 0 with threadHandle 000000000000109C
MotionThreadFunc thread started
c:\users\zhaojiu\gym\gym\spaces\box.py:78: UserWarning: WARN: Box bound precision lowered by casting to float32
logger.warn(f"Box bound precision lowered by casting to {self.dtype}")
C:\Users\zhaojiu\anaconda3\lib\site-packages\rlschool\quadrupedal\robots\minitaur.py:188: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated si
nce Python 3.3, and in 3.9 it will stop working
if isinstance(motor_kp, (collections.Sequence, np.ndarray)):
obs_dim: 49
Traceback (most recent call last):
File "train.py", line 523, in
main()
File "train.py", line 452, in main
ETG_info = np.load(args.load[:-3] + ".npz")
File "C:\Users\zhaojiu\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 407, in load
fid = stack.enter_context(open(os_fspath(file), "rb"))
FileNotFoundError: [Errno 2] No such file or directory: '.npz'
numActiveThreads = 0
stopping threads
Thread with taskId 0 with handle 000000000000109C exiting
Thread TERMINATED
finished
numActiveThreads = 0
btShutDownExampleBrowser stopping threads
Thread with taskId 0 with handle 0000000000000EF0 exiting
Thread TERMINATED

HRI/TFVT_HRI : No module named 'interaction.common.discrete_uc_ctrl

File "HRI/TFVT_HRI/interaction/action.py", line 2, in
from interaction.common.discrete_uc_ctrl import DiscreteUCController
ModuleNotFoundError: No module named 'interaction.common.discrete_uc_ctrl'

The common directory dont have the discrete_uc_ctrl.py :
data.py data_via_decord.py discrete_ctrl.py init.py pycache utils.py

can you provide it?

thanks

模型替换问题

您好,想问以下几个问题:
1、论文中用到的四足机器人可以替换吗?比如说我们自己利用三维建模软件建了一个多足机器人,可以替换到这个论文里吗?
2、这个论文中用到的ETG的方法是和RL并行运算的吗?是不是运行train就可以进行训练了?

ETGRL/deployment/test.py库文件robot_interface找不到

在使用提供代码里面的PaddleRobotics/QuadrupedalRobots/ETGRL/deployment/test.py测试时,提示需要安装robot_interface库,这个库在PaddleRobotics/QuadrupedalRobots/ETGRL/deployment/robots/a1_robot.py中被调用,但是我在网络上没有搜索到对应的开源库,请问您那边提供这个库的下载地址吗?

运行train.py报错 'MujocoModel' object has no attribute 'to'

使用python train.py时报如下错误

Traceback (most recent call last):
File "/home/ros/PaddleRobotics/QuadrupedalRobots/ETGRL/train.py", line 508, in
main()
File "/home/ros/PaddleRobotics/QuadrupedalRobots/ETGRL/train.py", line 331, in main
critic_lr=CRITIC_LR)
File "/home/ros/PaddleRobotics\QuadrupedalRobots\ETGRL\alg\sac.py", line 53, in init
self.model = model.to(device)
AttributeError: 'MujocoModel' object has no attribute 'to'

运行Dynamic_train.py时报错Exception in thread Thread-2:parl.remote.exceptions.RemoteError: [PARL remote error when calling function __init__]:

作者您好,我运行QuadrupedalRobots/ETGRL/train.py训练是没有问题的,但是运行Dynamic_train.py时出现了下面3个问题,查看Dynamic_train.py同级目录里是有./model/Dynamic_parallel_model.py文件的,请问是什么原因造成的呢?

Exception in thread Thread-2:
parl.remote.exceptions.RemoteError: [PARL remote error when calling function __init__]:

[Errno 2] No such file or directory: './model/Dynamic_parallel_model.py'
FileNotFoundError: [Errno 2] No such file or directory: './model/Dynamic_parallel_model.py'

parl.remote.exceptions.FutureFunctionError: There is an error raised when calling the future function __init__.

完整报错信息

[04-26 20:29:14 MainThread @Dynamic_train.py:71] args:Namespace(K=20, alg='ga', eval=0, gamma=1, load='', outdir='Dynamic', sigma=0.1, steps=10000, suffix='exp0', thread=2, xparl='192.168.30.145:8037')
Exception in thread Thread-5:
Traceback (most recent call last):
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/future_mode/proxy_wrapper_nowait.py", line 92, in _run_object_in_backend
raise e
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/future_mode/proxy_wrapper_nowait.py", line 82, in _run_object_in_backend
self._xparl_remote_wrapper_obj = remote_wrapper(
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/remote_wrapper.py", line 107, in init
raise RemoteError('init', traceback_str)
parl.remote.exceptions.RemoteError: [PARL remote error when calling function __init__]:
[Errno 2] No such file or directory: './model/Dynamic_parallel_model.py'
traceback:
Traceback (most recent call last):
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/job.py", line 297, in wait_for_connection
cls = load_remote_class(message[1])
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/remote_class_serialization.py", line 207, in load_remote_class
with open(file_name + '.py') as t_file:
FileNotFoundError: [Errno 2] No such file or directory: './model/Dynamic_parallel_model.py'

Exception in thread Thread-4:
Traceback (most recent call last):
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/future_mode/proxy_wrapper_nowait.py", line 92, in _run_object_in_backend
raise e
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/future_mode/proxy_wrapper_nowait.py", line 82, in _run_object_in_backend
self._xparl_remote_wrapper_obj = remote_wrapper(
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/remote_wrapper.py", line 107, in init
raise RemoteError('init', traceback_str)
parl.remote.exceptions.RemoteError: [PARL remote error when calling function __init__]:
[Errno 2] No such file or directory: './model/Dynamic_parallel_model.py'
traceback:
Traceback (most recent call last):
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/job.py", line 297, in wait_for_connection
cls = load_remote_class(message[1])
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/remote_class_serialization.py", line 207, in load_remote_class
with open(file_name + '.py') as t_file:
FileNotFoundError: [Errno 2] No such file or directory: './model/Dynamic_parallel_model.py'

Traceback (most recent call last):
File "/mnt/hgfs/虚拟机/PaddleRobotics-main/QuadrupedalRobots/ETGRL/Dynamic_train.py", line 74, in
main()
File "/mnt/hgfs/虚拟机/PaddleRobotics-main/QuadrupedalRobots/ETGRL/Dynamic_train.py", line 72, in main
model.train(args.steps)
File "/mnt/hgfs/虚拟机/PaddleRobotics-main/QuadrupedalRobots/ETGRL/model/Dynamic_parallel_model.py", line 159, in train
mean_re = self.update(epoch)
File "/mnt/hgfs/虚拟机/PaddleRobotics-main/QuadrupedalRobots/ETGRL/model/Dynamic_parallel_model.py", line 128, in update
future_objects.append(self.agent_list[i].batch_sample_episodes(param=solutions[i*self.K:(i+1)*self.K,:],K = self.K))
File "/home/senweihuang/anaconda3/envs/parl/lib/python3.8/site-packages/parl/remote/future_mode/proxy_wrapper_nowait.py", line 144, in getattr
raise self._xparl_remote_object_exception
parl.remote.exceptions.FutureFunctionError: There is an error raised when calling the future function __init__.
You can see the detailed error message above, which is printed by another thread.

Process finished with exit code 1

环境

Ubuntu 18.04
python 3.8
parl = 1.4.0
torch = 1.7.0
rlschool = 1.0.2

@xueeinstein

Dynamic_train时加载data/dynamic/内的数据含义请教

作者您好,我在研读了你们发表的论文后想跑一下这个项目,但是在看域自适应训练代码时遇到一些模糊的地方,想请教一下。

在运行Dynamic_train.py时,下面这行代码:
MEAN_INFO = np.load("data/dynamic/mean_dict_5_18.npz") # data used for dynamic adaptation
加载进来的数据的键分别代表什么意思呢?
dict_keys(['exp_motor_mean', 'exp_motor_std', 'exp_drpy_mean', 'exp_drpy_std', 'ori_motor_mean', 'ori_motor_std', 'ori_drpy_mean', 'ori_drpy_std', 'height_motor_mean', 'height_motor_std', 'height_drpy_mean', 'height_drpy_std'])

下面代码:

GAIT_LIST["exp"] = np.load("data/dynamic/gait_action_list_t0.3.npy")
GAIT_LIST["ori"] = np.load("data/dynamic/gait_action_list_CPG_ori.npy")
GAIT_LIST["height"] = np.load("data/dynamic/gait_action_list_CPG_height.npy")

加载进来的是什么数据呢?不知道您是否方便公开一下,谢谢

@xueeinstein

ValueError: device value error, must be str,

请问一下,我只在仿真环境中跑了train.py, 按照readme的指导,但是报告了一个异常,
ValueError: device value error, must be str, paddle.CPUPlace(), paddle.CUDAPlace(), paddle.CUDAPinnedPlace() or paddle.XPUPlace(), but the type of device is device
我测试了一下,device=cuda, type(decvice) = <class 'torch.device'>, 一直找不到哪里的问题,可以帮忙看一下么?

Evaluation in simulation报错

使用python train.py命令评估模型时报如下错误
python train.py --task_mode stairstair --eval 1 --load data/model/StairStair_3_itr_960231.pt
[10-20 10:50:54 MainThread @logger.py:242] Argv: train.py --task_mode stairstair --eval 1 --load data/model/StairStair_3_itr_960231.pt
pybullet build time: Oct 11 2021 20:59:00
/home/xh/PycharmProjects/pythonProject2/venv/lib/python3.7/site-packages/rlschool-1.0.2-py3.7.egg/rlschool/quadrupedal/robots/a1.py:94: RuntimeWarning: invalid value encountered in arccos
(2 * l_low * l_up))
Traceback (most recent call last):
File "train.py", line 508, in
main()
File "train.py", line 309, in main
enable_action_filter=args.enable_action_filter)
File "/home/xh/PycharmProjects/pythonProject2/venv/lib/python3.7/site-packages/rlschool-1.0.2-py3.7.egg/rlschool/init.py", line 17, in make_env
raise Exception("rlschool.make_env is deprecated. Please do "import rlschool.xxxenv" and use gym.make instead")
Exception: rlschool.make_env is deprecated. Please do "import rlschool.xxxenv" and use gym.make instead

real robot deployment

PaddleRobotics/QuadrupedalRobots/ETGRL/

step3:Real Robot Deployment

question1:An error occurs when running env_test.py.
TypeErro:step() got an unexpected keyword argument 'donef'

question2: An error occurs when running test.py.
ModuleNotFoundError:No module named'model.sac'

奖励函数的设置

你好,想请教一下奖励函数如何设置的问题。
在文件Monitornv.py中,有这样的设置
reward function from code
不知道是否和论文中所阐述的奖励函数对应上了,论文中关于奖励函数的设置感觉比较简单,是否有更详细的说明?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.