Real Robot
Project description
RealRobot
Real robot interface to connect with ManiSkill2
Runs camera capturing and visualization as separate processes to make it closer to using ROS
:exclamation: This repo is still under heavy development, so API might be changed without notice
Installation
From PyPI
python3 -m pip install -U real-robot
If you need to install the optional xarm
dependency, you must install from GitHub repo
python3 -m pip install -U real-robot[xarm]@git+https://github.com/KolinGuo/RealRobot.git
Calibrated camera poses are stored in real_robot/assets/hec_camera_poses/ and loaded in real_robot/sensors/camera.py.
Helpful Tools
- Capture Color/Depth/IR images from RS camera, do
python3 -m real_robot.tools.rs_capture
- Get detailed device information of connected RealSense device
(e.g., supported stream configs, sensor intrinsics, extrinsics between sensors), do
python3 -m real_robot.tools.enumerate_rs_devices > info.log
- Convert recorded ROS bag file and save rgb & depth images into .npz, do
python3 -m real_robot.tools.convert_rosbag_to_frames <bag_path>
Notes
To fix an unindexed rosbag recorded from RSDevice
, do
apt install -y python3-rosbag
rosbag reindex <bag_path>
Known Issue
- When controlling xArm7 with
motion_mode="cartesian_online"
andwait=True
, sometimes the robot will be stuck indefinitely inwait_move()
due toget_state()
returns wrong state (i.e., returnsstate=1
thinking it's still in motion). Simple solution can be just to control briefly via UFACTORY Studio to get it unstuck.
Changelog
0.1.0
New features
- Added
SharedObject
to create/mount objects stored inSharedMemory
- Enabled
RSDevice
to run as a separate process (nowCamera
will createRSDevice
as a separate process) - Enabled
RSDevice
to record camera streams as a rosbag file - Enabled
XArm7
to run as a separate process (for streaming robot states) - Enabled
CV2Visualizer
andO3DGUIVisualizer
to run as separate processes (for visualization) - Added a default
FileHandler
to all Logger created throughreal_robot.utils.logger.get_logger
- Allow enabling selected camera streams from
RSDevice
andsensors.camera.Camera
- Added
sensors.simsense_depth.SimsenseDepth
class to generate depth image from stereo IR images
API changes
real_robot.agents.xarm
- Change
XArm7
parameters for clarity (safety_boundary
=>safety_boundary_mm
,boundary_clip_eps
=>boundary_clip_mm
) - Add
get_gripper_position()
to get gripper opening width in mm or m - Add
gripper_speed
parameter toset_action()
to control gripper speed
- Change
real_robot.utils.visualization.visualizer
- Rename
Visualizer
methodshow_observation()
=>show_obs()
- Rename
real_robot.sensors.camera
CameraConfig
now accepts aconfig
parameter- Rename
CameraConfig
parameterparent_pose_fn
=>parent_pose_so_name
real_robot.utils.realsense
RSDevice
now acceptsdevice_sn
instead of anrs.device
RSDevice
now acceptsconfig
as parameter (width
,height
,fps
) instead ofrs.config
Other changes
- Switch from
gym
togymnasium
- Rename all
control_mode
by removingpd_
prefix for clarity. No PD controller is used. real_robot.agents.xarm
XArm7
will not clear "Safety Boundary Limit" error automatically inset_action()
- For
motion_mode == "position"
, switch from usingset_tool_position()
toset_position()
- Enable gripper and set to maximum speed in
reset()
- Remove all Loggers created as global variables (they will be created
at import, which might not be saved under
REAL_ROBOT_LOG_DIR
) - Bugfix in xArm-Python-SDK: enable
wait=True
for modes other than position mode
0.0.2
- Added motion_mode to XArm7 agent
- Added several control_mode:
pd_ee_pos
,pd_ee_pose_axangle
,pd_ee_delta_pose_axangle
,pd_ee_pose_quat
,pd_ee_delta_pose_quat
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
real_robot-0.1.1.tar.gz
(19.6 MB
view details)
Built Distribution
File details
Details for the file real_robot-0.1.1.tar.gz
.
File metadata
- Download URL: real_robot-0.1.1.tar.gz
- Upload date:
- Size: 19.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d040e9eed682e7b8e1188ae7e208f7f1dab99d48ae6116e75e4f0aebc8f955e |
|
MD5 | 3aeda7ccf062dc5da9fa9ad497aa0fc0 |
|
BLAKE2b-256 | 8f1dc338db7353463ab8f98d0f8c0c84513c17d6f43cfa58a22a09875c5a13fa |
File details
Details for the file real_robot-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: real_robot-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78a04ded6a437fef471c0912ba4f9b96764bb57ff45be2d49a8ae3affb05f92b |
|
MD5 | c04b395646ad27f95115f4104101fbbd |
|
BLAKE2b-256 | 262056289c6ea49a9591392386484d70694aad5cea5e0e9ec26b5b2b12d970a7 |