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.2.tar.gz
(19.6 MB
view details)
Built Distribution
File details
Details for the file real_robot-0.1.2.tar.gz
.
File metadata
- Download URL: real_robot-0.1.2.tar.gz
- Upload date:
- Size: 19.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de2c75f4389b3e9fb4d1cc572175a03712bea3dc49cb7352fd428a51a7f83c93 |
|
MD5 | e02142af936239c72be2b73a4d28e068 |
|
BLAKE2b-256 | 0ba4c4ae1d2c09f430a4ed94e2569a04defb2f65db52033810f10d07b0bbefde |
File details
Details for the file real_robot-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: real_robot-0.1.2-py3-none-any.whl
- Upload date:
- Size: 19.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 235b11d23babe1d09eb2cad2ca4655cf5ab3540b4eb12b578717f931c056ac69 |
|
MD5 | f143ee9fa851241028b62f59f07ec4c1 |
|
BLAKE2b-256 | 7f6de838478bb756fc17beb40de7b63263818557eca14731d4aaa4308bc904a0 |