MMP MPI

Network Setup

_images/rp_banner.webp

A WLAN router is installed on Ridgeback and has a network address in 192.168.131.* range. As Clearpath is also on range 192.168.131.* for this reason router is also set on the same network. SSID of the Wifi network is MBS - MAXPLANCK - RP and the password is mybotshop2022!.

The ip address of the router is 192.168.131.100 (password for the router network is also mybotshop2022). By connecting to the Wifi network one can access Ridgeback on ip address 192.168.131.1. Moreover if a static connection is desired than setting for the host PC in the same network will also work. For example by setting 192.168.131.51 in the ip and 255.255.255.0 in netmask for the static connection will connect to the Ridgeback network as well. To SSH into Ridgeback run the following command:

ssh administrator@192.168.131.1

The password for the robot is clearpath.

Network tables

All the devices on the robot are network enabled. Table [robot_network] outlines all the devices and their network addresses.

Ridgeback network devices

Device

Network Address

Ridgeback

192.168.131.1

Ridgeback MCU

192.168.131.2

Front Lidar

192.168.131.20

Rear Lidar

192.168.131.21

Panda arm

192.168.131.22

Ouster

192.168.131.23

Router

192.168.131.100

Heavy Duty Lift

lift

Starting the Lift

The sensors node is one of the most important node as it controls the communication with three control boards.

rosrun mbs_rp_lift sensors

The node offers the following functionalities for the corresponding boards:

  1. Arm power control: board offers rosservice set_arm_power, a call to this service would switch on/off the Panda arm. Please keep in mind if the arm is switched on and the node is turned down, this will switch off the arm as well.

  2. Soft switches control: board publishes the status of soft switches on topic soft_switches_status. The topic is subscribed by the driver node and the status is used for the lift control.

  3. Lift encoder: The external rope encoders status is published on lift_joint_states topic.

For convenience to launch both lift_utils and driver node, the following launch file can be run:

roslaunch mbs_rp_lift rp_lift.launch

Attention

In case of some failure and the soft switches are bypassed. Hard switches will cut the power connection to the lift. The normal driver will stop working when hard switches are in failure state. So to bypass all safety checks of driver node, manual control node needs to be used.

Hard Switch Override

The manual_control ros node is used to override the hardswitches. With this node brakes needs to be release and applied manually. Additionally, it sends the movements command accordingly. Depending upon which switches are pressed all the information on how to get out of failure state is printed in the console.

To release the brakes:

rosservice call /apply_brake 'data: False'

To apply the brakes:

rosservice call /apply_brake 'data: True'

Lift Velocity

The driver node is the main control node to move the lift:

rosrun rp_lift driver

It offers a ROS service to move the lift up and down.

To move the lift up:

rosservice call /set_lift_velocity 'data: 2047'

To move the lift down:

rosservice call /set_lift_velocity 'data: -2047'

Positive values are to move the lift upwards and negative to move downwards. The driver take a value between -2047 and 2047.

Important

These values are micro-steps not meters per second as offered by the motor driver for the lift. The driver checks the status of soft and hard switches all the time and provides corresponding control and advice for each state.

Safety-Controller

DC-AC Converter

Panda

The Panda is connected to a DC-AC converter which powers it from the external battery. Specific features of it are:

  1. Conversions of 24V DC - 230V AC

  2. User can supply power to the arm asl well as cut off power to the arm

  3. Safety feature based on the Bender Isometer

  4. LED status of the converter on top of the Ridgeback

  5. Power cut-off in emergency situation

Bender Isometer

Panda
  1. Safety Check on Startup

  2. Checking internal resistance

  3. Pushing Test-Button

  4. No change in resistace was recognized

  5. Power will be supplied

Note

More information on the Bender Isometer.

LED Indicator

Panda
  • Green: 24V DC was supplied to Converter

  • Yellow: A failure has happened, operator must stop working with the robot, and must check for a broken cable etc.

  • Red: Power was cut off

MMP Viz

Important

This is applicable to the MMP Ridgeback Panda v1.2 (released prior to 2023).

This mmp_viz package is a configuration package used for visualizations in RVIZ.

To view the URDF model of the robot:

roslaunch rp_viz view_model.launch
_images/mmp_viz_view_model.webp

Ridgeback UR5E Rviz

To view the live sensor data from the robot:

roslaunch rp_viz view_robot.launch
_images/mmp_ru_viz.gif

Rviz with Ridgeback’s whole body control demo

MMP Startup

Important

This is applicable to the MMP Ridgeback Panda v1.2 (released prior to 2023).

