Skip to content

Information about our lab, the repositories that we use and how we work.

Notifications You must be signed in to change notification settings

montrealrobotics/REAL_lab_info

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

REAL_lab_info

Information about our lab, the repositories that we use and how we work.

Repositories that we work with

We want to promote the sharing of code developed in the lab and to increase visibility of which repositories are being actively used, particularly when it comes to the hardware. We want to know what works, so that if a student has an interest in, say, using a particular robot, they know where to start. Minimizing the duplication of work is also desirable.

We want to keep track of the repositories that we are using for our projects in the lab. When forking from an existing repository, the fork should be made to our organization, newly created repositories should also be added here. To keep track of the repositories so that others can easily re-use and contribute:

  • Add a link to your repo to this README and add some useful details.
  • Ideally repositories that we would typically use together should be grouped, for example, for the UR5 we have the driver, the REAL specific repo and then the ur5/realsense calibration repo.

Robot repositories

Universal robots UR5/UR5e

cobot-universal-robots-ur5e-collaborative-flexible-adaptive-arm-shorr-packaging-2

We have a UR5 and a UR5e in the lab. The UR5 is currently mounted on the Husky and the UR5e is mounted in a cage. We have two robotiq grippers (a 2F-85 and a hand-e) that can be mounted on either of the arms. To work with the robots we suggest using ROS Noetic and Ubuntu 20.04.

We are currently using the following repositories:

     REAL_ur_robots

     This repository was created to contain details and configurations specific to our robots, it can be used to run either of the arms in a gazebo simulation or to run the real robots. The repository contains the calibrations for the arms in the lab, as well as files specific to the different hardware combinations such as UR5 and Robotiq hand-e gripper. There are also MoveIt configuration files for each of these combinations.

     universal_robot

     This repository is a requirement for REAL_ur_robots, we have cloned it to make some tweaks. The original repo only supports up to ROS Melodic. Our fork uses the newest version of the ROS UR driver and works with ROS Noetic.

     ur_realsense calibration

     If you wish to use a realsense camera with a UR5/UR5e and wish to calibrate to find the transform between the robot arm and the camera, you can use this repository. The original repository hasn't been updated since over 3 years so we cloned it and updated it to work with ROS Noetic.

     ur_kinematics

     We use this kinematics package for calculating forward and inverse kinematics for the UR5, it is not used in our normal pipeline but is required for robo-gym. This package was cloned and edited to be a catkin package.

Robotiq Grippers

robotiq-grippers

There are three 2F-85 grippers and one hand-e gripper in the lab. The mounting can be used to attach the grippers to either a UR5 arm or a Franka Panda/FR3 arm.

The repository that we use with these grippers is:

     robotiq

Franka

csm_franka_panda_bedienung_6b014be50b

We have three Franka FR3 arms in the lab. We currently control them with the Polymetis controller.

Other Franka repositories that we use:

     panda-gym

Husky

A008_C036_0730G1

Repositories that we use with this robot:

     REAL_Husky_robot

Jackal

A008_C100_0730BA

Unitree Go1

go1-800x600

Repositories that we use with this robot:

    REAL_unitree_robots

Interbotix Arms

xsarm_family

Repositories that we use with this robot:

     REAL_interbotix_sdk

     REAL_interbotix_udp_to_ros

     interbotix_ros_core

     interbotix_ros_manipulators

Locobot

wx200_front

We have several Locobots in the lab. The documentation for how to get them up and running is here

Repositories that we use with this robot:

     interbotix_ros_rovers

     This is a fork of the original repository. We use this repo to control the locobots.

Stella

Screenshot from 2023-09-07 15-14-24 We have one Stella quadruped from ahead.io in the lab. The robot can be controlled to execute simple commands via a joystick. For more low level control of the robot, we are waiting for control software for the robot, it is currently still in development.

Repositories that we use with this robot:

     acreature-server

     This is the external repository where the code to control the Stella is being developed. It contains the server software which should run onboard the robot as well as python examples which can be run on a remote computer.

Pupper

pupper-hero (1)

We have built one pupper from the Stanford pupper project and have all of the parts for a second build.

Repositories that we use with this robot:

     puppersim

     This repo was forked from the group at Stanford that developed the Pupper project, it includes code for the Pupper simulation and code for training and running policies. A project called 'reacher' is included, it simulates just one of the legs of the pupper mounted on a plate and is used for some of the training/policy playback examples. For more information, check out the course in the link provided above.

Sensors

     open3d-realsense

RL packages

    DeepRLInTheWorld

Training toolkits

     robo-gym

     robo-gym-robot-servers

     safety-gym

     safety-gymnasium

RL algorithm repositories

     cleanrl

================================================================================

Projects

Robo zoo

     REAL_robo_zoo

Pupper fetch

     pupperfetch

iv_rl

     iv_rl

     iv-rl-experiments

R2D2

     R2D2

     fairo

LTVN

     ltvn

     ltvn_old

================================================================================

Software development practices

In an effort to enable better software development practices in the lab, we have created some rules that all students should follow when contributing to our group's github organisation. Practicing these skills are very helpful and will be valuable in getting a job after graduate school.

Contribution guidelines

Shared repositories that need to be more stable:

Students will not be able to make any kind of commits directly to the main branch of these repositories. To contribute to these repositories, students should:

  • Create a new branch with a descriptive name
  • Commit changes to this branch
  • Create a pull request (PR) and have someone from the lab review the PR before merging to main.

Repositories that are less critical:

  • If you are creating a new repository, the name should be descriptive and I would advise to add REAL_ to the start to help us differentiate between our repos and forked repos.
  • Commits should be descriptive so that if required, changes can be more easily tracked.
  • Keep changes in new branches so that your main branch is stable. Merge to main once tested.

================================================================================

Useful tools

About

Information about our lab, the repositories that we use and how we work.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published