Difference between revisions of "Category:Hamster"
Line 115: | Line 115: | ||
1. [http://git.cogni.io:8001/hamster/hamster_mapping_controller mapping_controller] | 1. [http://git.cogni.io:8001/hamster/hamster_mapping_controller mapping_controller] | ||
+ | |||
2. [http://git.cogni.io:8001/hamster/hamster_launch.git hamster_launch] | 2. [http://git.cogni.io:8001/hamster/hamster_launch.git hamster_launch] | ||
+ | |||
3. [http://git.cogni.io:8001/hamster/raspicam.git raspicam] | 3. [http://git.cogni.io:8001/hamster/raspicam.git raspicam] | ||
+ | |||
4. [http://git.cogni.io:8001/hamster/hamster_driver.git hamster_driver] | 4. [http://git.cogni.io:8001/hamster/hamster_driver.git hamster_driver] | ||
+ | |||
5. [http://git.cogni.io:8001/hamster/hamster_rplidar.git hamster_rplidar] | 5. [http://git.cogni.io:8001/hamster/hamster_rplidar.git hamster_rplidar] | ||
+ | |||
6. [http://git.cogni.io:8001/hamster/hamster_wandering.git hamster_wandering] | 6. [http://git.cogni.io:8001/hamster/hamster_wandering.git hamster_wandering] | ||
+ | |||
7. [http://git.cogni.io:8001/hamster/hamster_navigation.git hamster_navigation] | 7. [http://git.cogni.io:8001/hamster/hamster_navigation.git hamster_navigation] | ||
− | 8. [http://git.cogni.io:8001/ | + | |
− | 9. [http://git.cogni.io:8001/ | + | 8. [http://git.cogni.io:8001/hamster/tf_geometry.git tf_geometry] |
− | 10. [http://git.cogni.io:8001/ | + | |
+ | 9. [http://git.cogni.io:8001/hamster/hamster_rplidar.git hamster_rplidar] | ||
+ | |||
+ | 10. [http://git.cogni.io:8001/hamster/laser_noise_filter.git laser_noise_filter] | ||
+ | |||
11. [https://github.com/ros-drivers/nmea_msgs.git nmea_msgs] | 11. [https://github.com/ros-drivers/nmea_msgs.git nmea_msgs] | ||
+ | |||
12. [https://github.com/ros-drivers/nmea_navsat_driver nmea_navsat_driver] | 12. [https://github.com/ros-drivers/nmea_navsat_driver nmea_navsat_driver] | ||
− | 13. [http://git.cogni.io:8001/ | + | |
− | 14. [http://git.cogni.io:8001/ | + | 13. [http://git.cogni.io:8001/hamster/cognialg_cpp.git hamster_api/cognialg_cpp] |
− | 15. [http://git.cogni.io:8001/ | + | |
+ | 14. [http://git.cogni.io:8001/hamster/hamster_api_common_cpp.git hamster_api/hamster_api_common_cpp] | ||
+ | |||
+ | 15. [http://git.cogni.io:8001/hamster/hamster_api_server_cpp.git hamster_api/hamster_api_server_cpp] |
Revision as of 15:49, 30 March 2017
Contents
Hamster system
Robot's components
Each robots have 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 connected to the slave computer directly via ethernet cable.
Slave - Second computer, used primarily for slam/localization algorithms, 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 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.
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
- Password = hamster
Master:
- IP: 10.0.2.n/192.168.1.n
Slave:
- IP: 192.168.n.2
n - stands for agent id, e.g agent1 will have 10.0.2.1/192.168.1.1
Low level controller
Description
Arduino based board 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 the code on Ardiuno
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
Packages:
2. map_server
4. (Optional) mrm_control_panel
Master
Description:
Majority of hardware is connected to the master pc, it also acts as network gateway for slave
Hardware
- WiFi
- Low level controller (via UART)
- LiDar (USB)
- Ethernet (to slave)
Packages
3. raspicam
8. tf_geometry
11. nmea_msgs
14. hamster_api/hamster_api_common_cpp
15. hamster_api/hamster_api_server_cpp
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.