Skip to content

Current State

Cédric Godin edited this page Dec 18, 2019 · 8 revisions

This page gives information on where SecurBot is currently in date of the 17th of December 2019

ROS packages

Implemented features

  • Robot can map its environment.
  • Robot can navigate autonomously and locate itself in its map.
  • A electron application has been created and act as an interface between the server and ROS.
  • Using environment variables, the launch files are able to determine which config files to use to start ROS on each robot.
  • Teleoperation node allow operation of robot through web interface,
  • Patrol execution node allow execution of a list of waypoint coming from the web interface.
  • Camera and map can be acquired on the robot and sent to operator through electron and easyrtc server.
  • Dock package allow autonomous docking at recharge station using Apriltag.
  • HBBA is used to arbitrate between patrol, teleop, goto and dock.
  • Darknet / Yolo based person detection. Detection are sent to the server for logging.
  • Planned patrol are retrieved from the server and executed.

Frontend

Implemented features

Nav bar

  • The nav bar allow page navigation and connection to robots.
  • The drop-down connection menu shows a list of the robots present in the room and allow connection to one of them by clicking on the desired robot in the list.
  • Tags show the state of the connection, with a spinner indicating the connection is being established.
  • The interface only support one current connection to a robot, to disconnect from the current robot click on it in the list.

Telop page

  • Connecting to a robot will request its video stream and set them in the correct boxes.
  • When connected, the switch next to the joystick becomes enabled allowing the operator to turn on or off the sending of the joystick position for teleoperation.

Patrol Planner Page

  • When connected, the map stream gets set in the video box.
  • Waypoints can only be added in the map if a map stream is available.
  • Unwanted waypoints can be deleted from the list.
  • Waypoints are identifiable.
  • Yaw can be set to the waypoints.
  • Patrol can be send to robot.
  • Waypoints list can be clear.
  • Saved Patrol can be loaded.

Missing features and known bug

Navbar

  • A quick view of robot could be added.
  • Currently, you can't cancel a connection to robot (spinner showing), you have to wait to be connected to the robot to then disconnect or just refresh the page.

Teleop Pages

  • Clicking the small map sends a single waypoint to the robot for it to go.
  • Smoothing of the teleop position values.

Patrol Planner

  • Scheduling of patrol.
  • Specific actions by waypoints.
  • Option to reorganise waypoints in the list.
  • Database for the save and load feature.
  • Readable data in the waypoint list.

Event Page

  • Nothing has been done on it.

Other

  • We currently are not supporting mobile devices with the web pages. The smallest screen we are supporting is 768x576. Every normal display should work without problems.
  • Everything in the UI is done with Vue.js single file components.
  • Some components could be split in multiple smaller one at the cost of having more datas/variables to manage.

Backend

Docker based architecture is provided.

  • Database: MongoDB database is provided to store event along with API.
  • WebRTC: EasyRTC signalling server is provided.

Custom PCBs

Power Board

Two power distribution boards are assembled and proven functional in lab tests. They remain to be installed in the robots.

Battery Board

Two battery boards are assembled and proven functional in lab tests. They remain to be installed in the robots.

Charging station Board

A charging station board is assembled and functional both in lab test and in the charging station. Current design requires a 3.3V signal applied to a set of safety contact to apply power to charge contacts. However, this use is case is not supported by the battery board on the robot.


Mechanical Structure

Mechanical structure reference design is available for TurtleBot and Pioneer. It can be adjusted in SolidWorks for other robot dimensions.