Ezbot Robot

Ezbot is a mobile robot built on top of a stater kit of ez-wheel. The kit include an on-board computer runing a ROS2 control architecture.

Picture of a Ezbot

A ezbot is automaticaly configured on IOT IMT Nord Europe WiFi with a fixed IP: 10.89.5.XX ; or to the mobi-iot WiFi.

Get Started (Wirred)

Connect the robot with RJ45 cable and turn-on the robot, the control software is started in a docker.

You have to configure a fixed ip-adress on your conputer :

Ip: 192.168.50.1 : 255.255.255.0 : 192.168.50.1

The robot itself is on 192.168.50.2. Then configure the appropriate ROS_DOMAIN_ID and you are good to go.

Enter in the robot docker

ssh swd_sk@192.168.50.2
docker exec -it -u swd_sk ros-humble bash
docker restart ros-humble

At this point the robot is ready to be controled.

The operator from its computer station need to identify and configure the Pibot domain identifier (Domain_ID) and then start a teleop for instance.

Connecting a PC operator

Pibot is automaticly connected to IOT IMT Nord Europe WiFi (be sure that your computer is on the same network) with a Domain_ID matching its Pibot number. For instance pibot22 is configured with 22.

On your ROS terminal:

export ROS_DOMAIN_ID=22
ros2 node list
ros2 topic list 

At this point, you can verify that laser is publishing data into the /scan topic and that multiplexer node is started. The multiplexer from basic_node package, listen to several command sources to select the most appropriate one.

So you can take control with a classical teleop node connected to the multi/cmd_teleop topic, start slam capability etc...

ros2 run teleop_twist_keyboard teleop_twist_keyboard cmd_vel:=/multi/cmd_teleop
ros2 launch slam_toolbox online_sync_launch.py
...

To notice that your autonomous control should send velocity messages to multi/cmd_nav (/multi/cmd_teleop is reserved to human teleoperation).

Classic Configuration

From mb6_space directory, it is possible to configure once for all the ROS_DOMAIN_ID by editing the config.toml and sourcing ./bin/run-commands.bash

cd /path/to/mb6_space
gedit config.toml
source ./bin/run-commands.bash

Each new terminal will be open on the same configuration. You can then, connect your __pibotXX_ with rviz2.

rviz2 rviz-conf/simple-pibot.rviz

you can also try a SLAM:

# Terminal 1
ros2 launch slam_toolbox online_sync_launch.py

# Terminal 2
rviz2 rviz-conf/pibot-with-map.rviz

Get Started (hard linked)

It is possible to login with ssh on a pibotXX with bot user (administrator) or ros account.

Lancer un une configuration ROS

nohup.

Pibot Configuration

Pibot relies on several ros packages:

  • [mb6-space] on the pibot branch for install and service configuration.
  • pkg-tbot for Kobuki + laser drivers and configurations.
  • pkg-basic to allow basic/simple controls and tools.

Shutdown Check List

  1. Connectect the Pibot with SSH.
  2. sudo poweroff ou sudo shutdown -h now.
  3. Wait to be sure the shutdown process is terminated.
  4. Switch-off the robot.
  5. Plug the robot to permit its recharge.