Difference between revisions of "Category:Hamster"

From cogniteam
Jump to: navigation, search
(Hamster versions)
 
(117 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:HamsterV3.png|200px|thumb|HamsterV3]]
+
{{DISPLAYTITLE:Hamster}}
[[File:20161214 174726.jpg|200px|thumb|HamsterV5]]
+
 
 +
<gallery widths=200px heights=200px mode="packed-hover">
 +
File:SaritTedx.PNG|frame|300px|Hamster in TEDX
 +
File:Intel.png|frame|300px|Hamster with Movidius
 +
File:HamsterNatbag.PNG|frame|300px|Ben Gurion Airport
 +
</gallery>
 +
 
 +
 
 +
==Quick start==
 +
 
 +
1. Install hamster server - multi-master configuration https://wiki.cogni.io/index.php/HamsterServer
 +
 
 +
(if your robot was shipped before January 2018 - single-master configuration)
 +
 
 +
2. Turn on robot
 +
 
 +
3. Control your agents in hamster.perspective -rqt with mouse, joystick and keyboard:
 +
 
 +
Select window with agent number:
 +
 
 +
agents 1-10 switching with 1 ... 0 keyboard buttons
  
 +
agents 11-20 switching with shift + 1 ... shift + 0
  
{{DISPLAYTITLE:Hamster}}
+
4. See your robot in hamster.rviz
 +
 
 +
For agents 3-20 change agent number in topic names
 +
 
 +
==Hamster system==
 +
 
 +
=== Hamster versions ===
 +
* [[:Category:HamsterV4|HamsterV4]]
 +
* [[:Category:HamsterV5|HamsterV5]]
 +
* [[:Category:HamsterV6|HamsterV6]]
 +
* [[:Category:HamsterV7|HamsterV7]]
 +
* [[:Category:HamsterV7I|HamsterV7 Intel]]
 +
* [[:Category:HamsterV7N|HamsterV7 Nvidia]]
 +
* [[:Category:HamsterProKit|Hamster Pro Kit]]
 +
* [[:Category:HamsterV8|Hamster V8]]
 +
 
 +
=== Hamster research teams ===
 +
The Hamster is being used as a research platform at various institutes
 +
