A gym environment for ROS.
sudo pip install --upgrade .
- Turtlebot 2
Using RGB camera for observations, cmd_vel for actions. LIDAR, RGB-D sensor support will be on future release. Will support Drones, Pepper, and Happy Mini on future release.
import gym
import gym_ros
- sensor_msgs/Image <-> 3D tensor numpy array
- geometry_msgs/Twist <-> SE(3) numpy array
- std_msgs/Bool <-> 0 - 1 fuzzy set value(float)
- Define the reward.
What is your reward? On default, I set the reward as the collision.
When robot collide something, game over.
Also, you need something to detect the reward. If you can't observe the reward, you have to make your algorithm to POMDP. - Make your Agent.
Make your agent. DQN, DQRN, CNN, PID Control, Rule-based AI, etc.....
OpenAI Gym is just a environment for agent system, it doesn't provide A.I. algorithm.
- Robot in real life
- Gazebo
Not tested, but it will work because Gazebo is on ROS. - SIGVerse
Tested.
- roscore
- roslaunch rosbridge_server rosbridge_websocket.launch
- rosrun sigverse_ros_bridge sigverse_ros_bridge
- execute your python program using gym.
Go to SIGVerse Wiki to get sigverse_ros_bridge program.
- Robot in real life
Robot in real life cannot be reset like a game. - SIGVerse
Resetting in the SIGVerse environment causes 10 seconds to re-establish connections.
- Adding multiple environment Turtlebot, A.R. Drone 2.0, Pepper, Happy Mini
- Adding reconfigurable APIs