Difference between revisions of "Category:Hamster"
(→Hamster versions) |
|||
(97 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Hamster}} | {{DISPLAYTITLE:Hamster}} | ||
− | <gallery mode="packed-hover"> | + | <gallery widths=200px heights=200px mode="packed-hover"> |
− | File: | + | File:SaritTedx.PNG|frame|300px|Hamster in TEDX |
− | File: | + | File:Intel.png|frame|300px|Hamster with Movidius |
− | File: | + | File:HamsterNatbag.PNG|frame|300px|Ben Gurion Airport |
</gallery> | </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 | ||
+ | |||
+ | 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
Contents
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
- Ben Gurion University
- Bar Ilan University
- College of Management
- Holon Institute of technology
- Mitsubishi Research lab
- Intel Innovation Lab
Hamster research papers
- Maintaining Communication in Multi-Robot Tree Coverage
- Automated Agents for Advice Provision
- Distributed Accurate Formation Control Under Uncertainty
- Intelligent Agent Supporting Human-Multi-Robot Team Collaboration
- Control Architecture Design for Autonomous Vehicles
- Uncertain Local Leader Selection In Distributed Formation
- Multiple Robots For Multiple Missions: Architecture for Complex Collaboration
- Research lab landing page
- Motion Planning of Autonomous Road Vehicles by Particle Filtering: Implementation and Validation
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
- Calibrate IMU IMU
- Calibrate Steering Steering
- Config Network Network
- Power and Battery Power
- Commands / Modes 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
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
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.
Pages in category "Hamster"
The following 14 pages are in this category, out of 14 total.