* [https://wiki.cogni.io/index.php/HamsterResearchBGU Ben Gurion University]
 +
* [https://wiki.cogni.io/index.php/HamsterResearchBIU Bar Ilan University ]
 +
* [https://wiki.cogni.io/index.php/HamsterResearchColman College of Management ]
 +
* [https://wiki.cogni.io/index.php/HamsterResearchHIT Holon Institute of technology ]
 +
* [https://wiki.cogni.io/index.php/MERL Mitsubishi Research lab ]
 +
* [https://wiki.cogni.io/index.php/Intel Intel Innovation Lab ]
 +
 
 +
=== Hamster research papers ===
 +
* [https://u.cs.biu.ac.il/~sarit/data/articles/morIjcai17_2950.pdf Maintaining Communication in Multi-Robot Tree Coverage]
 +
* [https://www.aaai.org/ocs/index.php/IJCAI/IJCAI15/paper/viewFile/10787/11189 Automated Agents for Advice Provision]
 +
* [http://ifaamas.org/Proceedings/aamas2018/pdfs/p2213.pdf Distributed Accurate Formation Control Under Uncertainty]
 +
* [https://www.aaai.org/ocs/index.php/IJCAI/IJCAI15/paper/viewFile/10808/10927 Intelligent Agent Supporting Human-Multi-Robot Team Collaboration]
 +
* [http://www.merl.com/publications/docs/TR2018-125.pdf Control Architecture Design for Autonomous Vehicles]
 +
* [http://u.cs.biu.ac.il/~agmon/RovinskyIROS18.pdf Uncertain Local Leader Selection In Distributed Formation]
 +
* [http://u.cs.biu.ac.il/~agmon/MRMM/source/ICRA17MRMM1.pdf Multiple Robots For Multiple Missions: Architecture for Complex Collaboration]
 +
* [http://u.cs.biu.ac.il/~agmon/MRMM/ Research lab landing page]
 +
* [http://www.merl.com/publications/docs/TR2019-062.pdf Motion Planning of Autonomous Road Vehicles by Particle Filtering: Implementation and Validation]
 +
 
 +
=== Hamster models ===
 +
<gallery widths=200px heights=200px mode="packed-hover">
 +
File:HamsterV3.png|frame|300px|HamsterV3
 +
File:HamsterV4roof.jpg|frame|300px|HamsterV4
 +
File:HamsterV5.png|frame|300px|HamsterV5
 +
</gallery>
 +
 
 +
===Robot's components===
 +
Each robots has two raspberry pi computers on board - master and slave, and a low level controller.
 +
 
 +
Master - Has a wifi connection to the hamster network, provides network access to slave. It also connects to the slave computer directly via ethernet cable.
 +
 
 +
Slave - Second computer, used primarily for GPS data broadcasting, connected to hamster network via master.
 +
 
 +
Low level controller - Arduino based board responsible for interaction with hardware components.
 +
 
 +
===Operation modes===
 +
Hamster robot is capable of running mapping, localization or outdoor localization (using GPS and IMU).
 +
 
 +
<strong>Switching between modes</strong>:
 +
 
 +
In order to change the operation mode publish <strong>std_msgs/String message</strong> to <code>/mapping_command</code> topic, containing on e of the following strings:
 +
* slam
 +
* localization
 +
* outdoor
 +
 
 +
Example:
 +
<syntaxhighlight lang="bash" line='line'>
 +
rostopic pub /mapping_command std_msgs/String "data: 'slam'"
 +
</syntaxhighlight>
 +
<syntaxhighlight lang="bash" line='line'>
 +
rostopic pub /mapping_command std_msgs/String "data: 'localization'"
 +
</syntaxhighlight>
 +
 
 +
When switching from mapping to localization mode, the map is saved by the server, and loaded for localization algorithm.
 +
 
 +
All maps saved inside <strong>~/hamster_ws/src/hamster_server_launch/maps$</strong>
 +
 
 +
==Hamster calibrations and configurations==
 +
* Calibrate IMU [https://wiki.cogni.io/index.php/ConfigIMU IMU]
 +
* Calibrate Steering [https://wiki.cogni.io/index.php/ConfigSteering Steering]
 +
* Config Network [https://wiki.cogni.io/index.php/ConfigNetwork Network]
 +
* Power and Battery [https://wiki.cogni.io/index.php/PowerAndBattery Power]
 +
* Commands / Modes [https://wiki.cogni.io/index.php/HamsterCommands Modes]
 +
 
 +
==Hamster F.A.Q ==
 +
* Q: What is the Hamster maximum speed
 +
* A: 1.2m/s
 +
* Q: What is the Hamster minimum speed
 +
* A: 0.1 m/s
 +
* Q: What is the Hamster turning deg sensitivity
 +
* A: ~1 deg
 +
* Q: My Hamster turns in place in a suspicious manner. Why is it?
 +
* A: We call this the Austin Powers turn. This is since the Hamster uses hackerman steering geometry. With 0 linar force and some angular force it results in
 +
[[File:Austin.gif]]
 +
 
 +
==Hamster wireless network==
 +
 
 +
===Router===
 +
* SSID 2.4Ghz: hamster_net
 +
* SSID 5.0Ghz: hamster_net5
 +
* Password: hamsterHAMSTER
 +
* Network: 10.0.2.0
 +
* Netmask: 255.255.255.0
 +
* Gateway: 10.0.2.138
 +
 
 +
===Hamster===
 +
 
 +
* User = pi / hamster (on up squared)
 +
* Password = hamster
 +
 
 +
<strong>Master:</strong>
 +
* IP: 10.0.2.n/192.168.n.1
 +
<strong>Slave:</strong>
 +
* IP: 192.168.n.2
 +
 
 +
n - stands for agent id, e.g agent7 will have 10.0.2.7/192.168.7.1
 +
 
 +
==Low level controller==
 +
[[File:Hamster_LLC_connection_scheme.jpg|300px|thumb|right|Hamster LLC connection scheme (for V4 and V5)]]
 +
Description
 +
 
 +
The LLC board is responsible for interaction with hardware components such as:
 +
* Motors (drive and steering)
 +
* Encoders (mainly used for PID controller)
 +
* IMU
 +
* Battery monitoring
 +
* Cut-off (shuts down the platform when battery goes below certain voltage)
 +
 
 +
The LLC is connected to master computer via UART (serial)
 +
 
 +
A built-in switch is also provided for the possibility of loading new firmware (voids warranty, can be provided per request)
 +
 
 +
==Server==
 +
<strong>Description:</strong>
 +
 
 +
Usually runs ROS master services, it also loads and publishes the map for localization
 +
 
 +
Note: hamster robot may be configured to use local ROS master to avoid using dedicated server for this purpose
 +
 
 +
Project:
 +
 
 +
*[https://github.com/cogniteam/hamster_server]
 +
 
 +
==Master==
 +
 
 +
<strong>Description:</strong>
 +
 
 +
Majority of hardware is connected to the master pc, it also acts as network gateway for slave
 +
 
 +
===Hardware===
 +
 
 +
* WiFi ew-7811uac EDIMAX AC600
 +
* Camera raspberry Pi module v2
 +
* LiDar A2M8 (USB)
 +
* IMU AltIMU-10 v5
 +
* Ethernet (to slave)
 +
* Low level controller (via UART)
 +
 
 +
==Slave==
 +
Description
 +
 
 +
GPS data broadcaster
 +
 
 +
===Hardware===
 +
 
 +
* GPS Mouse - GP-808G
 +
* Ethernet (to master)

Latest revision as of 05:33, 26 October 2021



Quick start

1. Install hamster server - multi-master configuration https://wiki.cogni.io/index.php/HamsterServer

(if your robot was shipped before January 2018 - single-master configuration)

2. Turn on robot

3. Control your agents in hamster.perspective -rqt with mouse, joystick and keyboard:

Select window with agent number:

agents 1-10 switching with 1 ... 0 keyboard buttons

agents 11-20 switching with shift + 1 ... shift + 0

4. See your robot in hamster.rviz

For agents 3-20 change agent number in topic names

Hamster system

Hamster versions

Hamster research teams

The Hamster is being used as a research platform at various institutes

Hamster research papers

Hamster models

Robot's components

Each robots has two raspberry pi computers on board - master and slave, and a low level controller.

Master - Has a wifi connection to the hamster network, provides network access to slave. It also connects to the slave computer directly via ethernet cable.

Slave - Second computer, used primarily for GPS data broadcasting, connected to hamster network via master.

Low level controller - Arduino based board responsible for interaction with hardware components.

Operation modes

Hamster robot is capable of running mapping, localization or outdoor localization (using GPS and IMU).

Switching between modes:

In order to change the operation mode publish std_msgs/String message to /mapping_command topic, containing on e of the following strings:

  • slam
  • localization
  • outdoor

Example: <syntaxhighlight lang="bash" line='line'> rostopic pub /mapping_command std_msgs/String "data: 'slam'" </syntaxhighlight> <syntaxhighlight lang="bash" line='line'> rostopic pub /mapping_command std_msgs/String "data: 'localization'" </syntaxhighlight>

When switching from mapping to localization mode, the map is saved by the server, and loaded for localization algorithm.

All maps saved inside ~/hamster_ws/src/hamster_server_launch/maps$

Hamster calibrations and configurations

Hamster F.A.Q

  • Q: What is the Hamster maximum speed
  • A: 1.2m/s
  • Q: What is the Hamster minimum speed
  • A: 0.1 m/s
  • Q: What is the Hamster turning deg sensitivity
  • A: ~1 deg
  • Q: My Hamster turns in place in a suspicious manner. Why is it?
  • A: We call this the Austin Powers turn. This is since the Hamster uses hackerman steering geometry. With 0 linar force and some angular force it results in

Austin.gif

Hamster wireless network

Router

  • SSID 2.4Ghz: hamster_net
  • SSID 5.0Ghz: hamster_net5
  • Password: hamsterHAMSTER
  • Network: 10.0.2.0
  • Netmask: 255.255.255.0
  • Gateway: 10.0.2.138

Hamster

  • User = pi / hamster (on up squared)
  • Password = hamster

Master:

  • IP: 10.0.2.n/192.168.n.1

Slave:

  • IP: 192.168.n.2

n - stands for agent id, e.g agent7 will have 10.0.2.7/192.168.7.1

Low level controller

Hamster LLC connection scheme (for V4 and V5)

Description

The LLC board is responsible for interaction with hardware components such as:

  • Motors (drive and steering)
  • Encoders (mainly used for PID controller)
  • IMU
  • Battery monitoring
  • Cut-off (shuts down the platform when battery goes below certain voltage)

The LLC is connected to master computer via UART (serial)

A built-in switch is also provided for the possibility of loading new firmware (voids warranty, can be provided per request)

Server

Description:

Usually runs ROS master services, it also loads and publishes the map for localization

Note: hamster robot may be configured to use local ROS master to avoid using dedicated server for this purpose

Project:

Master

Description:

Majority of hardware is connected to the master pc, it also acts as network gateway for slave

Hardware

  • WiFi ew-7811uac EDIMAX AC600
  • Camera raspberry Pi module v2
  • LiDar A2M8 (USB)
  • IMU AltIMU-10 v5
  • Ethernet (to slave)
  • Low level controller (via UART)

Slave

Description

GPS data broadcaster

Hardware

  • GPS Mouse - GP-808G
  • Ethernet (to master)

Subcategories

This category has the following 5 subcategories, out of 5 total.