The mbs_rp_startup package manages the robot startup files. Ridgeback needs ROS to be running at startup. Ridgeback driver needs to run at startup which communicates between the robot and its MCU which is on network address 192.168.131.2.

Warning

Make sure none of your devices are having 192.168.131.2 ip address this will crash the node and the robot will not function properly.

This package is dependent upon roswiki robot_upstart which converts roslaunch files to systemd service job in Ubuntu. This job runs at the startup of the robot. The one responsible for Ridgeback is mbs_ridgeback. The status of this service can be checked by:

sudo service mbs_rp status

To change the setup files at startup of the robot include/remove nodes from launch/mbs_rp_system.launch. This is the file which is launched all the time.

To update this launch file at the robot startup, run:

rosrun rp_startup startup_installer.py

Attention

This command will remove the previous job and install a new one.

Note

Do not edit the files manually to systemd setup files or launch files (it won’t work), always run the above mentioned command to reflect the changes.

This packages also includes UDEV rules for different devices on the robot. They are already set up but for a fresh installation they can be run by:

rosrun rp_startup create_udev_rules.sh

The packages have some configuration files for the robot utilities. For example config/description.bash is responsble set up environment variables for URDF in order to include parts on the go. Similarly config/setup.bash is responsible to setup environment variables for Ridgeback drivers. Lastly config/can-udp-bridge* are responsible for setting up can bus and is used in startup script of the robot.

MMP Manipulation

Important

This is applicable to the MMP Ridgeback Panda v1.2 (released prior to 2023).

Franka-Emika-Panda

Panda

Note

As the MYBOTSHOP Ridgeback Panda is a multi-robot system consisting of Franka Emika’s Panda, hence, the guide provided by Franka Emika for Franka Emika Guide is applicable.

MBS Panda

This mbs_rp_franka package is responsible for to launch Franka control software from franka control package. Before using the arm it needs to switched on by the rosrun rp_lift sensors.

To switch on the arm:

rosservice call /set_arm_power 'data: True'

Note

The arm is switched on indicated by solid yellow lights on the robot.

To switch off the arm:

rosservice call /set_arm_power 'data: False'

Panda Setup

Once arm is powered on, one can access the Panda desk at 192.168.131.22. The desk will prompt for user name and password which is:

User: admin

Password: panda_admin

Tip

Getting started with Panda Desk

First the arm joints should be unlocked as shown.

Panda

After the arm’s joints are unlocked, FCI needs to be enabled so that the arm exposes its functionalities to ROS control i.e. to be externally controlled.

Panda

Finally, the push button connected to X2 port of the robot needs to be pressed as well.

MMP Navigation

Important

This is applicable to the MMP Ridgeback Panda v1.2 (released prior to 2023).

RIDGEBACK NAVIGATION

ridgeback_navigation

Note

As the MYBOTSHOP Ridgeback Panda is a multi-robot system consisting of Clearpath’s Ridgeback, hence, the guide provided by Clearpath for Ridgeback Navigation is applicable. For ease of view the guide is available below as well.

Below are the example launch files for three different configurations for navigating Ridgeback:

If you’re working with a real Ridgeback, it’s suggested to connect via SSH and launch the roswiki ridgeback_navigation launchfiles from on board the robot. You’ll need to have bidirectional communication with the robot’s roscore in order to launch roswiki rviz on your workstation.

Making a Map

In this demonstration, Ridgeback generates a map using gmapping. Begin by launch the gmapping launch file on the robot:

roslaunch ridgeback_navigation gmapping_demo.launch

And on your workstation, launch rviz with the suggested configuration:

roslaunch ridgeback_viz view_robot.launch config:=gmapping
Rviz with Ridgeback's gmapping configuration.

You must slowly drive Ridgeback around to build the map. As obstacles come into view of the laser scanner, they will be added to the map, which is shown in rviz. You can either drive manually using the interactive markers, or semi-autonomously by sending navigation goals (as above).

When you’re satisfied, you can save the produced map using map_saver:

rosrun map_server map_saver -f mymap

This will create a mymap.yaml and mymap.pgm file in your current directory.

MMP Lidars

Important

This is applicable to the MMP Ridgeback Panda v1.2 (released prior to 2023).

lift

MBS Ouster Package

The mbs_rp_ouster package cleanly manage the nodes/data/logs of the ouster sensor. Ouster is mounted on the top and provides 3d pointcloud of surroundings. So this packages provides two types of data:

3D pointcould: is provided on /points topic.

lift

2D pointcloud: is the down-sampled data of the pointcloud topic and is provided on /top/scan` topic.

lift